USB-Spezifikationen für das PCB-Design.

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.

  1. Fairchild-Spezifikationen
  2. Semtech-Spezifikationen

Fragen:

  1. Können 2 USB-Geräte miteinander kommunizieren, wenn beide als „Downstream“- oder „Upstream“-Geräte bezeichnet sind? 2
  2. Rpd und Rpu von 2 , sind sie unabhängig von Vdd oder ändern sie sich, wenn Ihr Gerät mit einer anderen Versorgungsspannung betrieben wird?
  3. Wenn ich den Abschlusswiderstand richtig verstehe, muss eine Seite des Systems 45 Ohm und die andere Seite gleichermaßen 45 Ohm für eine Gesamtreihe von 90 Ohm haben, wie in 1 angegeben . Was passiert, wenn ein langes Kabel zwischen den 2 Systemen beteiligt ist und mehr Widerstand hinzugefügt wird? Würde die USB-Kommunikation nicht mehr funktionieren?
  4. Wie berechne ich tatsächlich Rs, die zum Hinzufügen der D-Linien benötigt werden? Sind sie irgendwo in den STM32F103-Handbüchern angegeben? Ich habe mit dem Hardware-Designleitfaden, dem Referenzhandbuch und dem Datenblatt für den Chip gearbeitet, aber nichts darauf gesehen.
  5. Das Referenzhandbuch für meinen Chip gibt die volle USB2.0-Geschwindigkeit an, was 2 sagt, ist eine 12-Mbps-Kommunikation, aber das STM32Cubef1-Setup-Programm sagt, dass 48 MHz für die USB-Uhr erforderlich sind, warum die Diskrepanz zwischen Taktgeschwindigkeit und Datenübertragung?

Antworten (1)

  1. Es sei denn, eine Seite ist ein OTG-Port, der beide Rollen erfüllen kann. Dies ist normalerweise nur ein Anschluss vom Typ „AB“.

  2. Der Pull-up ist anscheinend an eine 3,3-V-Versorgung angeschlossen .

  3. 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 90 Ω Differential. Der Abschlusswiderstand passt diesen Wert an, um Reflexionen im Kabel zu vermeiden.

  4. Hier ist ein Beispielschema des Discovery-Boards . Sie benutzen 22 Ω 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!

  5. 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.

1: Ist USB-OTG mit normalem USB kompatibel? 2: Sollten also alle USB-Geräte einen 3V3-Regler haben oder können die Widerstände entsprechend geändert werden? 3: Das USB-Kabel hat also 90 Ohm und die ein- und ausgehenden Anschlüsse verwenden nur Rs, um diesen Kabelwiderstand anzupassen? Was versteht man unter 90 Ohm Differential? 4: Danke, dann nehme ich einfach 22.
1. Äh, ich denke schon ... das ist etwas, dem ich nicht oft begegnet bin. 2. Ich glaube, das tun sie alle. D+ und D- sind 3,3-V-Signale. Oft müssen Sie sich um diese Klimmzüge keine Sorgen machen. Lesen Sie die App-Hinweise und Beispiele sorgfältig durch. 3. Ich denke, Rs wird verwendet, um die Signalreflexion zu dämpfen. Nicht ganz sicher. Die Spezifikation fordert eine Impedanz von 90 Ohm von D+ bis D-. Dies endet damit, dass es 45 gegenseitig auf Masse liegt. 4. klingt nach einem guten Plan!