AVR - "Atmega SID" på Atmega168, inget ljud

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ErikHK
Inlägg: 27
Blev medlem: 18 november 2009, 02:25:06

AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av ErikHK »

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?
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4702
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av Swech »

Du får nog utveckla frågan lite grand innan den blir sågad längs med fotknölarna :D

Vad är felet?
Om den inte har något att spela upp så blir det väl inget ljud?

Swech
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av cykze »

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.
ErikHK
Inlägg: 27
Blev medlem: 18 november 2009, 02:25:06

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av ErikHK »

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.
Användarvisningsbild
ahlsten
Inlägg: 659
Blev medlem: 12 november 2005, 00:24:14
Ort: Uppsala

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av ahlsten »

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...
ErikHK
Inlägg: 27
Blev medlem: 18 november 2009, 02:25:06

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av ErikHK »

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?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av blueint »

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..
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av cykze »

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.
ErikHK
Inlägg: 27
Blev medlem: 18 november 2009, 02:25:06

Re: AVR - "Atmega SID" på Atmega168, inget ljud

Inlägg av ErikHK »

cykze: Tack, det funkade! Fattar inte alls varför det viktigaste i koden var bortkommenterat..
Skriv svar