Uso compartido de dispositivos USB

0

Tengo un producto (o concepto de) basado en un microcontrolador que actúa como host USB para controlar un dispositivo determinado. El dispositivo también necesita ser controlado por otro dispositivo (host). Supongamos que mi dispositivo dice qué host está conectado al dispositivo. Sabe cuándo el otro host ha terminado con el dispositivo y puede renunciar al control.

Dado que ...

  • ¿Algún problema potencial con la multiplexación de las señales Vusb, D + y D- en el dispositivo y el cambio entre los dos hosts?
  • Suponiendo que la respuesta a lo anterior es 'no', ¿alguna recomendación o consideración sobre el IC real que realiza el cambio? Esta sería una implementación a toda velocidad (12 Mbps).

EDITAR:

Básicamente tengo dos dispositivos existentes (otro host y otro dispositivo). Estas cosas hablan bastante bien pero otros hosts no hacen uso de algunas de las características de otros dispositivos. Sin modificar otro host, me gustaría crear mi dispositivo. Tanto el otro host como el otro dispositivo se conectan a mi host. Mi host controlará otro dispositivo hasta que el usuario le notifique que desea utilizar las funciones proporcionadas por otro host. Cuando esto suceda, mi host lanzará un interruptor (multiplexor) que conecta físicamente a otro host con otro dispositivo. Por lo tanto, simplemente estoy simulando que el usuario extraiga el cable USB de mi host y lo conecte al otro host.

Sé que sería ideal si mi host pudiera implementar todo lo que otro host hace y eliminar a otro host, pero hay razones para hacerlo de esta manera.

    
pregunta Jason

4 respuestas

1

No estoy seguro de si esto es lo correcto, pero he encontrado la respuesta que estoy buscando en otra pregunta. Fue respondida satisfactoriamente por @tcrosley aquí Diseñando un simple interruptor USB automático

Esta es precisamente la parte que necesito.

    
respondido por el Jason
0

Creo que USB a través de Ethernet es lo más cerca que vas a estar. Conecta el dispositivo a un sistema y desde el símbolo del sistema puede enrutarlo a otra dirección IP. enlace Tanto el host como el concepto deben estar conectados a la red.

    
respondido por el jippie
0

Hay chips específicos para esto, por ejemplo, el TS3USB30 , y un par de productos, por ejemplo El Lindy USB 2.0 AutoSwitch (no automático a pesar del nombre), y los Switches UGreen USB (tienen 2-host y 4-host versiones).

El IOGear GUB211 también afirma poder cambiarse desde la máquina host, en lugar de usar un botón. Está diseñado para impresoras y tienen un software personalizado para detectar trabajos de impresión y cambiar según eso, pero debería ser bastante fácil detectar la conexión USB y escribir su propio software para hacerlo.

    
respondido por el Timmmm
0

Además de la posibilidad de chip de conmutador USB, si entiende completamente la forma en que el producto objetivo en particular está utilizando el canal USB, una posibilidad podría ser utilizar una MCU con doble USB (por ejemplo, ciertos miembros de la serie STM32F4) y compile un dispositivo passthrough / proxy compatible con el protocolo.

Esencialmente, esto representaría el dispositivo definitivo al host final y viceversa. Esto es difícil de hacer para el uso del USB arbitrario , pero puede que no sea particularmente complejo para un dispositivo particular , especialmente uno que sea solo la velocidad máxima del USB.

Una ventaja potencial de esto sobre el cambio de modo, es que con suficiente información sobre la funcionalidad del dispositivo final, es posible que de alguna manera limitada compartamos el dispositivo, con ambos el host ascendente y su MCU de hombre en el medio pueden emitir algunas solicitudes no conflictivas. Pero este intercambio no conmutado por modos será complicado, limitado y requerirá una comprensión completa.

    
respondido por el Chris Stratton

Lea otras preguntas en las etiquetas