AVR - "Atmega SID" på Atmega168, inget ljud
AVR - "Atmega SID" på Atmega168, inget ljud
Jag har slängt in http://roboterclub-freiburg.de/atmega_s ... gaSID.html på en atmega168, genom att kombinera sound.c och makefilen från 1.2-versionen och själva koden för chippet från 1.8-versionen (1.2 stödjer inte Atmega168). Detta kompilerar fint och koden körs på atmegan, eftersom en lysdiod blinkar 10 gånger när den startar upp, vilket kan hittas i koden. Den kräver en kristall på 16 Mhz, när jag testar med en på 4 Mhz hörs ett högfrekvent ljud, jag gissar att det beror på detta:
The actual amplitude value ist ouput at PIN15 as 8Bit PWM value. The
sampling frequency is ~31Khz, therefore the high frequency noise
of the PWM should not be audible to normal people.
Vilket borde innebära att ljud-outputen faktiskt fungerar bara att den inte har något att spela? Behöver man göra något mer för att "länka ihop" sound.c och chAtmega8SID.c?
Jag har använt avrdude-kommandona från denna sida: http://www.arduino.cc/playground/Main/SID-emulatorCode
Här är min kod som kompileras med make: http://tux.servegame.org/~erikhk/tmp/sid.rar
Vad är felet?
The actual amplitude value ist ouput at PIN15 as 8Bit PWM value. The
sampling frequency is ~31Khz, therefore the high frequency noise
of the PWM should not be audible to normal people.
Vilket borde innebära att ljud-outputen faktiskt fungerar bara att den inte har något att spela? Behöver man göra något mer för att "länka ihop" sound.c och chAtmega8SID.c?
Jag har använt avrdude-kommandona från denna sida: http://www.arduino.cc/playground/Main/SID-emulatorCode
Här är min kod som kompileras med make: http://tux.servegame.org/~erikhk/tmp/sid.rar
Vad är felet?
- Swech
- EF Sponsor
- Inlägg: 4736
- Blev medlem: 6 november 2006, 21:43:35
- Ort: Munkedal, Sverige (Sweden)
- Kontakt:
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Du får nog utveckla frågan lite grand innan den blir sågad längs med fotknölarna
Vad är felet?
Om den inte har något att spela upp så blir det väl inget ljud?
Swech

Vad är felet?
Om den inte har något att spela upp så blir det väl inget ljud?
Swech
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Varför inte köra med en 16 MHz-kristall som det står att det ska vara?
Har du oscilloskop? Det kanske kan hjälpa dig i felsökandet istället för enbart högtalaren.
Har du oscilloskop? Det kanske kan hjälpa dig i felsökandet istället för enbart högtalaren.
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Swech: Det kommer inget ljud, trots att jag har använt sound.c-filen som, vad jag förstått det som, spelar upp lite demoljud genom att skriva till olika register.
cykze: Det har jag testat, då hörs ingenting, men lysdioderna blinkar (självklart) snabbare. Har tyvärr inget oscilloskop, men som sagt så sänds det iallafall ut högfrekventa ljud som inte hörs med rätt kristall.
cykze: Det har jag testat, då hörs ingenting, men lysdioderna blinkar (självklart) snabbare. Har tyvärr inget oscilloskop, men som sagt så sänds det iallafall ut högfrekventa ljud som inte hörs med rätt kristall.
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Någonstans i koden finns förmodligen ATmegans frekvens noterad (förhoppningsvis inte hårdkodat).
Att du antingen inte hör något alls (frekvens över högtalarens/dina örons förmåga?) eller högfrekventa ljud tyder på någon sorts felinställning, kanske spelas dina samples upp med för hög frekvens...
Att du antingen inte hör något alls (frekvens över högtalarens/dina örons förmåga?) eller högfrekventa ljud tyder på någon sorts felinställning, kanske spelas dina samples upp med för hög frekvens...
Re: AVR - "Atmega SID" på Atmega168, inget ljud
ahlsten: Typ såhär?
// CPU clock 16MHz
#define F_CPU 16000000
Men i koden står ju, som jag skrev, att det ska skapas högfrekventa ljud som bieffekt av något. Så det är väl snarare ett bevis på att det faktiskt fungerar att "outputa" till högtalaren, eller?
// CPU clock 16MHz
#define F_CPU 16000000
Men i koden står ju, som jag skrev, att det ska skapas högfrekventa ljud som bieffekt av något. Så det är väl snarare ett bevis på att det faktiskt fungerar att "outputa" till högtalaren, eller?
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Definiera om frekvensen till dubbla, eller 4-dubbla. Och få ner frekvensen samt kolla utgången.
Ev kan du göra ett mini oscilloskop av ytterligare en MCU + LCD-display. Det är trots allt ljudfrekvenser det är frågan om. Och ATmega klarar ju 76,9 ksps..
Ev kan du göra ett mini oscilloskop av ytterligare en MCU + LCD-display. Det är trots allt ljudfrekvenser det är frågan om. Och ATmega klarar ju 76,9 ksps..
Re: AVR - "Atmega SID" på Atmega168, inget ljud
Jag har kollat på koden nu. Ljudsekvensen ligger i variabeln "sound" i "sound.c". Men den del i "chAtmega8SID.c" som läser variabeln "sound" är bortkommenterad. Så prova att ta bort "/*" och "*/" så att koden faktiskt används.
Re: AVR - "Atmega SID" på Atmega168, inget ljud
cykze: Tack, det funkade! Fattar inte alls varför det viktigaste i koden var bortkommenterat..