Forum: Mikrocontroller und Digitale Elektronik MP3-Player / Laufzeit


von Irr w. (irrwicht)


Lesenswert?

Hallo Zusammen

Ich möchte einen batteriebetriebenen MP3-Player bauen. Das ganze soll 
einen Hörspielplayer für ein Kleinkind werden, also ohne Display (nur 
mit Tasten) zu bedienen sein (ähnlich Hörbert).

Ich habe den auf Code, welcher unter http://jjmz.free.fr/?p=102 
vorgestellt wurde und auf diesem Code 
Beitrag "STM32F4 Discovery MP3 Player - komplett mit Code" basiert auf einem 
STM32F4Discovery zum laufen gekriegt. Zusätzlich habe ich einen LT1930 
vorgeschaltet, um das ganze mit 4AA seriell zu speisen. Für die 
Audioverstärkung auf habe ich einen TPA2005d1 verwendet. Das ganze läuft 
einigermassen stabil.

Was mir nicht gefällt ist die Laufzeit. Nach mehreren Tests erreiche ich 
ca. 13h Laufzeit bei anständiger Lautstärke. Allein das Discoveryboard 
zieht ca. 70-100mA mit SD-Card (ist nicht ganz einfach zu messen).

Jetzt stehe ich an einem Wendepunkt. Alles neu, oder so weitermachen?

Ich habe schon ein wenig gegoogelt und habe diesen Chip entdeckt: 
http://www.vlsi.fi/en/products/vs1053.html.

Ich habe schon ein wenig mich PICs gearbeitet, und möchte gerne mit 
anderen MCUs zu werkeln.

Nun meine Frage:

Ich will nicht ein Rad neu erfinden, und das ganze muss nicht 
Ultrasuperdupperlowpower werden, aber ein wenig mehr Laufzeit sollte 
schon drinliegen. Was für Prozessoren (Atmel-Reihe, ARM) würdet ihr 
empfehlen, um den VS1053 über eine SD-Card zu befüllen? Der Prozessor 
muss fix genug sein, um 320kbit/s zu schaffen. AAC wäre zweitrangig, 
FLAC optional.

Ich verliere mich momentan in den verschieden Datenblättern und hoffe, 
dass jemand da vielleicht ein paar realistische Stichworte als 
Leitplanke fallen lassen könnte.

Vielen Dank im Voraus!

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Mit nem Atmegae, dem VS1053, ner SD Karte, den Spannungswandlern und 
einer 10mA LED klmmt man allerdings auch auf 90mA, also gespart is da 
nix.

Auf dem STM32F4 Discovery is ja kaum was drauf, was zieht denn da 100mA?
Also mal den Prozzel runtertakten bis zur Decodiergrenze von MP3 und 
gucken was da aufm brett Strom frisst.

von dolf (Gast)


Lesenswert?

ich möchte einen mp3 player bauen.
der soll von der vorhandenen endstufe mit versorgt werden (stromaufnahme 
irrelevant)
wie mach ich das mit dem STM32F4Discovery board genau?
sd card und 4*20 dotmatrix display müssen sein.
die üblichen tasten zum bediene sollten vorhanden sein.
mfg

von Stefan (Gast)


Lesenswert?

Du kannst den Stromverbrauch der SD Karte senken, indem Du die MP3 Datei 
in größeren Blöcken ins RAM kopierst und von dort aus abspielst.

Der Größte Teil der Stromaufnahme geht aber wohl auf den 
Mikrocontroller. Verwende lieber einen externen MP3 Decoder Chip, der 
verbraucht viel weniger Strom, als ein software-encoder.

von Stefan (Gast)


Lesenswert?

Du kannst den Stromverbrauch der SD Karte senken, indem Du die MP3 Datei 
in größeren Blöcken ins RAM kopierst und von dort aus abspielst.

Der Größte Teil der Stromaufnahme geht aber wohl auf den 
Mikrocontroller. Verwende lieber einen externen MP3 Decoder Chip, der 
verbraucht viel weniger Strom, als ein software-encoder.

Warum verbaust Du nicht einen handelsüblichen MP3 Player mit 
"verlängerten" Tasten? Ich hatte für so einen Zweck mal einen von Hama 
gekauft, für nur 5 Euro.

von Irr w. (irrwicht)


Lesenswert?

Vielen Dank für den Input!

@Martin Wende: Das mit dem runtertakten muss ich testen, gute Idee. 
Schade finde ich, dass die Speaker-Ausgänge des CS43L22 nicht 
rausgeführt sind. Die Strommessung ist nicht ganz einfach, über einem 
0.1ohm-R kommt ein recht rauschiges Signal daher, daher kann ich's nur 
schätzen.

@dolf:

1:) Toolchain einrichten über ChibiOS: 
http://www.chibios.org/dokuwiki/doku.php?id=chibios:articles:stm32f4_discovery

2:) Code nehmen von: http://jjmz.free.fr/?p=102

@Stefan: Einen billigen MP3-Player ausm Laden geht nicht, da ich mehrere 
Taster brauche. Hinter jedem Taster ist dann ein Ordner mit Hörbuch oder 
Liedern auf der SD-Card hinterlegt. Hab ich mir aber auch schon 
überlegt. Es sollen aber am Schluss um die 10 Taster sein..

Der VS1053 müsste eigentlich ohne MCU auskommen, muss mal ein wenig 
herumforschen. Hat den jemand von euch schon Standalone eingesetzt?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Wie soll der VS1053 bitte ohne MCU auskommen?
Der erwartet nen Datenstream, eine SD Karte kotzt das sicher nicht von 
alleine aus.
Schon garned mit Dateisystem.

Stefan schrieb:
> Verwende lieber einen externen MP3 Decoder Chip, der
> verbraucht viel weniger Strom, als ein software-encoder.
Tja, nur ist der VS1053 auch nur ein Software Decoder.
Das Teil hat nen DSP Kern auf dem ne Firmware läuft.

von Irr w. (irrwicht)


Lesenswert?

So, vielen Dank für den Input mit dem Takt. Auf 42Mhz läufts gleich 30% 
länger, ca. 18h mit vollen Akkus.


Martin Wende schrieb:
> Wie soll der VS1053 bitte ohne MCU auskommen?
> Der erwartet nen Datenstream, eine SD Karte kotzt das sicher nicht von
> alleine aus.
> Schon garned mit Dateisystem.

Doch geht irgendwie, ist aber zugegebenermassen nicht ideal.

http://www.vlsi.fi/fileadmin/software/VS10XX/standalone-vs1053.pdf

von Stefan (Gast)


Lesenswert?

18h ist aber immer noch nicht der Hit, oder?
Vielleicht kannst Du den Mikrocontroller zeitweise schlafen legen. 
Sicher hat der MP3 encoder einen Puffer, der das ermöglicht.

von Irr w. (irrwicht)


Lesenswert?

Jup, ist noch nicht der Hit, aber nähert sich.

Die (De)codierung erfolgt im Prozessor selber über madlib. Der Prozessor 
saugt sich einen Block von der SD-Card, decodiert das ganze und leitet 
es an den DAC weiter. Ich bin (noch) nicht gerade PRO genug, um da 
massiv optimieren zu können, aber vielleicht finde ich noch was..

Danke für den Input!

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Ah, die haben das übern nachladbares Userprog gelöst beim VS1053, is 
natürlich sehr geil.
Da steht dann noch was von per UART übern µC steuerbar.
Allerdings nichts weiter dazu.
Könnte man ja dann einen anschließen, der nur kurz Befehle sendet und 
sich dann schlafen legt.

Hat der STM noch irgendsowas wie eine system management unit um nicht 
genutzte Hardwarebereiche schlafen zu legen?

von Irr w. (irrwicht)


Lesenswert?

5.3.1 Slowing down system clocks
In Run mode the speed of the system clocks (SYSCLK, HCLK, PCLK1, PCLK2) 
can be reduced by programming the prescaler registers. These prescalers 
can also be used to slow down peripherals before entering Sleep mode.

Dann noch:

....
In addition, the power consumption in Run mode can be reduce by one of 
the following
means:
● Slowing down the system clocks
● Gating the clocks to the APBx and AHBx peripherals when they are 
unused.

Ich bin da momentan noch ein wenig überfordert. Muss mich da erst 
einlesen, ich denke jedoch, dass die CPU nun schon ein wenig gefordert 
ist, da sie jetzt nur noch auf einem viertel des maximalen Taktes läuft. 
Viel abstellen lässt sich da wohl nicht mehr..?

Neue Messung hat ergeben, dass das ganze (SD-Card, Board, Verstärker) 
VOR dem LT1930 ca 110mA saugt. Das ist nicht weit davon entfernt, was du 
berechnet hast. Hmm.. Der Hörbert laufe mit 4AA und "mittlerer 
Lautstärke" bis zu 45h, hab ich mal gelesen.. Der Wahn!

von Tipgeber (Gast)


Lesenswert?

Vielleicht auch mal den ST-Link ausschalten.

von Irr w. (irrwicht)


Angehängte Dateien:

Lesenswert?

Guter Tip, danke!

Bloss wie? SB10? Hängt der dann nicht gerade das ganze Board auf? 
Ansonsten ist das Teil fix mit den 3V verbunden..

von Frank K. (fchk)


Lesenswert?

Das hier ist ein kompletter Player, der keinen extra Controller mehr 
braucht. Aus Patentgründen spielt der nur .ogg ab - mp3s müsstest Du 
vorher konvertieren.

http://www.vlsi.fi/en/products/vs1000module.html

fchk

von Irr w. (irrwicht)


Lesenswert?

Hab ich auch schon entdeckt. Sexy, aber ogg ist nicht grad ideal. Das 
Dingens hat insgesamt 9 GPIOs, was grad so reinpassen würde, aber mehr 
wären besser.

Ich denke, das Discoveryboard ist schon nicht sooo schlecht, ein wenig 
länger laufen dürfte es jedoch mit den Batterien.

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Dann klick bei Products mal auf VS1005, da geht einem glatt die Hose 
auf...
Ist dann sogar noch mit einer IDE von VLSI programmierbar.

von Irr w. (irrwicht)


Lesenswert?

Jepp, auch den hab ich entdeckt. Gab eine ziemliche Beule. Bis ich das 
Package sah. Unlötbar mit Standard-Lötkolben. Leeeeeeider!

von Irr w. (irrwicht)


Lesenswert?

Ist LFGA mit der Herdplatte Lötbar? Schon mal jemand gemacht? Geil sieht 
das Teil auf jedenfall aus!

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Heißluftföhn?
Für das Ding würd ich mir eh ne extra Adapterplatine ätzen die dann in 
die Schaltung gesteckt wird.

von Irr w. (irrwicht)


Lesenswert?

Jup, einverstanden.

Ich muss mal das Angefangene beenden, sonst ist der Player dann fertig, 
wenn er gar nicht mehr gebraucht wird. Die eierlegende Wollmilchsau kann 
ich dann danach testen..

von Tipgeber (Gast)


Lesenswert?

Reset ist Dein Freund.

von Irr w. (irrwicht)


Lesenswert?

;-). Werds versuchen..

von Irr w. (irrwicht)


Lesenswert?

Sola, 33h mit deaktiviertem ST-Link. Danke Tipgeber!

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Das klingt ja schonmal gut und jetz noch iwelche LEDs auslöten :>

von Irr w. (irrwicht)


Lesenswert?

Alle bis auf eine LED sind eh deaktiviert. Und die eine LED, die noch 
leuchtet hängt mit einem 1K R an 3V, also vernachlässigbar.

Ich denke, dass höchstens noch mit einem eigenen Print, optimierten 
Bauteilen der Spannungsversorgung und einem sorgfältig angepassen Takt 
noch was rauszuholen ist. Ziemlich Aufwand also..

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.