Forum: Mikrocontroller und Digitale Elektronik USB-Anbindung mit MSD-Unterstützung


von Michael S. (kyromaster)


Lesenswert?

MP3-Player haben ja auch oft MSD-Unterstützung, d.h. wenn Sie an einen 
PC angeschlossen werden verhält sich der Player wie ein USB-Stick. Die 
eigentliche Funktionalität (d.h. die MP3-Wiedergabe) ist nur verfügbar 
wenn der Player nicht über USB verbunden ist.
Gibt es Controller (als zusätzlicher Baustein der mit Mikrocontroller 
und SD-Karte geschaltet wird) die so etwas implementieren, also die 
MSD-Unterstützung, FAT32 und das Schreiben auf den Flash-Speicher? Oder 
wird so etwas immer voll softwareseitig realisiert?

von Christian R. (supachris)


Lesenswert?

Für USB ist meist sowas wie der Cypress CY7C68300 drin. Oder eben was 
anderes, je nach Karten/Flash-Art. Den steckst du an Windows an, und 
hast eine normale Wechselplatte. Da gibts einen steuerpin, den Bus 
freizuschalten, wenn der MP3 Player drauf zu greifen will. Sowas hab ich 
auf Arbeit mal gebaut, allerdings eine ernsthafte Anwendung: Aufgelötete 
Flashkarte aus einem Hyperstone Controller, ein Cypress für USB 2.0 und 
ein DSP. Geht wunderbar. FAT32 muss der DSP dann halt machen, aber so 
schwer is das nicht.

von Michael S. (kyromaster)


Lesenswert?

Welche Aufgabe übernimnmt der Cypress Chip denn genau in diesem Aufbau? 
Meldet er sich nur bei Windows als MSD an, und gibt die Daten weiter zum 
yC? Also muss man das Dateisystem auf dem yC (oder DSP) verarbeiten?

von Christian R. (supachris)


Lesenswert?

Der Cypress übernimmt den USB <-> CF Adapter, also ein 
Massendatenspeicher. Der DSP muss trotzdem FAT32 beherrschen.

von Fasti (Gast)


Lesenswert?

Hi!

Interessant könnte hier auch der neue Vinculum von FTDI sein. Dies ist 
ein USB-Host Controller der die gesamte USB-Kommunikation auch z.B.: mit 
USB-Sticks übernimmt. Ein uC kann mit SPI, UART oder parallel 
angeschlossen werden und über die auf dem Chip integrierte Firmware wird 
ein einfaches Protokoll zur Datenkommunikation mit dem uC 
bereitgestellt. Näheres bei FTDI.

ciao

Fasti

von Michael S. (kyromaster)


Lesenswert?

Klingt interessant, aber ich suche eher nach einem Client-Controller als 
einem Host-Controller.
@Christian R. Danke für Deine Erklärung, dieser Chip ist glaub ich genau 
das was ich brauche. Nur nochmal zum Verständnis. Wenn das Gerät an den 
PC angeschlossen ist übernimmt der Cypress-Chip die gesamte 
Kommunikation und das Schreiben und lesen vom Flash (im FAT32). Wenn 
abgeschaltet oder vom yC angefordert hat der yC die Kontrolle über den 
Flash und kann die Dateien einlesen und verarbeiten. Stimmt das so in 
etwa?

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

Wenn du einen MP3-Player an einem Mikrocontroller betreiben willst, 
suchst du nach einem HOST-Controller.
Sowas gibt es auch als Huckepack-Platine (hier im Forum mal nach 
USB-HOST suchen). Da ist dann ein ARM drauf, der so tut als wäre er ein 
HID, MSD oder sonst was. Der Firmenname ist mir leider entfallen (ich 
dachte es wäre "Wiznet", ist es aber nicht).

Übrigens wird der USB-Stack in meist Software realisiert.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ersetze "Flash" mit IDE/ATAPI-Gerät und das wiederum durch eine CF-Karte 
im TrueIDE-Modus, und Du hast recht.
Für das Dateisystem interessiert sich die USB-IDE-Bridge übrigens nicht, 
das wird vom Host (also vom PC) verwaltet. Unterhalb 2 GByte 
Kartenkapazität kann es also auch FAT16 sein.


von Christian R. (supachris)


Lesenswert?

Genau so ist es. die Cypress Dinger sind preiswert und leicht 
erhältlich, CF-Karten werden auch immer größer und billiger. Musst halt 
auf deinem µC dann FAT implementieren und sicherstellen, dass nur ein 
Controller auf das ATA Gerät zugreift. Ist aber in einer Appnote von 
Cypress gut beschrieben.

von Michael S. (kyromaster)


Lesenswert?

:) Das hört sich prima an, genau sowas hab ich gesucht
Könnt ihr mir einen Händler empfehlen, wo man diese Chips billig 
bekommt, oder sind die überall gleich teuer?

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.