Consumo de 100 mA/tierra común para un concentrador USB alimentado por bus

Estoy tratando de proporcionar una fuente de alimentación externa de 5 V a un concentrador USB (anteriormente) alimentado por bus.

Mi primer intento fue simplemente conectar los pines de datos del host USB a los pines de datos del concentrador y los 5 V externos a los pines de alimentación del concentrador, así:

PSU 5V  ----- Hub VCC In
PSU GND ----- Hub GND In
Host D+ ----- Hub D+
Host D- ----- Hub D-

Sin embargo, el concentrador (y los dispositivos conectados) no fueron detectados por la PC host. Mi suposición era que como Host GND y Hub GND ya no estaban conectados, los niveles estaban apagados, así que agregué esa conexión:

PSU 5V  ----- Hub VCC In
PSU GND ---=- Hub GND In
Host GND--/
Host D+ ----- Hub D+
Host D- ----- Hub D-

Todavía no hay suerte. Luego leí que un host USB espera que un dispositivo consuma alrededor de 100 mA para que sea detectado, por lo que suponiendo que el host generaría 5 V, agregué 50 R de resistencia entre él y el GND del host para que siempre se extraigan 100 mA:

PSU 5V  ------ Hub VCC In
PSU GND ----=- Hub GND In
Host GND -=/
          |
         50R
          |
Host 5V -/
Host D+ ----- Hub D+
Host D- ----- Hub D-

En esta configuración, con la PC anfitriona y la fuente de alimentación encendidas, mido 70 mV en la resistencia y resistencia cero. Cuando desconecto el cable USB del host, mido el 50R correctamente.

¿Me estoy perdiendo de algo? ¿Por qué el host USB no detectaría el concentrador y por qué parecería acortar sus propios pines de 5V y GND?

Nota: he leído esta pregunta , en la que las respuestas sugieren que solo conectar las líneas de tierra sería suficiente, y esta , que confirma mi creencia de que está bien que el concentrador USB solo consuma 100 mA y no negocie sus requisitos actuales.

Respuestas (3)

USB no tiene Tx y Rx, tiene D+ y D-. Estos deben estar conectados por nombre (por lo que D+ a D+ y D- a D-)

Si los conectó al revés, es posible que el host apague el puerto para evitar daños. De todos modos, no debería necesitar una resistencia de Vcc a GND, el host no necesita tener 100 mA dibujados para detectar un dispositivo, lo detecta con un menú desplegable de una de las líneas de datos)

Si el concentrador tiene un suministro separado, solo necesita conectar las líneas de tierra; no desea conectar Vcc juntos. Obviamente, si no es así, necesita alimentarlo desde el suministro del host (es decir, conecte ambos)

En el tema D+/D-, utilicé una terminología incorrecta en mi pregunta: demasiado RS232 en el cerebro. Lo actualizaré. No he cruzado manualmente los cables, por lo que estoy seguro de que ahora están de la misma manera que antes de cortar el cable. El concentrador es del tipo alimentado por bus, por lo que la única entrada de energía era del host USB y ahora es de la fuente de alimentación externa. No he conectado el Host 5V y la PSU 5V de ninguna manera. ¡Gracias por informarme que la resistencia es innecesaria, eso al menos elimina una posible causa del problema!

Cualquier dispositivo USB que se conecta a una computadora le informa a la computadora sobre sus requisitos de energía y, en general, el HUB USB está alimentado por bus. Esto está programado en el firmware. Después de conectarse a la computadora host, los flujos de flujo de datos largos apuestan por hub & host. Solo después de que se intercambie la información adecuada entre los dos, el anfitrión reconoce el concentrador. Así que creo que será difícil cambiar la situación simplemente cambiando las conexiones.

Luego leí que un host USB espera que un dispositivo consuma alrededor de 100 mA para que sea detectado

Simplemente mal. Un dispositivo puede consumir hasta 100 mA sin avisar al host. Un concentrador autoalimentado no debería consumir casi nada del puerto host (ascendente).

una fuente de alimentación externa de 5 V a un concentrador USB (anteriormente) alimentado por bus

El concentrador aún le dirá al host (Windows) que está alimentado por bus. Por lo tanto, el host lo apagará una vez que la suma de los dispositivos conectados (incluido el concentrador) supere los 500 mA.

Realmente deberías usar un Hub autoalimentado.

Ah, está bien, no me di cuenta de que los concentradores alimentados por bus y autoalimentados en realidad se informan de manera diferente al host. Siendo ese el caso, definitivamente es una buena idea probar un concentrador autoalimentado.