conexión USB CDC (enchufe / desenchufe el cable)

1

Tengo un problema con USB CDC (ejecutándose en un LPC1788). Si enciendo una placa madre con el cable USB (dispositivo NXP) ya conectado, el O.S. (Linux) no identifica el dispositivo, pero si lo desconecto y lo vuelvo a conectar, se identifica y funciona bien. Lo mismo sucede si reinicio mi placa NXP, la O.S. no identifica el dispositivo NXP hasta que desconecte / enchufe el cable.

Verifiqué el código, y lo que sucede es que la aplicación permanece para siempre en el bucle while (!USB_Configuration); . ¿Es necesaria alguna configuración en el dispositivo USB para que el dispositivo realice una configuración automática cuando ya está enchufado?

Estoy usando el código de ejemplo del paquete 177x_8x_PDL_110602 de NXP.

    
pregunta Ricardo Crudo

1 respuesta

2

El host solo comienza a enumerar el dispositivo USB cuando sabe que está conectado. La conexión se comunica al host mediante la configuración de una resistencia de pull-up en la línea D + (para dispositivos de velocidad máxima).

El LPC1788 tiene un pin USB_CONNECT que se usa para conectar la resistencia de pull-up usando software. Consulte la sección 11.6.7 SoftConnect en el documento UM10360 (manual de usuario de LPC17xx). Por alguna razón, la configuración del código de este pin no se ejecuta en algunos casos, supongo. Quizás esto esté relacionado con la detección de la tensión del bus en el arranque.

Mi sugerencia: mida el voltaje del pin USB_CONNECT en las situaciones de trabajo y no de trabajo. Si son diferentes, mire en qué parte del código está establecido / desactivado este pin.

    
respondido por el Alexander

Lea otras preguntas en las etiquetas