Hallo zusammen,
ich bastle ja nebenbei einen MP3-Player. Als Decoder verwende ich einen VS1053 von VLSI. Der IC wird über SPI mit Daten gefüttert. Die Daten kommen von der SD-Karte (na wer hätte das gedacht).
Der VS hat einen DREQ-Pin. Ist dieser Pin low, ist der FiFo vom VS (zu) voll, geht er auf High, kann man mindestens 32 Byte an Daten an den VS senden.
Vom Datenfluss sieht es also dann so aus:
SD-Karte -> MCU -> VS1053.
In meinen Augen ist es suboptimal, weil:
-> Bandbreite zum Lesen der Daten wird verbraten
-> Bandbreite zum Schreiben der Daten wird verbraten
-> wenig Zeit für anderes Zeug, was die MCU noch macht
Deswegen habe ich mir überlegt ob es möglich wäre, die SD-Karte auf den SPI schreiben zu lassen und den CS-Pin vom VS1053 auf low ziehen, damit er diese dann empfängt. Sprich der Atmega würde den SPI nur noch takten, mehr aber nicht.
Würde es so funktionieren oder habe ich mal wieder was durcheinander gebracht?
Grüssle
Heinrich
ich bastle ja nebenbei einen MP3-Player. Als Decoder verwende ich einen VS1053 von VLSI. Der IC wird über SPI mit Daten gefüttert. Die Daten kommen von der SD-Karte (na wer hätte das gedacht).
Der VS hat einen DREQ-Pin. Ist dieser Pin low, ist der FiFo vom VS (zu) voll, geht er auf High, kann man mindestens 32 Byte an Daten an den VS senden.
Vom Datenfluss sieht es also dann so aus:
SD-Karte -> MCU -> VS1053.
In meinen Augen ist es suboptimal, weil:
-> Bandbreite zum Lesen der Daten wird verbraten
-> Bandbreite zum Schreiben der Daten wird verbraten
-> wenig Zeit für anderes Zeug, was die MCU noch macht
Deswegen habe ich mir überlegt ob es möglich wäre, die SD-Karte auf den SPI schreiben zu lassen und den CS-Pin vom VS1053 auf low ziehen, damit er diese dann empfängt. Sprich der Atmega würde den SPI nur noch takten, mehr aber nicht.
Würde es so funktionieren oder habe ich mal wieder was durcheinander gebracht?
Grüssle
Heinrich