mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Ansteuerung


Autor: Markus Jech (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andreas Auer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas Kropf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie schaut das aus wenn man selber sowas wie einen Joystick basteln
will (HID)??

Autor: bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Thomas Kropf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Jim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.