Hallo Ich würde gerne an einen Mikrocontroller eine USB Schnittstelle dranhängen. Dazu einen Speicherbaustein so dass die USB Schnittstelle wie ein USB Stick funktioniert. Kann man das mit jedem Mikrocontroller oder braucht man da einen speziellen? Ich danke euch schon im Vorraus für eure Antworten Mfg Markus
Du willst also Deinen eigenen USB-Stick bauen? Das geht schon mit eigentlich allen Microcontrollern; die Frage ist eher ob Du das hinbekommst, wenn Du noch keine Ahnung von USB hast. Markus
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
und wie schaut das aus wenn man selber sowas wie einen Joystick basteln will (HID)??
Danke, über diese Seite bin ich schon irgendwann mal gestolpert. Leider erlaubt der beste JoyWarrior nur maximal 4 analoge Achsen. Das ist mir schon zu wenig. Eigentlich dachte ich eher an irgendeinen USB-Chip den ich an einen AVR hängen kann und dann z.B. seine 8 analogen Eingänge nutzen kann.
Wenn man etwas Aufwendigeres machen möchte, sind die FTDI-Chips aus dem Rennen. Also insbesondere bei den diversen Standard-Geräte-Klassen von USB, wie z.B. Storage, HID, etc. Dazu nimmt man entweder einen USB-Controller oder einen Controller und einen USB-Chip, z.B. von Philips. Einen Teil des USB-Protokolls haben die schon eingebaut (die unteren Schichten). Der Rest ist so schwer nicht, wenn man etwas Erfahrung hat. Angebunden werden die USB-Chips unterschiedlich, z.B. memory-mapped oder per spi. Ein Atmel ist also kein Problem.
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.