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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.