Forum: Mikrocontroller und Digitale Elektronik .wav file (pcm) mit pwm ausgeben


von Martin B. (rueste)


Lesenswert?

hallo,
ich lese die Musik datei von einer SD (fat32) aus und der DatenSektor 
(512kbytes) wird in den SRAM vom Atmega8 geladen. Die Musikdatei 
wird komplett ausgelesen (mit UART geprüft)-  meine SD Lib funktioniert 
also.
Ich hab mich natürlich schon eingelesen wie ich nun mit pwm das Lied 
ausgeben kann.
Ich benutze den Timer2 für den Interrupt, damit der nächste Wert aus dem 
Sram geladen und ausgegeben wird. Der Timer1 erzeugt das PWM Signal 
(FastPWM),OCR1A wird durch den Timer0 interrupt geladen. (timer2 als pwm 
signal geht nicht, da der pin = MoSi)
Das Lied hat eine Samplingrate von 11025Hz, 8Bit, Mono

Der Timer2 zählt bis x =2*(freq. vom Quarz) / Prescaler /11025 HZ 
und lösst dann den interrupt aus und zählt von vorne (CTC Mode)
Timer1 ist auf FastPwm 8Bit gestellt, Pin wird auf 0 gesetzt wenn 
Timer  = OCR1A, auf 1 wenn TOP und hat keinen Prescaler.

Das Pwm signal wird noch von einem RC Tiefpass geglättet. die Pwm freq. 
beträgt (Grenzfreq für den tiefpass) =
2*(freq. vom Quarz) /  2^8

Meine Fragen nun. Stimmen meine Informationen? muss die Pwm freq. 
vielleicht eine bestimmte freq. haben? Oder ist es doch enorm wichtig, 
dass ich die Daten Buffer und reibungslos ausgebe?

P.s Der Atmega läuft mit 13,5225Hz (hab hier leider nichts anderes > 
8MHz rumliegen...).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.