Cambie dos puertos USB a través del relé

5

Tengo una tableta donde conecto un PCB (con un microcontrolador). Debido a que la tableta solo tiene un puerto USB, tengo que estar conectado y desconectado todo el tiempo de la PCB, ya que tengo que conectar la computadora con la tableta para transferir el programa de Android de la PC a la tableta. Diseñé un circuito con un relé con cuatro contactos para evitar desconectar y conectar los cables USB de la tableta. Agrego un diodo schottky en el conector USB de la PC y otro en el conector USB de la PCB para evitar un cortocircuito entre las dos potencias donde, por ejemplo, el contacto VCC_1 del relé se mantendrá cerca por alguna razón y el contacto de El GND_2 estará abierto y, como resultado, el VCC_1 tendrá una potencia de referencia positiva diferente. Por favor, dígame si este senario está equivocado y los diodos schottky no son necesarios o si el circuito de relé necesita algo más.

Cambié el micro conector USB a USB tipo A para que la tableta sea la esclava.

Código de muestra de los puertos USB de control - MIC2026-1YM - TS3USB221A:

Select(S)=0, OutputEnable(OE)=0
if (Second_Chip_FLB=0)
{
Switch off the D+ and D- at the port A sideside --> OutputEnable(OE)=1
Delay 500mS

First_Chip_ENA=0
Switch off the 5V at the port A
Delay 500mS
}

if (First_Chip_FLA=0)
{
Second_Chip_ENB=1
Switch on the 5V at the port B side

Delay 500mS
Switch on the D+ and D- at the port B side --> Select(S)=1, OutputEnable(OE)=0
}
else
{error}
    
pregunta 2 X

3 respuestas

4

Hay un margen de mejora en tu circuito.

En primer lugar, como se sugiere en los comentarios, puedes unir todos los motivos y deshacerte de uno de los interruptores.

También es probable que desee desconectar y conectar los pines en un orden dado, por lo general, la energía es la primera en llegar y la última en salir, esto se aplica en los conectores USB (aparentemente no todos) al hacer que las patas gnd y Vdd sean más largas.

Iría con un pequeño P mos para el riel Vdd, algo en el rango máximo de 10V Vsd 1V Vth 5V Vsg. Escurre al esclavo y, por supuesto, necesitas dos de ellos.

Para el par de diferencias, la historia es algo diferente. Necesitas una puerta de paso, debe ser rápida, y así sucesivamente. Pero afortunadamente, alguien tuvo tu necesidad antes que tú, busca 'usb switch ic' y obtendrás muchos chips listos para usar que hacen exactamente lo que necesitas, y están diseñados para eso.

Para obtener la secuencia de energía correcta, ya sea que lance un pequeño micro en él (bonito proyecto lateral, ¡yay!) o probablemente pueda salir adelante con los retrasos de RC y un poco de suerte.

    
respondido por el Vladimir Cravero
2

Yo simplificaría el circuito un poco, de modo que el relé solo necesita ser un 3PDT. Esto se puede hacer conectando todas las señales GND juntas.

Tenga en cuenta que hace unos años hice un producto que hizo casi lo mismo que está intentando lograr aquí. Aprendí por la dolorosa experiencia que no se puede usar un simple conmutador de relé (o incluso un conmutador integrado basado en un circuito integrado) para intercambiar puertos USB como este. Debe haber una cantidad mínima de tiempo desde el momento en que un dispositivo USB se desconecta y el otro está conectado. Si no proporciona tiempo para desconectar ambos dispositivos, puede confundir el software del controlador en las distintas computadoras / tabletas hasta el punto en que sea necesario reiniciarlos.

Por la razón que mencioné anteriormente, es muy necesario proporcionar controles de relé o conmutador separados para cada conexión USB para que pueda controlarlos para que ambos estén "APAGADOS" al mismo tiempo. También aprendí que era necesario cambiar la alimentación de 5 V por separado de las señales USB D + y D-. Aquí está la secuencia de flujo que codifiqué en una máquina de estado para admitir la acción de tipo de interruptor. Aquí muestro el cambio del lado A que está activo al lado B que está activo:

  1. Apague D + y D- en el lado A del puerto A
  2. Período de retraso **
  3. Apague los 5V en el puerto A
  4. Período de retraso **
  5. Encienda 5V en el lado del puerto B
  6. Período de retraso **
  7. Encienda D + y D- en el lado del puerto B

** El período de demora que utilicé fue de 500 ms por defecto, pero se hizo programable en el equipo para que el cliente pudiera cambiarlo si tuviera problemas de confiabilidad con el tiempo predeterminado.

BTW. Mi experiencia es que la cantidad de tiempo muerto necesario entre el lado A del USB que está activo y el lado B que está activo puede variar mucho según el tipo y el fabricante de los dispositivos USB conectados. Por ejemplo, cuando cambiaba las memorias USB entre dos hosts, algunos siempre se reiniciaban de manera confiable cuando se usaba el tiempo predeterminado. Otros requerirían varios segundos de tiempo de retraso.

    
respondido por el Michael Karas
0

Use el interruptor de palanca de tres posiciones cableado para que uno de los dispositivos esté conectado en la posición de esquina y ambos estén desconectados en la posición media. Ir a través de la posición intermedia proporcionará la demora necesaria, y podrá controlar la duración (tal vez varios segundos, tal vez no se requiera ninguno, y depende del dispositivo).

Best parece usar el interruptor de tres carriles que podría alternar el dispositivo de forma confiable sin ningún tipo de electrónica adicional. El interruptor debe "romperse antes de hacer".

Los relés parecen problemáticos ya que tienen dos posiciones, no tres, y no pueden detenerse en el medio. Combinar varios relés en alguna lógica es difícil, ya que deben activarse y desactivarse en el orden predecible esperado para no conectar ambos hosts al dispositivo al mismo tiempo.

No pude encontrar ningún requisito exactamente de que los carriles deben estar conectados en un orden particular.

    
respondido por el h22

Lea otras preguntas en las etiquetas