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
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.
Un wo bekomm ich nen Cypress Chip? Hab noch keinen Händler gefunden ... nen Chip gäbs ja schon ...
http://www.cypress.com/products/datasheet.cfm?partnum=CY7C68300 Den kann man bei Segor kaufen. Näheres im Thread "USB Speicher realisierbar" (so heißt der).
Und wie siehts mit einem FT232BM aus? Kann man damit einen Massenspeicher realisieren?
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.
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.