Forum: Mikrocontroller und Digitale Elektronik WAV mit VS1011 abspielen


von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe einen AVR + VS1011, dieser soll ein WAV abspielen. MP3 läuft
problemlos, aber irgendwie scheint er nicht auf den WAVE Header zu
reagieren. Ich sende folgenden Header, gefolgt von einfachen,
synthetischen Daten. Siehe Anhang. Sieht jemand das Problem?

MFG
Falk

von ... (Gast)


Lesenswert?

Datenblatt S.24 Abschnitt 8.1:
"Note, that decoding of layers I and II must be activated separately."

Abschnitt 8.6.1:
"SM_LAYER12 determines whether it is allowed to decode MPEG 1 and 2 
layers I and II in addition to layer III. If you enable Layer I and 
Layer II decoding, you are liable for any patent issues that may arise. 
Joint licensing of MPEG 1.0 / 2.0 Layer III does not cover all patents 
pertaining to layers I and II."

von Falk B. (falk)


Lesenswert?

Ich rede von einfachstem PCM WAV, nicht MP1/2.

von Jobst M. (jobstens-de)


Lesenswert?

> 0xFF, 0xFF, 0xFF, 0xFF,     // file size - 8

> 'd', 'a', 't', 'a',         // data chunk
> 0xFF, 0xFF, 0xFF, 0xFF,     // size

data chunk size kann nicht genau so groß sein, wie file size. 
Möglicherweise stört ihn das (Vielleicht aber auch nicht - fällt mir nur 
gerade auf).
Schon 0x00000000 ausprobiert?


Kann der Decoder den Header so schnell verarbeiten, wie Du ihn ihm 
schickst?
Der Header ist 44 Bytes, der Fifo kann aber nur 32 Bytes aufnehmen.
Wird VS1011_DREQ in vs1011_feed() berücksichtigt?


Sonst fällt mir dazu gerade nichts ein ...


Gruß

Jobst

von Falk B. (falk)


Lesenswert?

@ Jobst M. (jobstens-de)

>data chunk size kann nicht genau so groß sein, wie file size.
>Möglicherweise stört ihn das (Vielleicht aber auch nicht - fällt mir nur
>gerade auf).
>Schon 0x00000000 ausprobiert?

Nein, werde ich probieren.

>Kann der Decoder den Header so schnell verarbeiten, wie Du ihn ihm
>schickst?

Sicher.

>Der Header ist 44 Bytes, der Fifo kann aber nur 32 Bytes aufnehmen.

Nein, der Eingangs-FIFO ist 2kB groß.

>Wird VS1011_DREQ in vs1011_feed() berücksichtigt?

Ja.

von Falk B. (falk)


Lesenswert?

OK, Problem gelöst, typisches RTFM ;-)

Man muss nach einem Zugriff auf die Steuerregister, z.B. um die 
Lautstärke einzustellen, wieder warten, dass DREQ auf HIGH geht. Das hab 
ich vergessen und direkt nach dem Einstellen der Lautstärke den Header 
reingeschrieben, in der Annahme, dass der FIFO ja sowieso leer ist 8-0

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.