Forum: Mikrocontroller und Digitale Elektronik MP3 Player und ARM


von Christoph W. (christoph)


Lesenswert?

Hallo.

Ich dachte mir ich baue mal einen MP3Player aber ohne den VS.... oder
sonst irgendeinen MP3-Decoder sondern mit einem ARM. Da ich allerdings
mit ARMs bislang noch keine Erfahrung hab, weiß ich auch noch nicht, ob
ein ARM die gestellte Aufgabe überhaupt meistern kann.

Kurz und knapp :
Ich habe hier einen C-Code zum MP3-Dekodieren. Diesen würde ich gerne
auf einen ARM portieren und den das ganze machen lassen. Ist das
theoretisch mit - sagen wir mal - 60 MIPS möglich ? Welche ARMs eignen
sich dann dazu ? Was für RAM (Zugriffszeit) und Wieviel wird in etwa
nötig sein ?

Gibt es eigentlich irgendwo eine Übersicht, wie MP3 funktioniert - also
so erklärt, dass man keine Uni besucht haben muss, aber mehr erfährt als
dass bestimmte Informationen rausfiltriert werden ?

Kann man eventuell im Verfahren vereinfachungen ansetzen - zum Beispiel
durch Konstantentabellen oder so ?

Vielen Dank vielmals.

Ein MP3-Verzweifelter Christoph Wagner.

von Dieter (Gast)


Lesenswert?

Die Suchfunktion hier im Forum ist Dir nicht bekannt?
Schade, sonst hättest Du schon jede Menge Infos gefunden.

Ein Beispiel:
http://www.underbit.com/products/mad/

von Barti (Gast)


Lesenswert?

Wenn ich das richtig verstehe versuchst Du einen relativ komplexen Code
in einen dir völlig unbekannten Controller zu pressen, von dem Dir
nichtmal seine Leistungsfähigkeit bekannt ist und Du nichtmal selbst
den richtigen raussuchen kannst?

Schonmal programmiert?

von Netbandit (Gast)


Lesenswert?

@Barti:

Nö versucht er nicht, er fragt nur ob dieses Vorhaben mit einem ARM
60MIPS überhaupt möglich ist und ob da schonmal jemand Erfahrungen zu
diesem Thema gemacht hat...

von Barti (Gast)


Lesenswert?

Aber die Bastelabsicht liegt vor... ;)

von sumsum (Gast)


Lesenswert?

Hallo,

ich finde es voll scheiße, dass ihr nur dumme kommentare abgeben
könnt.

so, versuche dir ein wenig weiter zu helfen. es gibt eine homepage
www.microsyl.com. beschäftige mich auch gerade damit.

du kannst mit einem ARM einen über SPI einen mpeg audio codec
(http://www.vlsi.fi/datasheets/vs1001.pdf)ansteuern. dieser baustein
macht alles, muss ihm nur die daten schicken. die lautstärkeregelung
ist einfach zu lösen, nimm einen kopfhörer, der lautstärkeregelung
schon hat. wenn du das hast, dann werden die lieder einfach
durchgespielt. wird also komplexer, d.h. menüsteuerung etc..

grüßle
sumsum

von ToniT (Gast)


Lesenswert?

Hallo Christoph,

ich fange auch grade ein wenig mit den ARM7 an rumzuspielen und der
gedanke ist mir auch schonmal gekommen. Jedoch habe ich, nach einiger
Suche im Netz fast aufgegeben.
Folgende Gründe sprechen für mich zur Zeit dagegen.

a) Kosten/Nutzen selbst wenn der ARM7/60 MHz schnell wäre brauchst Du
dennoch weitere Peripherie DAC, Vorverstärker etc. Hier wird der VLSI
wohl einfach günstiger sein.
Sicherlich wird auch externes RAM notwendig sein.
Und wenn das dann alles funzt ist der Ressourcenverbrauch
wahrscheinlich so hoch das du für andere "Steuerungsaufgaben" einen
2ten Proz brauchst.
Und die netten Features des VLSI wird man bestimmt nicht auch noch in
den ARM7 gepresst bekommen.

b) Denke ich das der Aufwand das ganze kaum rechtfertigt auch nicht
wenn es ein Bastel und lern Projekt ist.

c) Das ist für ein Einsteigerprojekt echt ziemlich hochgegriffen. Ich
dachte auch erst C ist C und den Proz wirste schon ans Rennen bekommen.
Die ersten Schritte belehrten mich aber schnell eines besseren und ich
fang wieder bei "A" an und "Z" ist noch verdammt weit weg. Der ARM
Core ist schon eine andere LIGA wie der MEGA.

Alles nur meine pers. Meinung und wenn jemand andere Ideen hat oder
funktionierende Projekte kennt bin ich natürlich auch an Infos
interessiert.

@sumsum: Erst lesen, dann Antworten, nicht böse gemeint aber bevor du
schimpfst les doch erstmal die gestellte Anforderung.

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Hinweis von Dieter ist IMHO gar nicht so schlecht, geht er doch auf
die eingangs gestellte Aufgabe ein:

  "MP3Player aber ohne irgendeinen MP3-Decoder"

Der Rest ist, das hat sumsum gut erkannt, gequirlter Quark.

Leider ist die mad-Seite recht ... unübersichtlich, und Hinweise auf
die ARM-Portierung fehlen auch, aber bereits das

  "Because MAD uses integer computation rather than
  floating point, it is well suited for architectures
  without a floating point unit. All calculations are
  performed with a 32-bit fixed-point integer
  representation."

sollte schon etwas Optimismus zur Folge haben.

  ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz

enthält jedenfalls das übliche *nix'sche configure, und darin wird die
Prozessorarchitektur ARMv4 erwähnt.
Google spuckt, mit "libmad ARM7" gefüttert, auch ausreichend
hilfreiches aus.

Viel Erfolg!

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der Helix-MP3-Decoder funktioniert auf einem LPC2106 problemlos und
lässt genug Reserven für die Datenbeschaffung von
Festplatte/Netzwerk/Speicherkarte. Das Problem beim LPC2106 ist dass
man keinen Audio-DAC anschließen kann. Mit dem SAM7 geht's (Atmel hat
sogar eine Appnote für I2S), allerdings ist der dafür etwas magerer mit
Speicher ausgestattet.

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.