Ich entwerfe ein Entwicklungsboard für den Mikrocontroller STM32F103. Ich plane, einen On-Board-USB für die Verbindung mit dem uC zu implementieren. Ich habe ein paar Designs online verwiesen und habe immer eine Pull-up-Logik in der D+-Linie gefunden.
Kann mir bitte jemand die Verwendung der Pull-up-Logik erklären und mir auch sagen, ob die 22R-Widerstände notwendig sind oder nicht.
Ein USB-Gerät muss seine Geschwindigkeit anzeigen, indem es entweder die Leitung D+ oder D- auf 3,3 Volt hochzieht. Ein Full-Speed-Gerät, wie unten abgebildet, verwendet einen an D+ angeschlossenen Pull-up-Widerstand, um sich selbst als Full-Speed-Gerät zu spezifizieren. Diese Pull-up-Widerstände am Geräteende werden auch vom Host oder Hub verwendet, um das Vorhandensein eines an seinem Port angeschlossenen Geräts zu erkennen. Ohne einen Pull-up-Widerstand geht USB davon aus, dass nichts mit dem Bus verbunden ist. Einige Geräte haben diesen Widerstand in ihr Silizium eingebaut, der per Firmware-Steuerung ein- und ausgeschaltet werden kann, andere benötigen einen externen Widerstand.
http://www.beyondlogic.org/usbnutshell/usb2.shtml
Der Serienwiderstand dient dem Leitungsabschluss
Der Universal Serial Bus (USB)-Leitungsabschluss ist in der USB 1.1-Spezifikation spezifiziert, um ordnungsgemäße Abschlüsse sicherzustellen, damit die Signalintegrität aufrechterhalten wird. Die Terminierungsanforderung variiert je nach verwendetem Treiber-Chipsatz, ob der Port Upstream oder Downstream ist und ob der Transceiver mit voller oder niedriger Geschwindigkeit arbeitet.
Als die USB 1.1-Spezifikation geschrieben wurde, war ein Reihenwiderstand im Bereich von 28 Ω bis 44 Ω erforderlich. Die meisten USB-Treiber benötigen einen Abschlusswiderstand von 16 - 33 Ω.
http://www.semtech.com/images/datasheet/usb%20line%20termination%20_ag.pdf
Eddy_Em
Matt Jung