Forum: Mikrocontroller und Digitale Elektronik MP3-Player mit Ethernet und USB (Review & Interesse)


von Miu (Gast)


Lesenswert?

Hi,

bin gerade dabei einen MP3-Player mit Ethernet, USB - Connection und 
SD-Karte zu designen. Das ganze soll mit zwei 8051er Controllern, einem 
Ethernet-Device und dem VS1033 realisiert werden.

Suche jemand der Lust hat über meinen Schaltplan drüber zu schauen.


So wie es bisher geplant ist, werde ich mehrere (5) Leiterplatten 
fertigen lassen. Drei werde ich selber behalten, die restlichen würde 
ich zum Selbstkostenpreis weiterverkaufen... Steht aber noch alles in 
den Sternen...

Meldet euch doch einfach hier im Forum für mehr Infos bzw. Schaltplan...

Ciao

Miu

von fubu1000 (Gast)


Lesenswert?

moin,
alles schön und gut wo ist dein schaltplan???
wofür ethernet und usb, wenn ne sd schon dabei ist???
gruss

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Und warum 2 Controller wenn es einer (anderer) auch tun würde?

von sepp (Gast)


Lesenswert?

Mich würde es auch interessiern warum du zwei 8051 verwendet hast. Bei 
Ethernet und USB wäre doch ein ARM sehr interessant gewesen. Was für 
8051 setzt du ein?

von Miu (Gast)


Lesenswert?

Hoi,

also ich habe vor von Silabs den F120 und F340.
Den F340 für USB und zwar habe ich vor das Ganze als Mass Storage Device 
anzusprechen. An den Controller soll auch ein Display ran.

An den F120 soll der CP2200 Ethernet Controller, der VS1033 und ein 
zusätzliches SRAM hin.

Einen ARM möchte ich nicht einsetzen, da ich keinen entsprechenden JTAG 
Adapter besitze... Außerdem möchte ich die Leistungsfähigkeit des F120 
testen...

von Michael W. (mictronics) Benutzerseite


Lesenswert?

>Einen ARM möchte ich nicht einsetzen, da ich keinen entsprechenden JTAG
>Adapter besitze...
Das kann ja wohl kein Argument sein.
Hast Du dir mal die AT91SAM7X Serie angeschaut? Die haben USB und 
Ethernet bereits implementiert.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Das kann ja wohl kein Argument sein.

Einen einfachen Parallelportadapter ("Wiggler"-Clone) verkauft Andreas 
hier in seinem Shop, einen ernstzunehmenden USB-Adapter (für OpenOCD auf 
Basis des FT2232) auch.
Die Welt kosten beide nicht.

von Rooney B. (rooney)


Lesenswert?

Den Wiggler-Clone kannst für etwa 2 Euro nachbauen. Der besteht ohnehin 
nur aus ein paar Widerständen, einem Treiber-IC und dem SUB D25 Stecker.


Hab ähnliches mit einem PIC18F8722 realisiert.
http://www.poms-engineering.at/html/index.php?inc=projects_mp3_player&lang=de

Also zwei Controller zu nehmen ist doch Overkill!!!

von Miu (Gast)


Lesenswert?

Werd mir das Ganze mit dem ARM noch mal genau durch den Kopf gehen 
lassen.
Aber im Prinzip kann ich mir wenn ich den ARM7TDMI nehme, den MP3 
Hardware Decoder sparen und das Software mäßig machen...

von Steffen H. (Firma: www.shotech.de) (mc_sho) Benutzerseite


Lesenswert?

Die Stellaris LM3S6000 Serie von Luminary Micro sollte man auch noch 
erwähnen. Die hat den 10/100 Ethernet MAC und PHY gleich in einem 
Gehäuse. Es fehlt zwar der USB Controller, aber den kann man zur Not 
noch durch einen externen erweitern.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

> Aber im Prinzip kann ich mir wenn ich den ARM7TDMI nehme, den MP3
> Hardware Decoder sparen und das Software mäßig machen...
Würde ich nicht machen, nimm einen Hardware Decoder und nutze die 
Ressourcen des ARM lieber für alles andere.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ein ARM wie der AT91SAM7X512 hat genug Ressourcen für MP3 und alles 
andere, allerdings braucht man dann statt dem VS10xx einen DAC, vom 
Aufwand her wird es also auf das selbe hinauslaufen.

von Rooney B. (rooney)


Lesenswert?

Also ganz ehrlich... denke nicht, dass der ARM so etwas ohne weiteres 
schafft.

FTP (File Download), HTML Webserver, USB, Display und dann noch MP3 
Decoding... alles zur selben Zeit?
Hat das schon mal wer geschafft?

Meiner Meinung nach, macht es schon Sinn vor allem die MP3 
Funktionalität auszulagern. Der DSP am VS10xx bietet es an, einige 
Zusatzfunktionen laufen zu lassen. Unter anderem kann man ein Plugin 
raufladen um einen Spectrum Analyzer zu realisieren.

von ich (Gast)


Lesenswert?

Ob das schonmal Jemand geschaft hat?
Beitrag "Re: ARM MP3/AAC Player Web Radio"
kommt dem ziemlich nah. Aber das Projekt ist dann irgendwann 
eingeschlafen, glaub ich.

von Miu (Gast)


Lesenswert?

Ich denke das sollte mit nem ARM kein Problem sein. USB soll 
hauptsächlich nur für den Zugriff auf die SD-Karte erfolgen (Stichwort 
Mass Storage Device).
Das Display ist absolut kein Problem.
Warum eigentlich FTP und Webserver, abgesehen davon, dass dies durchaus 
möglich wäre...

von Miu (Gast)


Lesenswert?

Viel mehr Sorgen mach ich mir um die Entwicklungsumgebung. Habe bisher 
bei ARM Controllern nur mit Hilfe von Keil, also einer professionellen 
Umgebung, gearbeitet. (Studium)
Taugt die WinARM Umgebung oder was könnt ihr mir da empfehlen?

von Michael W. (mictronics) Benutzerseite


Lesenswert?

>FTP (File Download), HTML Webserver, USB, Display und dann noch MP3
>Decoding... alles zur selben Zeit?

Zumindest zu USB MSD Class kann ich aus Erfahrung sagen, das der 
Transfer Speed bei USB einbricht sobald der Kontroller noch irgend etwas 
anderes macht ausser USB zu verarbeiten.

@Miu
>Warum eigentlich FTP und Webserver, abgesehen davon, dass dies durchaus
>möglich wäre...
Wozu dann die Ethernet Schnittstelle?

von Michael W. (mictronics) Benutzerseite


Lesenswert?


von Miu (Gast)


Lesenswert?

>Wozu dann die Ethernet Schnittstelle?

Ursprungsidee: Reines Streamen

von Miu (Gast)


Lesenswert?

Bei YAGARTO komm ich aber um SAM-ICE oder J-Link nich drum herum,oder?

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ein einfaches JTAG Interface reicht völlig.

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der MP3-Decoder braucht ca. 60% Rechenzeit, der Rest reicht locker für 
das bisschen HTTP und USB, das schafft ja auch schon ein AVR. Das 
wichtigste ist nur dass man genug RAM hat, 128 kB sollten es schon sein.

> Zumindest zu USB MSD Class kann ich aus Erfahrung sagen, das der
> Transfer Speed bei USB einbricht sobald der Kontroller noch irgend etwas
> anderes macht ausser USB zu verarbeiten.

So pauschal kann man das nicht sagen. Wenn der Controller die komplette 
Rechenleistung für USB verbrät macht man was falsch. Und ganz abgesehen 
davon muss man ja gar nicht gleichzeitig USB und MP3-Decodierung machen.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ich nutze eine abgespeckte Version des Atmel Frameworks und der MSD 
Class. Auf einem AT91SAM7S128 mit microSD Karte. Die Master Clock läuft 
mit 48MHz und die SPI für die SD Karte mit 24MHz, Zugriff auf die Karte 
erfolgt über DMA Kontroller.
Mit all diesen Daten kann erreiche ich maximal 2.1 Mbit/s beim Lesen, 
gemessen mit der Software USBinfo.
Ich hatte mehr erwartet...

von Rooney B. (rooney)


Lesenswert?

Miu wrote:
> Das Display ist absolut kein Problem.
> Warum eigentlich FTP und Webserver, abgesehen davon, dass dies durchaus
> möglich wäre...


Also eine Grafik-Display Ansteuerung inkl. Spectrum Analyser braucht 
schon etwas Rechenleistung, so etwas würd ich nicht unterschätzen!!!! 
Wenn du nur ein 2-Zeilen-Display verwenden möchtest und nur Titel 
anzeigen willst, dann braucht das kaum Ressourcen.

Also mir persönlich ist ein Download via FTP um vieles lieber als USB. 
Das Ethernet kann ich dann auch noch für streaming verwenden und da 
öffnen sich für mich schon ganz neue Horizonte.

Zusätzlich zur SD Karte würd ich außerdem ein IDE Interface vorsehen.


Eine Frage bleibt aber offen. Warum MP3 in den ARM packen? Wegen den 
Kosten für den VS10xx?

von Miu (Gast)


Lesenswert?

Ich wollte eigentlich damit nicht sagen, dass ich grundsätzlich gegen 
einen externen Decoder bin. Den Gedanke an Software-MP3 fand ich 
interessant...
Ich glaube das es auf einen Hardware Decoder hinauslaufen wird, der mir 
auch zusätzliche Arbeit für die Analyse abnimmt. Außerdem entfällt die 
Digital-Analog-Wandlung...

Von der Hardware her wäre es ja im Endeffekt völlig offen ob ich ein FTP 
aufsetze oder nicht... Das sieht man dann...

IDE Interface sieht es schon anders aus, weil da muss ich meine Hardware 
auf jeden Fall anpassen. Hat einer von euch schon mal was mit SATA 
gemacht?

Bisher wollte ich eigentlich nur ein einfaches Zeilendisplay 
verwenden...
Ein grafisches Display auszuprobieren hatte ich bisher noch keine 
Gelegenheit, kann deshalb auch nicht beurteilen, wieviel Ressourcen 
(RAM, Code, Rechenzeit) das benötigt.

von Rooney B. (rooney)


Lesenswert?

Ich verwende bei meinem MP3 Player ein Grafikdisplay mit 240x128 Pixel. 
Hab ein Plugin geschrieben, so dass ich das Display bei Bedarf (per 
Tastendruck) splitten kann und in einer Hälfte einen "Explorer" zum 
Navigieren auf der HDD und auf der anderen Hälfte Titelinformationen 
(MP3 Tags) und den Spectrum Analyzer anzeigen lassen kann. So etwas 
braucht natürlich recht viel Rechenleistung. Je nachdem wie oft der 
Spectrum Analyzer aktualisiert werden soll desto mehr Rechenleistung 
wird benötigt. Mit dem PIC18F8722 bin ich aber  da schon ziemlich an der 
Grenze.
Würde ich ein neues Design machen, würde ich auf jeden Fall einen ARM7 
oder ARM9 verwenden.

Rechenleistung zuviel zu haben ist nie schlecht. Stell dir vor du 
möchtest eine HDD anschließen und volles FAT32 unterstützen (also auch 
ADPCM aufzeichnen und Datein auf HDD schreiben bzw. schreiben via FTP).

Mein MP3 Player hat 1MB SRAM (Programm und Datenspeicher) und 512kB 
Flash (Programmspeicher). Mein Flaschenhals ist also eher die 
Rechenleistung vom PIC. Es gibt jedoch auch Prozessoren von ATMEL mit 
ARM7 und externem Speicherinterface. Da kannst auch SDRAM oder SRAM 
dranhängen. Sollte also dein Speicherproblem lösen.

Für Ethernet könntest auch eine integrierte Lösung von Lantronix 
verwenden, jedoch willst du FTP Unterstützung müsstest es auch wieder im 
ARM implementieren, weil so Module sind nur für Ethernet-To-Serial 
Anwendungen brauchbar. Vielleicht gibt es jedoch Programmbeispiele eines 
Webservers / FTP Servers für den ARM7.

von Rooney B. (rooney)


Lesenswert?

Noch was...

Seh einfach die zwei Leitungen die du zusätzlich für ein Grafikdisplay 
(monochrom) benötigst vor, dann kannst du später immer noch entscheiden 
ob du ein Zeilendisplay oder ein Grafikdisplay verwenden möchtest.

von Miu (Gast)


Lesenswert?

Vielen Dank für den Hinweis. Wird auf der To-Do-Liste vermerkt...

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ich würde auch eher einen Hardware-Decoder wie den VS1033 empfehlen, da 
spart man sich einiges an Aufwand und kann auch MP2, WMA und AAC 
abspielen.

von Simon K. (simon) Benutzerseite


Lesenswert?

Andreas Schwarz wrote:
> Ich würde auch eher einen Hardware-Decoder wie den VS1033 empfehlen, da
> spart man sich einiges an Aufwand und kann auch MP2, WMA und AAC
> abspielen.

Ja, und mal ehrlich: Ob man jetzt einen D/A Chip dranhängt und das 
dekodieren in Software macht, oder direkt einen VSxyz Chip, ist doch vom 
Platzverbrauch wumpe. Höchstens der Preis macht da was aus. Wobei 
hochqualitative D/A Wandler auch nicht billig sind. Dadurch relativiert 
sich das dann wieder.

von Flo (Gast)


Lesenswert?

Und außerdem gibt es auch noch chips die MP3-encoding beherschen. Und so 
ein LineIn Eingang wäre ein echter mehr wert.

Ich denke wenn sich hier einige auf ein paar gemeinsamme Eckpunkte 
festlegen, würde daraus bestimmt ein schönes Gemeinschaftsprojekt. Ist 
halt nur die Frage wass man bracuht und was nicht:

- Ethernet
- Display
- IR-Fernbedienung
- LineIn
- kleine Verstärkerendstufe

Wenn das ganze modular aufgebaut wäre, könnten wahrscheinlich die 
meisten Wünsche erfüllt werden. Eine Hauptplatine mit Ethernet, µC, 
mp3decoder darauf ausgelegt das man zum beispiel noch ein 
Zeilen/Grafik-Display anschließen kann oder eine kleinen Verstärker 
sowie einen IR-Empfänger. Dann könnte Jeder überlegen was er bestücken 
will. Über ein Webinterface könnte man sogar bei einem Display losen 
Projekt alle Einstellungen verwalten.

von Miu (Gast)


Lesenswert?

Meiner Meinung nach muss ich inzwischen haben:

- MP3-Decoder
- Ethernet
- Display (Grafik, Ordnerstruktur usw. für mich inzwischen notwendig)
- IR - Fernbedienung
- Vorverstärker (will ja das Ding schließlich an meine Stereo-Anlage 
ranhauen)
- SD-Karten-Slot
- Festplatte (PATA bzw. SATA)
- USB 2.0 Full-Speed

Bestimmt habe ich noch was vergessen...

Also ich möchte dieses Projekt auf jeden Fall verwirklichen. In welchem 
Zeitraum kann ich noch nicht sagen...

Wer Lust hat sich daran zu beteiligen ist auf jeden Fall herzlich 
willkommen!

Möchte mich auch schon vorab mal bedanken für die vielen Replys, 
Anregungen und Hilfestellung. THX

von Rooney B. (rooney)


Lesenswert?

Solltest du einen VS10xx verwenden, ratsam natürlich das neueste Modell, 
dann kannst du dir diesen Vorverstärker sparen. Bei mir funktioniert das 
tadellos mit meiner HIFI Anlage.

von Flo (Gast)


Lesenswert?

Na, das klingt ja mal nach einem riesen Projekt. An SATA würde ich mich 
nicht drann trauen. Da braucht man bestimmt einen Controller den es 
wieder nirgendwo in normalen Stückzahlen gibt :) Aber der rest klingt 
doch ganz machbar.

von Flo (Gast)


Lesenswert?

Ach ja ... mit Verstärker meinte ich eine Schaltung, so das man auch 
Boxen direkt anschließen kann.

von Rooney B. (rooney)


Lesenswert?

Was willst du überhaupt machen? Soll das Teil batteriebetrieben sein? 
Mobil einsetzbar? Als HIFI Ersatz?

von Miu (Gast)


Lesenswert?

Primär hatte ich es für die Stereoanlage vorgesehen. Allerdings könnte 
ich mir auch einen Einbau in mein Auto vorstellen.
Batteriebetrieben hat ich eigentlich net vor, wo doch bei uns hier in 
Deutschland der Strom aus der Steckdose kommt.
Aber im Prinzip spricht ja nichts dagegen das Gerät auch mit einem Akku 
zu betreiben. Da ich immer noch manchmal versuche den Planeten zu 
retten, kann man ja auf bestimmte Stromsparfunktionen (Hard- und 
Software seitig) eingehen.
Das kann auch am netzgebundenen Betrieb nicht schaden...

von Flo (Gast)


Lesenswert?

Also ich weiß ja nicht wie wichtig dir der Ethernet Anschluss ist, aber 
ich denke wenn der Player ein Ethernetkabel braucht macht ein 
Batteriebetrieb wenig sinn. Über PoE kann man natürlich streiten.

von Miu (Gast)


Lesenswert?

Man muss Ethernet net unbedingt verwenden...

von Rooney B. (rooney)


Lesenswert?

batteriebetrieben wird wahrscheinlich auch nur Sinn machen, wenn die 
Größe dementsprechend handlich ist.

von Miu (Gast)


Lesenswert?

Da seh ich dann schon das größere Problem =)

von Florian .. (flori)


Lesenswert?

trotzdem abo

von Miu (Gast)


Lesenswert?

abo ??

von klaus (Gast)


Lesenswert?

was bedeutet abo ?

von Dirk (Gast)


Lesenswert?

Hallo, falls es kein "Miniportale Unit" werden soll würde sich das 
NGW100 von Atmel anbieten.

1. CPU mit genug Power
2. Linux mit MP3 Softwaredecoder
3. Netzwerk
4. USB
5. SD Card

Display und DAC lassen sich problemlos anloeten und AC97 Treiber gibt 
auch.

von Miu (Gast)


Angehängte Dateien:

Lesenswert?

Hoi,

hab hier mal meinen ersten Entwurf von meinem Player. Wenn jemand Lust 
hat kann er ja mal drüber schauen und mir Fehler bzw. Verbesserungen 
aufzeigen...

Bin für jegliche Kritik außer "das geht so nicht, weil das so nicht 
geht" offen :-)

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Ist ein ziemliches IC-Grab. Ich würde gleich einen Controller nehmen der 
Ethernet und USB integriert hat, z.B. den AT91SAM7X256/512. Da brauchst 
du auch keinen externen RAM und er hat einen DMA-Controller, was die 
SPI-Übertragung sehr beschleunigt. Als Prototyp-Hardware kannst du die 
SAM7X- und VS1002-Platinen von Olimex nehmen, dann musst du nicht mal 
den Lötkolben anwerfen.

Sehe ich das richtig dass du die SD-Karte per BitBanging ansteuern 
willst? Wozu, der Controller hat doch zwei schöne SPI Interfaces?

von Rooney B. (rooney)


Lesenswert?

Ich kann Andreas nur beipflichten... nimm einen AT91SAM7X256, der hätte 
schon alles "on-board"

Wo ist eigentlich der Anschluss für das Display?

von Steffen H. (Firma: www.shotech.de) (mc_sho) Benutzerseite


Lesenswert?

der SM340 bzw. SM350 von  Silicon Motion Technology Corp. ist 
eigentlich das richtige für so eine Applikation. Leider wird es im 
privaten Bereich an der Beschaffbarkeit scheitern. Ist deshalb nur eine 
Information.

http://www.siliconmotion.com.tw/en/en2/products.htm
Distri:
http://www.hy-line.de/index.php?id=2267#9628

von Indy J. (indy82)


Lesenswert?

Gibt es eigentlich hier was neues? Hört sich sehr interessant an, vor 
allem der Anschluss für eine HDD und das Anzeigen der Ordnerstruktur auf 
dem Display, sowie das "Browsen" durch die Ordner.

Das Eval Board AT91SAM7X-EK für den AT91SAM7X256 hat doch sogar ein 
eingebautes Display auf dem man das realisieren könnte.

Gruß,
Indy

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.