PIC USB host y dispositivo

0

Llevo varios años diseñando sistemas basados en PIC, pero esta será la primera vez que me involucro en un proyecto basado en la comunicación USB. No sé exactamente por dónde empezar, pero he estado buscando en Internet por unos días "tutoriales PIC USB". Lamentablemente no pude ver ninguna información sobre mi situación.

Necesito diseñar un sistema que tenga "solo un puerto USB" para conectarse a la PC (para pasar algo de información de registro a la PC) y también una "memoria flash USB" para guardar algunos datos. Por supuesto, estas conexiones no se pueden crear al mismo tiempo ya que solo hay una ranura. Pero mi sistema debería percibir qué está conectado y comportarse de una manera adecuada. ¿Es posible crear un sistema como este? ¿Qué tipo de designaciones eléctricas debo considerar? Y se apreciarán algunos enlaces de orientación para un iniciador.

    
pregunta hayat_bilgisi

2 respuestas

2

Mientras el PIC que esté utilizando tenga un puerto "On-The-Go" (por ejemplo, todos los chips PIC32 con USB están On-The-Go), entonces lo que está proponiendo es factible.

El puerto USB proporciona un pin llamado "USBID". En los puertos USB Micro AB hay 5 pines. El pin 4 es el pin USBID (entre D + y GND) y el chip lo utiliza para saber si se supone que actúa como host:

  

Un dispositivo de doble función OTG es compatible con la funcionalidad de dispositivo y host USB. Dispositivos de doble función OTG   utilice un receptáculo micro-AB. Esto permite conectar un micro-A o un micro-B. Ambos   Los enchufes micro-A y micro-B tienen un pin adicional, el pin ID, para indicar qué tipo de enchufe fue con-   nectado El tipo de enchufe conectado al receptáculo determina la función predeterminada del host o   dispositivo. Un dispositivo OTG desempeñará la función de un host cuando se detecte un conector micro-A. Cuando un   Se detecta el conector micro-B, se realiza la función de un dispositivo USB.

     

- PIC32 Manual section 27

Hacer un sistema completamente OTG es un proceso bastante complejo y especializado, y, a menos que ya conozcas íntimamente los modos de dispositivo y host, no estaría dispuesto a intentarlo. En su lugar, separaría los dos roles diferentes en conexiones separadas. Dedicar el USB al dispositivo de memoria USB simplifica el código de forma masiva. Enrutar las comunicaciones de la PC a través de un chip serie USB, como un FT232R, PL2303 o MCP2200, por ejemplo, significa que puede usar el simple dispositivo UART para hacer todas las comunicaciones de la PC. El tiempo de comercialización se reduce, ya que no tiene que aprender todo sobre USB OTG, y también le da la ventaja de que puede tener el USB MSD conectado al mismo tiempo que la conexión a la PC está activa.

    
respondido por el Majenko
0

Pruebe la serie PIC24FJNNNGB (No GA, donde NNN es el tamaño de la memoria del programa en KB) tienen un host USB incorporado en el interior del chip.

    
respondido por el 3bdalla

Lea otras preguntas en las etiquetas