Ich überlege seit längerer Zeit schon ob folgendes möglich ist. Kann es im moment leider nicht ausprobieren: Ein mega32 treibt eine SD Karte über Hardware SPI an. Er läd eine RAW Wave datei byteweise von der karte. Im Overflow Interrupt eines Timers wird der Wert TCNT1 = 65535 - (FOSC/64/8000) (8000Hz WAVE Datei) gesetzt. Danach setzte ich weiter im Overflow Interrupt den OC0 auf den byte wert aus der Datei. Mit jedem ausgelösten Interrupt erhöht sich der die byte adresse um 1 d.h. die ganze datei wird am OC0 ausgegeben. meine frage ist nun: Schafft der controller das? Aus der datei lesen und dann an den OC0 weitergeben oder ist er zu langsam, verzerrung o.ä. als folge? Danke.
Der Controller schafft das im Durschnitt, allerdings ist das Byteweise auslesen der Karte relativ langsam. Ob die Karte also schnell genug die Daten liefern kann, vor allem wenn das nächste Byte in einem anderen Sektor liegt, dessen Adresse erst noch berechnet werden, weiß ich nicht. Ich befürchte aber fast nicht. Ein kleiner FIFO Puffer (z.B. mit ein paar 100 Bytes) wäre also sinnvoll.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.