Cambio de un bus de 4 carriles bajo la supervisión del microcontrolador

0

Buscando una manera simple y efectiva de cambiar un bus de 4 vías, bajo el control de un microcontrolador (etiquetado como "controlador"), como se muestra en el esquema lógico a continuación. El dispositivo-3 debe estar conectado a Device-1 o Device-2 en cualquier momento dado.

Estoybastantesegurodequealgocomoesto,esdecir,cambiarunbus,esbastantecomúneneldiseñoelectrónico.ElbusencuestiónesbásicamenteUSB!Entoncestenemos+5V,GND,D+yD-(lógicade5V).Además,eldispositivo1yeldispositivo2son"hosts USB", mientras que el dispositivo 3 está desempeñando la función de "dispositivo USB".

Agradecería sugerencias / sugerencias en 2 líneas / enfoques -

  1. Todos los PTH, grado de pasatiempo, utilizan componentes simples de origen, es decir, no hay IC especializados, aparte de un microcontrolador común (por ejemplo, ATtiny45).
  2. Un poco más compacto (menos cantidad de componentes), enfoque elegante y moderno (pero con suerte sin componentes SMD).

Para la primera aproximación, estaba pensando en usar un par de FET o BJT (*) en las líneas D + / D para cada uno de los dispositivos (Dispositivo-1 y Dispositivo-2), con 1 pin GPIO controlando cada uno par. Sin embargo, el + 5V y el GND permanecen siempre conectados a ambos dispositivos, no estoy seguro, lo que significa desde el punto de vista del protocolo USB, ya que D + / D- siempre se reducen.

Si alguien quisiera saber qué es lo que estoy tratando de lograr, es un cambio brusco (pero con suerte efectivo) de un disco duro externo USB entre 2 PC, como una forma de conmutación por error.

(*) Tengo muchos BJT de propósito general en mi hobby-stock, y no tengo FET. Entonces, a menos que realmente sea un problema, preferiría utilizar BJT's.

    
pregunta jay

2 respuestas

3

Si bien un multiplexor o conmutador de bus genérico dado podría funcionar, el USB tiene un ancho de banda alto, líneas de datos bidireccionales con ciertos requisitos de terminación y resistencia en serie que los convierten en una mala elección. Afortunadamente, usb switch ics son abundantes.

El TI TS3USB30E , por ejemplo, es un conmutador multiplexor USB 2.0 de alta velocidad 1: 2. Tiene un solo pin de interruptor (alto / bajo) y un pin de habilitación de salida, que impulsa las líneas en un modo de alta impedancia, lo que permite que los dispositivos conectados se desconecten si es necesario. Y está disponible en un chip de tamaño SOP, no quadpacks sin plomo o bga. Francamente, no encontrará muchos interruptores USB adecuados en DIP / Throughhole, los mejores que encontrará son los paquetes SMD SOIC y SOP relativamente fáciles de soldar.

Si realmente encuentra que también necesita cambiar la alimentación, un transistor F / P o P-Channel en la línea de 5v. Tierra que podría mantenerse conectado. Si te sientes elegante, hay toneladas de interruptores de alimentación USB

    
respondido por el Passerby
0

En realidad, puedes cambiar un bus USB con cuatro relés, no es estándar, pero funciona, construí la misma aplicación hace unos años. Funcionó y era perfectamente fiable. El truco es conectar la alimentación primero, luego las líneas de datos. Pero no creo que hacer esto con BJT's ni con fets sea una gran idea: necesitas aislamiento.

Creo que uno de los más rápidos / fáciles de construir esto es usar relés controlados por USB, que son muy comunes. Por ejemplo:

www.yoctopuce.com/EN/products/usb-actuators/yocto-relay

www.phidgets.com/products.php?category=9

    
respondido por el martinm

Lea otras preguntas en las etiquetas