Forum: Mikrocontroller und Digitale Elektronik VS1001 DREQ / SPI


von Christopher S. (schinken)


Lesenswert?

Hi Leute,

ich hab ne Frage zum VS1001...

Ich hab gelesen, das wenn der DREQ auf low ist, will der Decoder Daten 
zum decodieren und zwar solange bis DREQ wieder auf high ist.

So hier die Fragen:

1. Geht der DREQ "rechtzeitig" auf LOW, das man noch gut reagieren kann?
2. Zwischen DREQ geht auf HIGH und DREQ geht wieder auf LOW, liegt da 
genug Zeit dazwischen um noch andere SPI Devices zu versorgen?
3. Von der Geschwindigkeit sollte es hingkommen, das ich direkt von SD 
Karte les, und dann auf den MP3 Decoder schieb, oder?
4. Sollte ich die SD Karte per Software SPI lesen, damit ich direkt von 
einen "SPI-Port" lesen und direkt zum anderen schreiben kann?
5. Wiegroße Datenpakete will der Decoder bis DREQ wieder HIGH is?

Wäre nett wenn ihr mir eure Erfahrungen mitteilen könntet....

Vielen Dank schonmal im Vorraus für die Zeit die Ihr euch genommen habt 
:)


MFG
Christopher Schirner

von Michael U. (Gast)


Lesenswert?

Hallo,

ich habe zwar mit dem VS1001 noch nichts gemacht, aber mal so als 
Rechenexample:
Laut Datenblatt hat er 2kByte FiFo für den Eingangsbitsream.
Rechne Dir aus, wie schnell Du den theoretitisch bei maximal möglichem 
SPI-Speed gefüllt bekommst. SPI ist wohl max. fclock/4.

Der Rest ist dann auch Rechenaufgabe... ;)

Mein damaliges Experiment war ein 8515 mit 7,xx MHz Takt, ext. Ram als 
Buffer und einer 2,5"HD im Amiga-FastFileSystem.
Da hatte ich keine Zeitprobleme, ich hatte 512Byte Datenbuffer, die ich 
als Ringbuffer immer bei 256Byte nachgefüllt habe. Das lief in der 
Mainloop zusammen mit Display (einschließlich Scrolling MP3-Tag), 
I2C-Kommandos zum MAS3507 für Klangreglung usw. mit Balken im Display 
malen zumindest bis 192kBit ohne jeden Hacker.

Sollte also auch heute noch machbar sein. ;)

Gruß aus Berlin
Michael

von Christopher S. (schinken)


Lesenswert?

Hm jo... externen speicher... ohne wärs interresant :D

von Michael U. (Gast)


Lesenswert?

Hallo,

naja, ist letztlich auch Rechenaufgabe...
Du mußt ja die Daten auf die Karte raufbekommen und auch wiederfinden.
Raufbekommen heißt normalerweise ein gängiges Filesystem, damit Du sie 
im Card-Reader bespielen kannst. Dann müßt Du sie auch wiederfinden, 
also wenigstens eine minimale FAT16 read-only. Da ist es der Kompromiss 
zwischen Geschwindigkeit und Rambuffer. Das Übertragen ist das kleinste 
Problem, den benötigten Sektor zu finden, macht mehr Probleme mit wenig 
Ram.

Gruß aus Berlin
Michael

von Joshua H. (j-x)


Lesenswert?


von Yussew (Gast)


Lesenswert?

Wenn ich mich recht entsinne, dann war es so, dass wenn DREQ low geht, 
du dem Decoder 32 Byte schicken kannst, ohne auf das DREQ weiter zu 
achten. Also sprich, wenn DREQ low geht, ist auf jeden Fall Platz für 
weitere 32 Byte im Buffer. Und im Datenblatt steht, wie groß der im 
VS1001 enthaltene Buffer insgesamt ist, daraus müsste sich die Zeit 
ausrechnen lassen, die zur Verfügung steht.

Ist schon etwas länger her, aber ich hatte von CF gelesen so mit FAT32 
und so. Jeweil 512 Byte von CF gelesen, und dann immer 32 Byte in den 
Deocder geschoben, bis die 512 Byte verbraucht waren. Dann habe ich 
wieder neue 512 Byte von CF gelesen, und selbst bei der schnellsten 
Bitrate gab es keine Aussetzer. Hatte irgendeinen ATmega benutzt, bei 16 
MHz. SPI-Clock war glaube 2 MHz.

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.