Hi Leute! Als erstes mal ein grosses Lob an das Forum, lese nun schon seit einigen Monaten mit und ich finde es angenehm das hier dieses "fertigmachen von Personen mit komischen Ideen" welches in den anderen Foren so eingerissen hat hier weitestgehend fehlt! Und nun meine Frage: Ich möchte gerne einen MP3-Player bauen der eine 2.5" IDE-Festplatte als Speicher benutzt und im Windows-Arbeitsplatz als normales Wechsellaufwerk erkannt wird, also so das dann die Musik per Drag n'Drop übertragen werden kann und die Ordnerstruktur beibehalten wird Also wenn ich, als Beispiel, die Ordner von den interpreten X(10 Lieder) und Interpret Y (15 Lieder) übertrage soll es nachher auf dem Display des Players auch so angezeigt werden. Das ganze möchte ich in Bascom programmieren, bin aber was die Sprache angeht auch flexibel (solange ich im Internet genug dokumentationen finden kann welche ich in Notsituationen als "strohhalm" benutzen kann) Und nun: Was denkt ihr? Machbar? An was hab ich noch alles nicht gedacht? Also: Speicher: IDE-Festplatte Sprache: Bascom Microkontroller: Atmel ATmega 32 Welchen MP3-Decoder Chip bräcuht ich und ist kompatibel und so? PS: Ich habe viel im i-net gelesen, einige Projekte gefunden usw. doch bis jetzt war das welches genau meinen Vorstellungen entspricht noch nicht darunter. Also, ich freue mich auf eure Antworten und gegenfragen! Viele liebe Grüsse, Marius
Laso ob dieses Forum soo friedlich ist? Ich finde, hier sind einige sehr hochnäsig. Soviel zu Deiner Einleitung. Wie willst Du denn den Player an den PC anschießen? Welche Schnittstelle? Als MP3-Decoder würde ich den STA013 verwenden. Der kann alles und ist extrem einfach zu handeln.
Machbar ist es sicherlich, aber warum sollte man sowas tun? Ich habe mir vor einigen Jahren mal eine HDD von Kenwood fürs Auto gekauft. (Auch eine 2,5") Die wird als normaler Wechsler erkannt. Super sache... Bis jetzt die ganze Speicherkarten eine akzeptable Größe aufweisen. Wenn Du ein solches Projekt vorhast, so würde ich lieber auf eine Speicherkarte pledieren. Die ist einfacher anzusteuern und dadurch sparst Du Dir einiges an Problemen. Außerdem könntest Du die Karte einfach rausnehmen und in ein Chipkartenlesegerät stecken. Genügend Demo-Sources im Umgang mit dem FAT Betriebssystem gibt es. Als Dekoder wirst Du wohl ein Hardwaredecoder benötigen. MP3 in einem Atmega mal eben so zu dekodieren nenne ich jetzt einfach mal unmöglich. Aber überlege Dir gut, ob es die Arbeit wirklich wert ist...
zu taucher: Finde ich auch, dass dieses Forum keineswegs friedlich ist. Es kommt sehr selten mal vor, dass ich einen Thread lese, indem nicht über irgendwelche Rechtsschreibfehler diskuttiert wird. Aber das nur OT
Die Sache mit dem "Wechsellaufwerk in Windows" ist wohl der Knackpunkt bei Deinem Projekt, weil alle anderen aufgezählten Features sind bereits "alte Hüte". Ich gehe mal davon aus, dass Du den Player per USB-Schnittstelle an den PC anschließen willst. Der ATmega 32 hat selber keine USB-Schnittstelle und die USB-MassStorageDevice-Funktionalität ohne USB-Hardware in Bascom nachzubilden halte ich auch für unmöglich. Du müsstest daher wohl auf einen AVR mit USB-Hardware umsteigen...
Hallo Marius, das Projekt hört sich ganz gut machbar an. Es gibt auch einen Controller, der das Ansteuern von Festplatten sehr einfach macht. Man sendet einfache Kommandos a la DOS an den Controller und dieser übernimmt die Ansteuerung der Platte (soweit ich weiss muss es eine Platte mit USB sein) und lässt einem bequem die gewünschten Daten zukommen. Frag mich nur nicht wie der Controller heisst :-p Aber ich könnte es rausfinden wenn du mich nochmal fragst, ein Kollege hat den bei sich rumliegen, den könnte ich fragen. Gruß, Christian
Christian Böge wrote:
> Frag mich nur nicht wie der Controller heisst :-p
Du meinst sicherlich den Vinculum.
Dessen Ansteuerung empfinde ich teilweise als sehr nervig, da dessen
Firmeware etliche Bugs und sonstige unschönen Features hat.
Da würde ich eine echte HDD oder eine SD Karte bevorzugen: Die ist nicht
nur schneller, sondern am Ende auch einfacher.
>Da würde ich eine echte HDD oder eine SD Karte bevorzugen: Die ist nicht >nur schneller, sondern am Ende auch einfacher. Compact Flash wäre auch noch eine Möglichkeit. HDD ist für einen portablen Player wegen des Stromverbrauchs nicht so schön. Braucht eigentlich auch zu viele Pins am uC. Die Daten mit einem Atmel uC mit USB Fähigkeiten zu übertragen dürfte zum Geduldsspiel werden. 40, 80 oder mehr GB wollen erst mal übertragen werden. Bei einer SD würde ich den Kartenleser bevorzugen. Ab 4GB wird auf jeden Fall FAT32 benötigt. Und der Support von langen Dateinamen dürfte wohl auch nötig sein. >das Projekt hört sich ganz gut machbar an. Das ist masslos übertrieben ;)
Okay, natürlich muss ich mich nicht auf meinem ATmega 32 festbeissen, wenns was andres gibt mit besserer USB-Funktionalität (vielleicht schon integriert?) w$re das natürlich noch schöner;) und ja, will den Player über USB an den PC anhängen können aber die Festplatte nicht über USB an den Player! Wieso man sowas machen sollte? Weils spass macht!;)
Hab nen Blitzeinfall gehabt! Kennt ihr die Konverter um interne IDE-HD's an USB anzuschliessen? Wie wäre es zwischen HD und player einen Controller zu schalten der das kann und dann würde man die Lieder nicht vom PC->Player->HD SOndern einfach PC->HD übertragen, also wie mit einer Speicherkarte was meint ihr? Wie gross ist der aufwand noch xtra so einen Controller zu programmieren? Und einen Hardware-Decoder-Baustein möcht ich eigentlich eh!...
>Kennt ihr die Konverter um interne IDE-HD's an USB anzuschliessen? Nö, noch nie was von gehört. >Wie wäre es zwischen HD und player einen Controller zu schalten der das >kann und dann würde man die Lieder nicht vom PC->Player->HD SOndern >einfach PC->HD übertragen, also wie mit einer Speicherkarte Geh spielen Kleiner ;) Du hast sowas von keine Ahnung.
> Kennt ihr die Konverter um interne IDE-HD's an USB anzuschliessen?
Cypress CY7C68300 ist dafür geeignet. Du musst allerdings darauf achten,
daß Dein µC die IDE-Platte nicht anspricht, solange es die
USB-IDE-Bridge tut, also solange Dein Aufbau an den PC angeschlossen
ist.
Außerdem solltest Du bedenken, daß man, um eine IDE-Platte anzusteuern,
sehr viel I/O-Leitungen benötigt, da Festplatten mit
16-Bit-I/O-Zugriffen arbeiten, und daß man außerdem nicht um FAT32
herumkommt, sofern die Festplatte größer ist als 2 GByte.
Für FAT32 dürfte das RAM des ATmega32 jedoch ein bisschen zu knapp
dimensioniert sein.
Besser als ein 8-Bit-AVR dürfte ein Controller mit externem 16- oder
32-Bit-Bus geeignet sein, da da die IDE-Schnittstelle per "memory mapped
I/O" angesteuert werden kann, was erhebliche Performancevorteile mit
sich bringt. Auch können diese Controller i.d.R. sehr viel mehr RAM
ansteuern als ein 8-Bit-Controller; wenn FAT32 und "lange"
Dateinamen/Verzeichnisnamen anständig funktionieren sollen, ist dafür
viel RAM vorteilhaft.
mit BASS-COM wird das sicherlich nix mit MP3 player + IDE Festplatte. Mit einer richtigen Programmiersprache und guten Programmierstil (den man von einem BASS-COM Programmierer nicht erwarten kann), könnte das selbst ein kleinerer AVR schaffen (aber unter Mega16, besser noch mega128 würde ich nicht ansetzen).
Marius S. wrote: > Mit einer richtigen Programmiersprache und guten Programmierstil (den > man von einem BASS-COM Programmierer nicht erwarten kann), könnte das > selbst ein kleinerer AVR schaffen (aber unter Mega16, besser noch > mega128 würde ich nicht ansetzen). Ein Mega16 sollte eigentlich reichen, außer man baut komplizierte Playlists oder sowas in der Richtung ein. Mein mp3 Player mit SD Karte und FAT16, LFN Unterstützung, ID3, Display usw. kommt mit einem mega8 aus (es sind sogar noch 802 Bytes frei)...
Mit BASCOM (warum fällt es so schwer, das richtig zu schreiben? Sind doch nur 6 Buchstaben) kann man prinzipiell schon Festplatten ansteuern, dazu hat F.J. Vögel eine geeignete Library entwickelt. Was damit halt nicht out-of-the-Box geht, sind echte Dateinamen statt der 8.3-Namenskürzel, und auch nicht FAT32, sondern nur FAT16 (mit der bekannten 2 GByte-Einschränkung).
Für C wirst du mehr Unterstützung vom Forum erwarten können. FAT32 bracht doch gar nicht so viel mehr Recourcen als FAT16. Aber natürlich gehen die Berechnungen auf einem 32 Bit MC schneller.
Na, nimm doch eine 64-Bitter. Da gehts noch schneller... Also mal im Ernst: Was soll der MC denn machen? Die dateien dem MP3-Decoder zuschieben und das wars dann. Dafür reicht ein 8-Bitter bequem! Und Fat32 ist nicht komplizierter oder komplexer als Fat16. Damit wird ein 8-Bitter locker fertig. Nur wenn Du alle Dateien alphabetisch sortieren willst, brauchst Du viel Speicher, aber nicht mehr Rechenleistung!
Okay, danke vielmals für die vielen Antworten und Denkanstösse;):) Ich soll: ->Ein 32-bit MC nehmen (Mega 128?) ->Fat 32 verwenden ->C Verwenden (mehr Unterstüzung) ->Cypress CY7C68300 als USB-Bridge verwenden Wo liegt der Denkfehler in dieser Aufbau's Idee?: Ich nehm meinen ATmega32 einfach als "Eingangspforte" also wenn Spannung aufm USB-Weg reinkommt (wenns am PC angeschlossen ist) schlatet er um au USB-Modus, "koppelt" also die Festplatte ab so das sie nur am PC hängt. Liegt danach die Spannung nicht mehr an "verbindet" er FEstplatte und Mega 128 wieder. So, und nun zum C: Meine C-Zeit ist schon n'Weilchen her, wer kennt n'gutes Buch das sich mit C auf Atmel's beschäftigt? Oder n'Tutorial? (noch schöner wär eins das sich gerade mit MP3-Playern beschäftigt;)) Kann ich beim Mega128 meinen ISP-Programmer weiterhin verwenden? (MK2)
32-Bit MC für so ne Kleinigkeit? Nunja, dann solls sicher eine 32TByte-Platte sein, oder? Allerdings würde ich SCSI nehmen, sonst ist die Platte zu lahm...kopfschüttel
taucher wrote: > Allerdings würde ich SCSI nehmen, sonst ist > die Platte zu lahm... Wenn schon, dann eine SATA2 mit dem Interface über Bitbanging...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.