Hi.
Eine USB Anbindung ist eigentlich relativ leicht, wenn man die FTDI
Chips und deren Treiber verwendet! Schwieriger wird es, wenn dann ein
eigenes Laufwerk erscheinen soll, wenn der "Stick" angeschlossen
wird. Da lohnt es sich vielleicht auf der YAMPP Homepage www.yampp.com
nachzusehen. Die haben sowas für ihren MP3 Player schonmal gemacht!
Ich denke aber, dass das größere Problem der Speicherchip sein wird,
wenn man ne vernünftige Größe haben will.
Aber zurück zur eigentlichen Frage. Ich hab mich selbst schon öfter mit
USB für uC beschäftigt. Hab mich aber sofort für die USB Bausteine von
FTDI entschieden, da die einen relativ einfachen Treiber für Windows
und diverse andere Betriebssysteme (unter anderem sind die Treiber auch
bei Linux ab Kernel 2.4.0 dabei) zur Verfügung stellen.
Unter Windows hast du dann die Möglichkeit entweder über einen
virtuellen COM Port (also eine simulierte RS232, die die Daten auf USB
umleitet) mit deinem Controller zu kommunizieren, oder über einen DLL
Treiber. Der DLL Treiber hat den Vorteil, dass höhere Geschwindigkeiten
erreicht werden.
Zum Anschluss an den uC:
Von FTDI gibts 2 Varianten der Chips. Die eine (FT232BM) empfängt die
Daten von USB und gibt sie an den Controller über eine normale serielle
Schnittstelle aus (RS232). Du kannst den Chip also einfach statt eines
MAX232 an den Mikrocontroller hängen.
Die andere Variante (FT245BM) bietet ein paralleles Interface. D.h. die
Daten von USB werden auf einen 8bit Datenbus ausgegeben. Vorteil ist
hier die höhere Geschwindigkeit. Bei Atmel Controller, die einen
externen Speicher verwalten können, kannst du den Chip auch direkt in
den externen Speicherbereich "mappen" (einfügen). Somit kannst du
praktisch über USB Daten senden und empfang, wie wenn du auf ein
externes RAM zugreifen würdest!
Für beide Varianten wird der selbe Treiber verwendet! Ach ja... seit
kurzem gibts auch eine kombinierte Version der beiden vorhin genannten.
Kenn diese Version aber selbst leider noch nicht!
Die Herstellerseite der USB Chips ist übrigens folgende
http://www.ftdichip.com . Auf meiner Homepage
(http://home.pages.at/aauer1) findest auch noch ein paar Infos!
mfg
Andreas
--
Student of Telematics aauer1 (at) sbox.tugraz.at
Graz, University of Technology http://home.pages.at/aauer1