4 votos

Problemas con la clase de dispositivo CDC

Estoy usando la placa de inicio de 16 bits de 28 pines de Microchip y la comunicación USB con el PC se sigue rompiendo.

Hay dos microprocesadores en la placa. El procesador de aplicación se comunica con el procesador USB a través de UART. El procesador USB está configurado como un dispositivo USB de clase CDC y aparece en el administrador de dispositivos como un puerto serie.

El dispositivo enumera ok y los datos que se transmiten desde el PC al procesador de aplicaciones ok. El procesador de aplicaciones responde al procesador USB, pero la respuesta nunca llega al PC.

Sé que las comunicaciones UART entre los dos procesadores están funcionando bien porque estoy usando un BusBee para monitorear la UART. Yo no escribí el código para el procesador USB (que vino de Microchip). Ya ha funcionado antes, pero no consigo que vuelva a funcionar.

¿Hay alguna herramienta o algo que pueda utilizar para depurar los puntos finales del USB en el PC?

¿Algo como wireshark, pero para USB?

¿Alguien más ha utilizado el kit de inicio de 16 bits de Microchip y ha tenido problemas similares?

31voto

letronje Puntos 128

Olfateo de USB :

Ventanas: http://sourceforge.net/projects/usbsnoop/

Linux: http://www.linux-usb.org/tools.html

Microchip CDC :

Me temo que no sé nada de su pila oficial, pero...

En http://dangerousprototypes.com han estado construyendo un nuevo PIC USB de código abierto pila.

Lo están usando en el nuevo Bus Pirate de un solo chip . El pirata del autobús El conductor del CDC está aquí .

O bien, puede recoja la versión original de la pila alternativa aquí .

4voto

Duncan Smart Puntos 9195

La UART del PIC puede ser exigente. ¿Te has acordado de comprobar el bit de desbordamiento de trama (OERR)? El PIC no podrá recibir comunicaciones UART hasta que el OERR sea borrado.

EDIT: También estaba pensando... ¿tal vez podrías probar una especie de loopback? Es decir, cortar la UART del bucle, y cuando el PC envíe algo por USB, simplemente enviarlo directamente de vuelta. Esto te diría si el problema está en la UART o en el lado USB del PIC.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X