STM32F4 USB Beispiele

OP #2760878
Lesenswert?

Hallo,

als nächstes in meinem Projekt möchte ich mich gerne mal mit der USB 
Schnittstelle der STM32F4 Controller beschäftigen. Ich hab mir die 
USB-Libs mal angesehen, doch leider gibt es dabei keine Anleitungen, wie 
bei der Standard-Peripherie-Lib. In den Beispielen von ST steige ich 
nicht ganz durch, deshalb nun die Frage ob sich jemand damit auskennt 
und vllt. auch ein Beispiel hat?

Moritz
Gast #2761760
Lesenswert?

Moritz M. schrieb im Beitrag #2761717:
> On-the-Go ist doch
> eig. dazu da um z.B zwei USB-Sticks miteinander zu verbinden oder?

OTG soll deinem Programm ermöglichen, das Gerät an diesem Anschluss als 
Host oder als Device, je nach Auswahl im Programm(zum Beisp. durch den 
Joystick), zu behandeln.
Ein USB-Stick Inhalt wird als -Board ist Host- für dieses Gerät 
ausgelesen.


Wenn dieser (gleiche!) USB-Anschluss später irgentwann mit dem PC 
verbunden wurde und Du mit dem Joy/Touch    -Board ist Device- 
ausgewählt hast, wird das ganze Board vom PC als "Device" erkannt und so 
behandelt.
Als HID (human interface Device) als Mouse z.B., wenn Du den 
Kompass/Acc. drauf hast. Die Kippbewegungen des Boards bewegen dann 
einen Mauszeiger auf dem PC-Bildschirm ;
Bei meinem Board wird in diesem Fall die SD-Karte des Boards ausgelesen 
und kann beschrieben werden(Data-Logging).
Nun kannst Du 2 verschiedene USB- Anschlüsse vorsehen.
Ich habe einmal FS(Full-Speed) und einen HS(High-Speed über USB3320) am 
Laufen. Und für beide OTG...
OP #2761794
Lesenswert?

Hallo

okay. Also OTG ist praktisch Device und Host in einem, nur das der Host 
eingeschränkte "Rechte" hat gegenüber einem reinen Host. Bei OTG wird 
dann während der Laufzeit festgelegt ob die Schnittstelle Host oder 
Device sein soll? Die USB-Schnittstelle von den STM32F-Controllern kann 
aber auch als normaler Host bzw. Device verwendet werden oder?

Moritz
OP #2761871
Lesenswert?

Hallo nochmal,

ich glaube ich habe die Antwort selbst gefunden (Reference Manual). Also 
STM32F4-Controller habe nur OTG.  Diese OTG-Schnittstelle kann dann nur 
als Host oder nur als Device verwendet werden; Oder als OTG, wobei der 
Modus(Host/Device) während der Laufzeit festgelegt wird.

Hab ich das Richtig verstanden?

Moritz
Gast #2761950
Lesenswert?

...oder noch eindeutiger:
-mit dem Programm FS-USB-Host aus der o.g. Lib kannst Du Dir die Bilder 
auf deinem USB-Stick auf dem LCD 
ansehen,http://www.mikrocontroller.net/attachment/148684/HY_F417_BB_MS-Cardn_007__FILEminimizer_.jpg


-mit dem Programm STM324xG-EVAL_USBD-FS aus o.g. Lib kannst Du am PC den 
Stick als "Laufwerk" öffnen und den Inhalt ansehen und ändern
http://www.mikrocontroller.net/attachment/148558/Speicherinhalt_der_SD-Karte__FILEminimizer_.jpg
Gast #2762034
Lesenswert?

...wenn Du die Lib entpackt hast, öffnest Du z.B.
stm32_f105-07_f2_f4_usb-host-device_lib\STM32_USB-Host-Device_Lib_V2.1.0 
\Project\USB_Host_Device_Examples\DRD
-dann suchst Du Dir die IDE deines Vertrauens und öffnest das 
entsprechende Projekt;
-da ist alles vorhanden und sehr gut kommentiert;
#2762955
Lesenswert?

Moritz M. schrieb:
> ich möchte mich einfach erstmal so mit USB näher beschäftigen. Könntest
> du dein Projekt mal posten?

es ist halt erst mal ein großer Unterschied, ob man einen USB Host
oder ein USB Device realisieren will. Dies sollte man mindestens
mal festlegen. Wenn man dies nicht kann, hilft vielleicht
erst einmal ein Blick in die USB 2.0 Spezifikation,
die man unter http://www.usb.org findet.
Persönliche Seite #2762976
Lesenswert?

http://code.google.com/p/thundercyer-the-alarm-clock/
Das Repo ist nicht sehr aktuell, aber USB ist vollständig drin.

Was USB mit dem ST Lib angeht ist das eigendlich recht simpel.
Bei dem F4 lässt du den OTG Core mit übersetzen bei nem F1 den normalen.
Dann musste Host oder Device mit übersetzen und darin die gewünschte Dev 
Class. Wenn das hast treibst du dich eigenlich nur in den usb_usr.x 
Dateien rum. Da sind die Callbacks aus dem USB stack drin. Sieht man 
auch schön bei dem Mediakey beispiel für das F4discovery.

MfG

Tec

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren