Estoy pirateando un diseño que ya está hecho con un PIC32MX para adjuntar un CHIP FTDI al diseño real. Este FTDI debería servir para hacer un "puente" entre USB y UART en la forma de hacer que este lector de huellas dactilares funcione correctamente. No estoy usando ninguna comunicación UART porque no tengo más puertos UART disponibles. Esa es la única razón por la que estoy tratando de hacer funcionar el módulo USB.
El pin VUSB está conectado al VCC_3V3 pero en la hoja de datos se mencionan dos datos opuestos. En la página 41 dicen "Alimentación del transceptor interno USB. Si no se usa el módulo USB, este pin debe conectarse 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é tengo que hacer?
La alimentación al FTDI la da el regulador de 5V y no estoy usando (ignorando) el pin 11 de VBUSON ni el pin 34 de VBUS y tengo el FTDI conectado a los pines USB 36 y 37 para D+ y D-.
Con respecto a que estoy usando el pin 11 para resetear 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 CDC Host, ¿no?
No necesita usar USB en absoluto. La interfaz para el escáner es en realidad niveles UART TTL. La demostración de SparkFun usa un cable FTDI porque necesitaban conectarse a una PC. Simplemente puede cruzar los pines TX/RX de uno de los UART en su PIC32 con los cables TX/RX del escáner.
Como no tiene ningún UART disponible, puede reemplazar cualquiera de los UART de hardware existentes con una solución de software bit-banged utilizando dos pines de repuesto. Eso parecería ser más fácil que lidiar con todas las cosas de USB.
Editar para reflejar los comentarios:
Aquí hay un código para un UART de software en C. Es para el PIC16, pero debería poder modificarlo para el PIC32. El código está controlado por interrupciones, por lo que suponiendo que no le queden pines de interrupción (INTx), puede usar cualquier pin que esté marcado como Notificación de cambio de entrada (CNxx) que generará una interrupción cuando el pin cambie de estado.
Leí esa información en el pin VUSB (35) como "conectar el pin VUSB a VDD, ya sea que esté usando el módulo USB o no".
De un vistazo rápido a las notas en la página 174, diría que no 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 USB de 5V allí. Sin embargo, no recuerdo si eso es necesario en el modo host.
marcajes