Forum: Mikrocontroller und Digitale Elektronik Mp3 Player Selbstbau


von Detlef D. (lvv)


Lesenswert?

Hallo Zusammen,

ich plane einen MP3 Player selbst zu bauen. Dazu möchte ich folgende 
Komponenten verwenden:

Decoder: VS1011
uC: AtMega32
Display: HD44780 Kompatibel
SD-Karte mit 1-2GB

Das Programm des AtMega 32 soll in C programmiert werden. Mit dem 
AtMega8 habe ich schon einige Erfahrungen gesammelt. Ich bin in der Lage 
Daten auf dem Display auszugeben, sowie das Display anzusteuern. Auch 
habe ich umfangreiche Hardwarekenntnisse. Viel mehr kann ich jedoch noch 
nicht programmieren, sodass der MP3 ein Lernobjekt darstellen soll. Das 
erste Problem stellt die Tasterabfrage dar. Ich möchte, dass die Taster 
abgefragt werden und parallel dazu Daten auf dem Display ausgegeben 
werden können bzw. Musik abgespielt wird? Ich würde mich freuen, wenn 
ihr mir helfen könntet.

von blubb (Gast)


Lesenswert?

am einfachsten für alle ist es wenn du dein problem spezifizierst

wenn hier jeder jetz seine machart vorschlägst , kommst du dennochnicht 
wirklich weiter.

den weg musst du alleine finden
hier kann dir nur geholfen werden  die steine aus dem weg zu räumen

spezifiziere dein "problem" ^^

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Es gibt bereits etliche solcher Projekte. Orientiere dich einfach daran. 
Das mit Tasterabfrage und darstellung auf Display wird (soweit ich weiß) 
so gelöst, dass in dem Decoder ein Buffer ist, der dir (bzw. dem ATMega) 
Zeit verschafft andere Aufgaben wahrzunehmen. Vorrausgesetzt er wird 
richtig eingesetzt...

von Jens P. (picler)


Lesenswert?

Silvan König schrieb:
> Zeit verschafft andere Aufgaben wahrzunehmen.

Trotzdem dürfte es heftig werden. Ich glaube nicht, dass der ATMega es 
schafft, Filesystem, Datenübertragung, Tastenabfrage und 
Displayansteuerung schnell genug abzuarbeiten. Zumal, wenn er in C 
programmiert ist.

von blubb (Gast)


Lesenswert?

doch ..
es gibt genug selbstbau MP3 player mit einem ATmega
auch selche mit einem NokiaLCD , grafischem menü und all sonem 
schnickschnack

hier findet man sogar fertige opensource projekte mit allen files + doku
der mega läuft hier auch oft unter 8MHz

von Detlef D. (lvv)


Lesenswert?

Ich habe die Hardware noch gar nicht besorgt, werde dies aber denmnächst 
machen. Probleme kann ich natürlich erst nennen, wenn welche auftreten. 
Ich werde mich jetzt mal ein wenig mit der Tasterabfrage beschäftigen.

von mici (Gast)


Lesenswert?

huankisa

von micis klon (Gast)


Lesenswert?

meine mmeinung

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


Lesenswert?

Jens A: schrieb:
> Trotzdem dürfte es heftig werden. Ich glaube nicht, dass der ATMega es
> schafft, Filesystem, Datenübertragung, Tastenabfrage und
> Displayansteuerung schnell genug abzuarbeiten.

Nanana!

Jens A: schrieb:
> Zumal, wenn er in C
> programmiert ist.

OK, das ist nicht unbedingt ein Vorteil, sollte aber auch gehen. 
Essenziell ist das Konzept des Programms, sowohl in ASM als auch in C.

von Rico (Gast)


Lesenswert?

was ich sowieso nicht verstehe ist wieso C zu assembler langsamer sein 
soll wenn doch der compiler c auf assembler übersetzt?!?

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


Lesenswert?

Rico schrieb:
> was ich sowieso nicht verstehe ist wieso C zu assembler langsamer sein
> soll wenn doch der compiler c auf assembler übersetzt?!?

Weil der Compiler nicht alle Optimierungen nutzt, die man in ASM zur 
Verfügung hat. Man denke an die Befehle zur direkten Bitbeeinflussung, 
Schiebebefehle und den Direktzugriff auf das Controllerstatusregister.

von Rico (Gast)


Lesenswert?

Aso alles klar!! lerne µC programmieren nur in C! aber danke für die 
Antwort!

von Floh (Gast)


Lesenswert?

Knut Ballhause schrieb:
> Weil der Compiler nicht alle Optimierungen nutzt, die man in ASM zur
> Verfügung hat. Man denke an die Befehle zur direkten Bitbeeinflussung,
> Schiebebefehle und den Direktzugriff auf das Controllerstatusregister.

Aber man kann ohne Zweifel davon ausgehen, dass ein Compiler 
effizienteren Code produziert als ein Anfänger in Assembler.
:-)

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


Lesenswert?

Floh schrieb:
> Aber man kann ohne Zweifel davon ausgehen, dass ein Compiler
> effizienteren Code produziert als ein Anfänger in Assembler.

Das mag wohl so sein.

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Detlef D. schrieb:
> Hallo Zusammen,
>
> ich plane einen MP3 Player selbst zu bauen. Dazu möchte ich folgende
> Komponenten verwenden:
>
> Decoder: VS1011
> uC: AtMega32
> Display: HD44780 Kompatibel
> SD-Karte mit 1-2GB

Einen ATmega32 fuer ein neues Design wuerd ich jetzt nicht unbedingt 
mehr verwenden, wenn ich nicht gerade einen Lebensvorrat davon habe.

> Das Programm des AtMega 32 soll in C programmiert werden. Mit dem
> AtMega8 habe ich schon einige Erfahrungen gesammelt. Ich bin in der Lage
> Daten auf dem Display auszugeben, sowie das Display anzusteuern. Auch
> habe ich umfangreiche Hardwarekenntnisse. Viel mehr kann ich jedoch noch
> nicht programmieren, sodass der MP3 ein Lernobjekt darstellen soll. Das
> erste Problem stellt die Tasterabfrage dar. Ich möchte, dass die Taster
> abgefragt werden und parallel dazu Daten auf dem Display ausgegeben
> werden können bzw. Musik abgespielt wird? Ich würde mich freuen, wenn
> ihr mir helfen könntet.

Fuer ein Anfaengerprojekt halte ich das fuer uebertrieben, da vergeht 
Dir dann die Lust durch ausbleibende Erfolge. Du musst schliesslich 
nicht nur den MP3-Decoder ansteuern sondern auch die SD-Karte inkl. 
brauchbarer Filesystem-Schicht.

Wenn Du nicht ohnehin alles nur mit fertigem Code machen willst such Dir 
mal was kleineres fuer den Anfang.

Greets,
Michael

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.