Dispositivo USB STM32L4 con detección VBUS

0

Estoy intentando que la aplicación CDC de muestra generada por CubeMX funcione en STM32l475VG placa de IoT .

Siguiendo un documento de la Comunidad ST, pude obtener la configuración correcta del reloj y la aplicación CDC sin VBus Sensing funciona perfectamente bien. Utilicé MSE recortado por LSE como lo sugiere el documento.

Sin embargo, me gustaría obtener la misma aplicación con la misma configuración de reloj en la misma placa de desarrollo que se ejecuta con VBus Sensing ON y no funciona en absoluto. Esta vez el PC ni siquiera ve el dispositivo en absoluto.

Cuando VBus Sensing está ENCENDIDO, incluso HAL_PCD_IRQHandler no se activa al conectarse.

Necesito VBus Sensing ya que en mi aplicación real estamos usando la unidad uC en un dispositivo autoalimentado.

Estoy probando todos estos experimentos bajo el supuesto de que HW on dev board admite VBus Sensing, ya que con las hojas de datos no puedo leer que se requieren cambios en HW.

¿Es realmente seguro asumir que una aplicación de ejemplo de CDC USB debería funcionar con la detección VBus ENCENDIDA sin modificar la placa de desarrollo HW?

Con la descripción mencionada en el documento, tengo la sensación de que VBus Sensing está deshabilitado intencionalmente por una razón muy específica. ¿Es que las configuraciones del reloj tienen que ser diferentes cuando está encendido?

¿Puede alguien arrojar algo de luz sobre esto?

    
pregunta aep

1 respuesta

0

La detección de VBUS es una función obligatoria para la interfaz USB esclava autoalimentada, para evitar el voltaje de retorno en el cable D + hasta que el cable u-B esté enchufado y haya VBUS. Esto no tiene nada que ver con los relojes, los relojes no deberían tener diferencias en ambos casos.

El STM32L4 Discovery Kit es un dispositivo IoT / SoC bastante sofisticado. Tiene muchas opciones, función USB OTG compleja, batería de alimentación, autoalimentada, ST-LINK, etc. Para que funcione la detección VBUS, al menos no debe haber puentes en el encabezado JP4 2X5, y la señal de detección USB_OTG_FS_VBUS ya está cableada en. Lo único que parece extraño es que VBUS tiene + 5V y va directamente a GPIO de MCU de bajo voltaje sin ninguna traducción de nivel. Puede ser tolerante a 5V, pero extraño.

Por lo tanto, es probable que el problema esté en la configuración del software que maneja el pin USB_OTG_FS_VBUS y habilita la pila USB.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas