Bedeutet "USB FS PHY / USB HS ULPI" doppelte USB-Fähigkeiten bei Verwendung eines externen USB-PHY?

Einige Mikrocontroller, zum Beispiel die gängige STM32-Reihe, beanspruchen USB-Fähigkeiten in dieser Richtung:

USB 2.0 OTG HS, d. h. USB 2.0 FS/HS-Gerät/Host/OTG-Controller, der die Transceiver für den Betrieb mit voller Geschwindigkeit integriert und über einen ULPI für den Betrieb mit hoher Geschwindigkeit verfügt: Ein externes PHY-Gerät, das an das Gerät angeschlossen ist, ist erforderlich.

Aus: Teil 2, https://www.st.com/resource/en/application_note/dm00296349-usb-hardware-and-pcb-guidelines-using-stm32-mcus-stmicroelectronics.pdf

Bedeutet das, dass es einen USB-Controller gibt, der mit einem FS-PHY verbunden ist und über die Fähigkeiten (/Pins, ULPI) verfügt, sich mit einem HS-PHY (dem einen oder anderen) zu verbinden, oder bedeutet das, dass ein eigenständiges Controller-PHY-Paar begrenzt ist? volle Geschwindigkeit und etwas ganz anderes, das einen externen PHY verwalten würde, was doppelte USB-Fähigkeiten bei Verwendung eines externen PHY bedeuten würde?

Der Wortlaut dieser Ressource lässt mich ersteres glauben, aber Zusammenfassungen der Datenblattfunktionen lassen mich letzteres glauben:

Erweiterte Konnektivität

  • USB 2.0 Full-Speed-Gerät/Host/OTG-Controller mit On-Chip-PHY
  • USB 2.0 High-Speed/Full-Speed-Gerät/Host/OTG-Controller mit dediziertem DMA, On-Chip-Full-Speed-PHY und On-Chip-Hi-Speed-PHY oder ULPI, je nach Teilenummer

Diese Frage , die zwei USB DP/DM verbindet, lässt mich auch unsicher: "Der FS-Port wird nur während dfu verwendet, wo der Ulpi nicht funktioniert." ?

Ich würde mich über eine Klarstellung freuen. Hoffentlich sind die zugrunde liegenden Konzepte nicht STM32-spezifisch.

Ich bin mir nicht sicher, ob ich implizit irgendetwas annehmen würde. Für das spezifische MCU-Modell, das Sie in Betracht ziehen, müssen Sie das Datenblatt lesen und bestimmen, was in seiner Funktionalität enthalten ist und was NICHT. Es gibt keine allgemeingültigen Antworten, die für alle möglichen Teile gelten, die USB-Hardware enthalten.

Antworten (3)

In einige ihrer EVAL-Boards haben sie ein PHY und ein OTG eingebaut, ich bin mir zu 99% sicher, dass Sie beide gleichzeitig betreiben können.

Ich interpretiere diese Aussage (aus dem stm32f750v8-Datenblatt) so, dass Sie zwei USB-Verbindungen gleichzeitig haben können, aber die zweite eine Phy erfordert.

Ein USB OTG Full-Speed ​​und ein USB OTG High-Speed ​​mit Full-Speed-Fähigkeit (mit dem ULPI)

Ich habe STM32H7 oder F7 mit zwei D + D-Paaren gesehen (kann mich nicht erinnern, wo), also nehme ich an, dass sie zwei USB-Phys eingebaut haben.

Wenn es (mit dem ULPI) sagt, dann brauchen Sie einen PHY für zwei USBs

Auch wenn Sie die vollen 480 Mbits wollen, benötigen Sie einen PHY.

Wenn die OTG_HS-Hardware keine integrierte HS-PHY hat, kann sie entweder die interne FS-PHY oder eine externe HS-PHY mit ULPI verwenden. Eine einzelne OTG_HS-Hardware kann nicht in beiden Modi gleichzeitig betrieben werden.

Einige STM32-Geräte verfügen über eine OTG_HS-Hardware mit integriertem HS-PHY.

Einige Geräte verfügen möglicherweise gleichzeitig über OTG_FS- und OTG_HS-Hardware. STM32F407 ist ein Beispiel. Diese Geräte können beide USB-Peripheriegeräte gleichzeitig und völlig unabhängig voneinander aktivieren.

Selbst beim Betrieb im Full-Speed-Modus mit interner FS-PHY hat die OTG_HS-Hardware noch einige Vorteile gegenüber der OTG_FS-Hardware. Es verfügt über dedizierten DMA und größere Mengen an dediziertem Pufferspeicher im Vergleich zu OTG_FS.

Normalerweise bilden sie zwei "Funktionslinien", da der Hostteil und der Geräteteil des USB-Systems völlig unterschiedlich sind und sich gegenseitig ausschließen. Normalerweise bieten sie jedoch nur einen einzigen OTG-Port (der eine doppelte Rolle hat). Wenn Sie ihn also als Master verwenden, können Sie kein Gerät sein.

Das letzte Wort steht im Datenblatt, aber wenn Sie nur ein DP / DM-Paar haben, ist das normalerweise gemeint.

In neueren NXP-Teilen habe ich beispielsweise einen Dual-Mode-OTG-Port und zusätzlich einen USB2-Port nur für Geräte gesehen. Es hängt alles vom MCU-Funktionsumfang ab.