mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik VS1011 und genaues Timing


Autor: Tobias Hagemeier (hse)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

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

Autor: Tobias Hagemeier (hse)
Datum:

Bewertung
0 lesenswert
nicht 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..

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.