FT245 als Massenspeicher?

Gast #130159
Lesenswert?
• ▲
▼
Hallo,

ich hab jetzt alle Möglichkeiten eine USB-Verbindung zum PC aufzubauen
durchgespielt und letztendlich eingesehen, das der FT245 für meinen
Fall am einfachsten zu Handhaben ist. Mich würd jetzt nur noch
interessieren, ob man dem PC mit dem FT245 ein Massenspeichergerät
"vorspielen" kann. Falls es nicht geht werd ich wohl oder übel ein
Prog selber schreiben müssen, das die Files auf das Board überträgt ...
mpf

MFG

Hannes
Gast #130160
Lesenswert?
• ▲
▼
Nein, das vom FT245 implementierte USB-Protokoll kann nicht geändert
werden, so daß damit kein "Mass Storage Device" implementiert werden
kann.

Wenn es bei Deinem Gerät eine Festplatte/CF-Karte vorhanden ist und es
nur um die Übertragung von Dateien geht, dann lohnt es sich, einen
Cypress-Chip näher anzusehen (siehe Thread "USB-Massenspeicher").
Dieser ist eine USB2-IDE-Bridge und übernimmt ohne weitere
Programmierung das gesamte USB-Festplattenhandling.
"Deine" Aufgabe ist's dann nur noch, herauszufinden, ob gerade eine
Verbindung zum USB-Host besteht (und dann die Füße stillzuhalten) und
im anderen Falle mit von Dir selbst zu schreibenden Dateisystemtreibern
auf die IDE-Platte/CF-Karte zuzugreifen.
Gast #130166
Lesenswert?
• ▲
▼
Daß man mit USB-Interface-Chips wie dem FT245/232 kein USB Mass Storage
Device implementieren kann, liegt nicht am Treiber (auf der PC-Seite),
denn den würde man bei einem MSD ja gar nicht benutzen.

Vielmehr liegt das daran, daß diese Chips "abgeschlossene"
USB-Devices sind, bei denen man als Anwender die eingebaute
USB-Firmware überhaupt nicht beeinflussen kann.

Um selbst irgendwelche USB-Funktionalitäten zu implementieren, muss man
ein USB-Interface-IC verwenden, bei dem man den USB Device Stack selbst
in der Hand hat - wo dieser also auf einem selbstprogrammierten
Microcontroller läuft.
Die FTxxx-ICs sind gewissermaßen "black boxes", in denen ein nicht
umprogrammierbarer Microcontroller vor sich hin werkelt.

Realistische Chancen hat man entweder mit Microcontrollern mit
eingebautem USB-Interface (Cypress EzUSB) oder aber mit externen
USB-Interfaces wie dem Philips PDIUSBD11/12.

Darauf aufbauend ein Mass Storage Device aufzubauen, ist allerdings
eine heftige Aufgabe - wie in einem anderen ausführlichem Thread
bereits ausführlich diskutiert, implementiert ein MSD nur einen
einfachen Blockzugriff auf ein (großes) Speichermedium. Die Verwaltung
des Dateisystems darauf wird vom angeschlossenen PC übernommen.
Daher darf dieses nur dann mit Inhalten gefüllt werden, wenn es nicht
mit einem PC verbunden ist oder aber nur vom PC über USB.
Ein einfacher dauerhafter Dateizugriff der Art "Microcontroller
schreibt Datei in Speicher, PC kann diese über USB sehen" ist mit
einem MSD nicht realisierbar.
Das entspräche dem gleichzeitigen Anschluss einer Festplatte an zwei
PCs - hier bekommt der eine PC auch nicht mit, daß ihm hinterrücks die
Daten geändert werden, wenn der andere PC auf die Platte schreibt.

Solche Lösungen sind nur mit Systemen umsetzbar, bei denen das
Dateisystem vom Microcontroller und eben nicht vom PC gehandhabt wird.
Das ist beispielsweise bei embedded Web-Servern der Fall, diese aber
werden nicht via USB, sondern über Netzwerkinterfaces angeschlossen.

Der von mir früher in diesem Thread erwähnte Cypress-Controller ist nur
dann zu nutzen, wenn das betreffende Gerät nur gelegentlich mit einem PC
verbunden wird - wie es bei festplattenbasierten mp3-Playern ja nun der
Fall ist.
Ein transparenter Dateisystemzugriff ist auch hier aus gerade erwähnten
Gründen nicht möglich.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.