Forum: Mikrocontroller und Digitale Elektronik VS1011 und genaues Timing


von Tobias H. (hse)


Lesenswert?

Hi!
Ich will mit dem VS1011 (oder vergleichbar) einen MP3-Player aufbauen. 
Da ich einige externe Geräte damit steuern will (und das möglichst 
genau), suche ich eine Möglichkeit, die genaue Zeit aus dem Chip 
auszulesen.
Laut Datenblatt ist es leider nur möglich, die Anzahl der Sekunden die 
seit Wiedergabebeginn vergangen sind zu erfahren.

Hat jemand diesbezüglich schon Erfahrungen gesammelt? Ich bin bis jetzt 
nur auf zwei Möglichkeiten gestoßen:
a) Ich zähle per Timer die Zeit mit die das Ding schon läuft.
-> Ungünstig, da ich nicht weiß, wie lange sich der Chip aufhält bevor 
er anfängt meine Daten abzuspielen - er hat ja auch noch einen internen 
Puffer.

b) Ich zähle die Anzahl der Samples die ich geschickt habe mit und weiß 
dann "ungefähr" wo ich bin. Auch nicht viel besser, alle Probleme von 
Lösung a bleiben mir erhalten..

Gibts eventuell auch einen entsprechenden Chip, bei dem ich die Anzahl 
Millisekunden seit Playerstart direkt auslesen kann?

Ich hoffe es hat jemand von euch eine Idee..

Danke im Vorraus,

Tobi

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ich denke, das Beste wird es sein, die Datenpakete zu zählen, die Du an 
den Chip seitens des Controllers geschickt hast. Dazu mußt Du aber die 
Auflösung und Bitrate des mp3s wissen. Wirklich samplegenau geht es nur, 
wenn Du echte PCM (Wave) Files anstelle von MP3s abspielst. Siehe hier: 
Beitrag "SD-Karten-Wave-Recorder"

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Beim VS1053 kann man bei OGG und WMA die Zeit in ms auslesen. Bei MP3 
geht auch nur sek.

von Tobias H. (hse)


Lesenswert?

Ja, leider brauche ich die Zeit bei MP3s.. da scheint das intern nicht 
vorgesehen zu sein. Hätte man eventuell eine Chance das über die 
Software-"Nachrüstung" zu machen? Ist halt die Frage ob man da dann eine 
genauere Zeitbasis mit hinkriegen würde..

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Wenn Du nicht weißt, nach wievielen übertragenen Paketen der Chip mit 
der Wiedergabe beginnt, wird das nichts. Wenn die Pufferdauer hingegen 
immer konstant ist, kann man in der Tat Pakete zählen und Steuerimpulse 
vom Controller passend dazu generieren.

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.