Ich entwerfe ein Board mit einem STM32F103CBT6-Chip und habe versucht herauszufinden, wie USB funktioniert, damit ich das erweitern kann. Das Lesen einiger Spezifikationen im Internet hat mich mit weiteren Fragen zurückgelassen. Aus einer anderen Stapelüberlauffrage habe ich diese 2 Dokumente erhalten, auf die ich in meinen Fragen verweisen werde.
Fragen:
Es sei denn, eine Seite ist ein OTG-Port, der beide Rollen erfüllen kann. Dies ist normalerweise nur ein Anschluss vom Typ „AB“.
Der Pull-up ist anscheinend an eine 3,3-V-Versorgung angeschlossen .
Lange Kabel können ein Problem darstellen, insbesondere bei marginalen USB-Implementierungen. Es ist jedoch nicht unbedingt der Kabelwiderstand, der der Feind ist. Der Verlust ist eine Funktion mehrerer Faktoren, aber die charakteristische Impedanz des Kabels sollte es sein Differential. Der Abschlusswiderstand passt diesen Wert an, um Reflexionen im Kabel zu vermeiden.
Hier ist ein Beispielschema des Discovery-Boards . Sie benutzen Widerstände. Die Rs-Terminierung ist gelegentlich chipintern, aber das scheint hier nicht der Fall zu sein. Manchmal ist es am besten, einfach zu kopieren, was Sie finden, besonders wenn Sie wissen, dass es funktioniert!
USB-Hardware scheint immer mit 48 MHz getaktet zu sein. Vielleicht muss etwas im Transceiver 4x schneller passieren als die Datenleitungen, aber das kommt sehr häufig vor. Es ist auch üblich, dies von einer PLL von einem langsameren Takt abzuleiten, aber ich weiß nicht, ob das hier eine Option ist. Sie müssen auf die Genauigkeits- und Driftspezifikationen des Oszillators achten, um sicherzustellen, dass er unter allen Betriebsbedingungen gut funktioniert.
Nathaniel JPerkins
Daniel