Diseño de un interruptor USB automático simple

Estoy tratando de encontrar una forma simple de compartir un periférico USB entre dos hosts USB (computadoras) para que el host que está actualmente encendido controle el periférico. Estoy apuntando a dispositivos USB1.1 de baja velocidad. Los dispositivos de alta velocidad estarían bien. Los dispositivos de alta velocidad (USB2) no son realmente necesarios.

Mi primera puñalada es el circuito a continuación, compuesto por dos diodos y algunos MOSFET. Solo muestro Vcc y D+ para mayor claridad. D- recibe el mismo tratamiento que D+, y las tierras están conectadas entre sí. Puedes jugar con el circuito usando el applet del simulador falstad . Agregué dos cargas de 10k para asegurarme de que las salidas no floten. Cuando el circuito es parte de una conexión USB, las resistencias en el host y en el dispositivo deberían encargarse de eso.

Circuito de interruptor USB

Preguntas

  1. ¿Es la idea básica de cambiar señales USB con sonido MOSFET? Entiendo que el canal en modo de saturación se comporta como una resistencia y que la resistencia puede (según el voltaje de la puerta y el dispositivo) ser del orden de miliohmios. ¿Es esto correcto?
  2. El Vcc de salida será una caída de diodo completa más baja que el Vcc de entrada. Creo que esto me pondrá fuera de las tolerancias del estándar USB, incluso si la entrada Vcc es de 5,00 V. ¿Qué puedo hacer para prevenir/disminuir esta caída?
  3. En este circuito, si ambas PC están encendidas, los resultados están todos desordenados. Específicamente, si ambos Vcc son altos y uno D+ es alto mientras que el otro es bajo, nos encontramos en una situación de cortocircuito. ¿Hay una manera fácil (con pocos circuitos adicionales) de apagar todo si ambos Vcc son altos? ¿Debería morder la bala y poner un pequeño microcontrolador para que actúe como guardián?

Respuestas (2)

En realidad, hay IC disponibles que hacen este tipo de cosas, esencialmente conmutadores analógicos pero diseñados específicamente para USB 2.0, como el FSUSB42MUX -- IC USB switch DPDT. Solo $1.70 en cantidades individuales de Digi-Key.

ingrese la descripción de la imagen aquí

Parece que solo están disponibles en paquetes SMT, como 10-MSOP, pero estos pueden soldarse a mano con bastante facilidad e incluso colocarse en una placa de conexión para la creación de prototipos.

ingrese la descripción de la imagen aquí

Mientras estaba cableando el sim, pensé que sería una muy buena aplicación para un circuito integrado, ya que básicamente es todo cableado y silicio. ¡Sin embargo, nunca se me ocurrió comprobar si ya existía! Gracias por la anotación. Diez cables en un chip de 9 mm2 suena como una tarea difícil para mis habilidades de soldadura, pero tal vez debería intentarlo. De todos modos, no ha abordado el problema de la caída del diodo en Vcc y, por lo que puedo decir, este IC no tiene disposiciones especiales para la línea Vcc. ¿Te importaría comentar eso?
@drxzcl, si usa un diodo Schottky, la caída de voltaje será mucho menor y debe permanecer dentro de las especificaciones. El 95SQ015 , por ejemplo, tiene un Vf máximo de 0,22v a 500ma, según su ficha técnica.

Mi consejo sería agregar algunos circuitos simples para hacer el cambio. Este es un problema común que debe resolverse en sistemas de alta confiabilidad en los que tiene varias fuentes de alimentación que deben conectarse en OR juntas. Texas Instruments y muchas otras empresas tienen componentes que facilitan la operación OR.