¿"USB FS PHY / USB HS ULPI" implica capacidades dobles de USB cuando se usa un USB PHY externo?

Algunos microcontroladores, por ejemplo, la línea común STM32, reclaman capacidades USB en este sentido:

USB 2.0 OTG HS, es decir, dispositivo USB 2.0 FS/HS/host/controlador OTG, que integra los transceptores para un funcionamiento a máxima velocidad y presenta un ULPI para un funcionamiento a alta velocidad: se requiere un dispositivo PHY externo conectado al dispositivo.

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

¿Eso significa que hay un controlador USB, conectado a un FS PHY y con las capacidades (/ pines, ULPI) para conectarse a un HS PHY (uno u otro), o eso significa que hay un controlador independiente + par PHY limitado a velocidad completa y algo completamente diferente que administraría un PHY externo, lo que significaría el doble de capacidades USB cuando se usa un PHY externo?

La redacción de ese recurso me hace creer lo primero, pero los resúmenes de características de las hojas de datos me hacen creer lo segundo:

Conectividad avanzada

  • Dispositivo USB 2.0 de velocidad completa/host/controlador OTG con PHY en chip
  • Dispositivo USB 2.0 de alta velocidad/velocidad completa/host/controlador OTG con DMA dedicado, PHY de velocidad completa en chip y PHY de alta velocidad en chip o ULPI según el número de pieza

Esta pregunta Conectar dos USB DP/DM también me deja inseguro: "La única vez que se usará el puerto FS es durante dfu, donde el ulpi no funcionará". ?

Me encantaría una aclaración. Con suerte, los conceptos subyacentes no son específicos de STM32.

No estoy seguro de asumir algo por implicación. Para el modelo específico de MCU que está considerando, deberá leer la hoja de datos y determinar qué está y qué NO está incluido en su funcionalidad. No hay respuestas generales que se apliquen a todas las partes posibles que contienen hardware USB.

Respuestas (3)

En algunos de sus tableros EVAL pusieron un PHY y un OTG, estoy 99% seguro de que puede ejecutar ambos al mismo tiempo.

Interpreto esta declaración (de la hoja de datos stm32f750v8) en el sentido de que puede tener dos conexiones USB al mismo tiempo, pero la segunda requiere un phy.

Un USB OTG de alta velocidad y un USB OTG de alta velocidad con capacidad de velocidad completa (con ULPI)

He visto STM32H7 o F7 con dos pares D+ D- en ellos (no recuerdo dónde), así que asumo que tienen dos usb phys integrados.

Si dice (con la ULPI), necesitará un PHY para dos USB

Además, si desea los 480 Mbits completos, necesitará un PHY.

Si el hardware OTG_HS no tiene un HS PHY integrado, entonces puede usar el FS PHY interno o usar un HS PHY externo usando ULPI. Un solo hardware OTG_HS no puede operar en ambos modos simultáneamente.

Algunos dispositivos STM32 tienen un hardware OTG_HS con HS PHY integrado.

Algunos dispositivos pueden tener hardware OTG_FS y OTG_HS al mismo tiempo. STM32F407 es un ejemplo. Estos dispositivos pueden activar ambos periféricos USB al mismo tiempo, de forma completamente independiente entre sí.

Incluso cuando se opera en modo de velocidad máxima con FS PHY interno, el hardware OTG_HS aún tiene algunas ventajas sobre el hardware OTG_FS. Tiene DMA dedicado y mayores cantidades de memoria intermedia dedicada en comparación con OTG_FS.

Por lo general, forman dos 'líneas de funciones', ya que la parte del host y la parte del dispositivo del sistema USB son completamente diferentes y se excluyen mutuamente. Sin embargo, por lo general, solo proporcionan un solo puerto OTG (que tiene doble función), por lo que cuando lo usa como maestro, no puede ser un dispositivo.

La última palabra está en la hoja de datos, pero si solo tiene un par DP/DM, generalmente eso es lo que significan.

En las piezas NXP más nuevas, por ejemplo, he visto un puerto OTG de modo dual y, además, un puerto USB2 solo para dispositivos. Todo depende del conjunto de funciones de MCU.