Hallo, Wie erkennt der USB-Host, das ein neues USB-Device eingesteckt wurde? Ich habe am Oszi gesehen, die Spannung an den differienziellen Leitungen 0V sind, solange kein gerät angeschlossen wurde. Wird eines eingesteckt, dann wird die Spannung kurz auf High gezogen (3,3V?) und dann beginnt die Übertragung. Wer aber beginnt die Übertragung, das Device oder Der Host?
https://www.beyondlogic.org/usbnutshell/usb2.shtml Die Erkennung dürfte zunächst über das Vorhandensein eines pull-up Widerstands erfolgen, je nach Version USB 1 oder 2 hier in Fig. 2 und 3 dargestellt.
ferrit schrieb: > Wie erkennt der USB-Host, das ein neues USB-Device eingesteckt wurde? Pull-Up. ferrit schrieb: > Wer aber beginnt die Übertragung, das Device oder Der Host? Der Host. Diese und alle weiteren Fragen hättest Du aber sogar im Wikipedia-Artikel beschrieben gefunden.
Das USB-Gerät enthält einen PullUp auf der D+ oder D- -Leitung bei FullSpeed bzw. LowSpeed. Der PC erkennt den Stromfluss auf der Leitung und schaltet das Gerät ein. Entfernen des Pullups wird als Trennen des Geräts erkannt. Manche Mikrocontroller mit USB-Peripherie haben den Pullup integriert und können ihn durch Software abschalten, sodass man das Gerät "virtuell abstecken" kann. Bei Controllern ohne integrierten PullUp kann man das extern mit einem FET und zusätzlichem GPIO nachbilden: https://www.mikrocontroller.net/articles/Datei:Olimexino_STM32_USB.png Bei HighSpeed-USB wird der Pullup IIRC ebenfalls abgeschaltet, aber HS-Geräte werden auch initial als FullSpeed-Geräte verbunden und schalten dann um. ferrit schrieb: > Wer aber beginnt die Übertragung, das Device oder Der Host? Alle Kommunikation geht vom Host aus. Der Host fängt normalerweise damit an, den Device-Deskriptor abzufragen. Wenn das Gerät darauf nicht reagiert - z.B. weil zwar ein PullUp angeschlossen ist aber gar kein Mikrocontroller mit USB-Peripherie - erkennt der Host ein Fehler (z.B. Fehlermeldung unter Windows).
Hi, kannst auch mal "Ben Eater" auf Youtube suchen, der hat auch was zu USB Keyboards gemacht, sehr Detailiert. Gruß
Wird D+ auf 3,3V gezogen -> Fullspeed Wird D- auf 3,3V gezogen -> Half Speed siehe: https://www.beyondlogic.org/usbnutshell/usb2.shtml Was bedeutet es, wenn D+ auf 3,3V gezogen wird und D- auf 1,8V?
Ok.. ursache unklar aber mein USB Device konnte nun vom USB-Host gefunden werden, ich musste zusätzlich einen 1,5k Widerstand von D- zu GND ziehen und dann wird mein USB device ordnungsgemäß als mit Fullspeed erkannt.
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.