PIC32 actúa como USB CDC HOST a FTDI

1

Estoy pirateando un diseño que ya está hecho con un PIC32MX para adjuntar un FTDI CHIP a la real diseño. Este FTDI debería servir para crear un "puente" entre USB y UART para poner a funcionar este Fingerprint Reader correctamente. No estoy utilizando ninguna comunicación UART porque no tengo más puertos UART disponibles. Esa es la única razón por la que estoy tratando de poner en funcionamiento el módulo USB.

El pin VUSB está conectado al VCC_3V3 pero en la hoja de datos se menciona dos informaciones opuestas . En la página 41 dicen "Alimentación del transceptor interno USB. Si no se usa el módulo USB, este pin debe estar conectado a VDD". y en la página 45 se menciona "Nota 1: Si se usa el módulo USB, este pin debe estar conectado a VDD". ¿Qué debo hacer?

El regulador de 5 V proporciona la alimentación al FTDI y no estoy usando (ignorando) el pin VBUSON 11 ni el pin VBUS 34 y tengo el FTDI conectado a los pines USB 36 y 37 para D + y D-.

Respecto a que estoy usando el pin 11 para reiniciar el módulo Bluetooth que tengo en el diseño, ¿sientes que realmente necesito ese pin para que el USB funcione correctamente?

¿Qué debo hacer con el pin 34 (VBUS)?

Para que todo el sistema funcione correctamente, debo configurar el USB como host de CDC, ¿no?

    
pregunta scuba

2 respuestas

2

No necesitas usar USB en absoluto. La interfaz al escáner es en realidad los niveles UART TTL. La demostración de SparkFun está usando un cable FTDI porque necesitaban conectarse a una PC. Puede simplemente conectar los pines TX / RX de uno de los UART en su PIC32 con los cables TX / RX del escáner.

Ya que no tiene UART disponibles, puede reemplazar cualquiera de los UART de hardware existentes con una solución de software con dos pines de repuesto. Eso parece ser más fácil que lidiar con todo lo relacionado con USB.

Editar para reflejar los comentarios:

Aquí está el código para un software UART en C. It es para el PIC16, pero debería poder modificarlo para el PIC32. El código está controlado por interrupciones, por lo que, si no te quedan pines de interrupción (INTx), puedes usar cualquier pin marcado como Notificación de cambio de entrada (CNxx) que generará una interrupción cuando el pin cambie de estado.

    
respondido por el tcrosley
0

Leí esa información en el pin VUSB (35) como "conecta el pin VUSB al VDD, ya sea que estés usando el módulo USB o no". De un rápido vistazo a las notas en la página 174, diría que no se puede usar el pin Vbuson (11) como GPIO en el modo de host USB. Probablemente debería conectar Vbus (34) a su conector USB pin-1 para detectar el suministro de 5V USB allí. No recuerdo si eso es necesario en el modo de host.

    
respondido por el brhans

Lea otras preguntas en las etiquetas