Zeichnen von 100 mA / gemeinsamer Masse für einen busgespeisten USB-Hub

Ich versuche, einen (zuvor) busbetriebenen USB-Hub mit einer externen 5-V-Stromversorgung zu versorgen.

Mein erster Versuch bestand darin, die Datenpins des USB-Hosts wie folgt mit den Datenpins des Hubs und die externen 5 V mit den Strompins des Hubs zu verbinden:

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

Der Hub (und die angeschlossenen Geräte) wurden jedoch nicht vom Host-PC erkannt. Meine Annahme war, dass die Pegel ausgeschaltet waren, da Host GND und Hub GND nicht mehr verbunden waren, also habe ich diese Verbindung hinzugefügt:

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

Immer noch kein Glück. Ich habe dann gelesen, dass ein USB-Host erwartet, dass ein Gerät etwa 100 mA zieht, damit es erkannt wird. Unter der Annahme, dass der Host 5 V ausgeben würde, habe ich einen Widerstand von 50 R zwischen ihm und dem Host-GND hinzugefügt, sodass immer 100 mA gezogen werden:

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

In dieser Konfiguration messe ich bei eingeschaltetem Host-PC und eingeschaltetem Netzteil 70 mV über dem Widerstand und Nullwiderstand. Wenn ich das USB-Kabel vom Host abziehe, messe ich den 50R richtig.

Übersehe ich hier etwas? Warum erkennt der USB-Host den Hub nicht und warum scheint er seine eigenen 5-V- und GND-Pins kurzzuschließen?

Hinweis: Ich habe diese Frage gelesen , in der die Antworten darauf hindeuten, dass es ausreichen würde, nur die Erdungsleitungen anzuschließen, und diese , die meine Überzeugung bestätigt, dass es in Ordnung ist, dass der USB-Hub nur 100 mA zieht und nicht für seine aktuellen Anforderungen verhandelt.

Antworten (3)

USB hat kein Tx und Rx, es hat D+ und D-. Diese müssen namentlich verbunden werden (also D+ mit D+ und D- mit D-)

Wenn Sie diese falsch herum angeschlossen haben, ist es möglich, dass der Host den Port herunterfährt, um Schäden zu vermeiden. Sie sollten sowieso keinen Widerstand von Vcc zu GND benötigen, der Host muss keine 100 mA ziehen, um ein Gerät zu erkennen, er erkennt es mit einem Pulldown einer der Datenleitungen.)

Wenn der Hub eine separate Versorgung hat, müssen Sie nur die Masseleitungen anschließen - Sie möchten Vcc nicht miteinander verbinden. Wenn dies nicht der Fall ist, müssen Sie es natürlich über die Host-Versorgung mit Strom versorgen (dh beide verbinden).

In Bezug auf D + / D- habe ich in meiner Frage die falsche Terminologie verwendet - zu viel RS232 im Gehirn. Ich werde es aktualisieren. Ich habe die Drähte nicht manuell gekreuzt, daher bin ich zuversichtlich, dass sie jetzt genauso herum sind wie vor dem Zerhacken des Kabels. Der Hub wird über den Bus mit Strom versorgt, sodass die einzige Stromzufuhr vom USB-Host und jetzt vom externen Netzteil stammt. Ich habe den Host 5V und das Netzteil 5V in keiner Weise angeschlossen. Danke, dass Sie mich wissen lassen, dass der Widerstand unnötig ist, das beseitigt zumindest eine mögliche Ursache des Problems!

Jedes USB-Gerät, das an einen Computer angeschlossen wird, teilt dem Computer seinen Strombedarf mit, und im Allgemeinen wird der USB-HUB über den Bus mit Strom versorgt. Dies ist in der Firmware fest programmiert. Nach dem Verbinden mit dem Host-Computer fließt ein langer Datenstrom zwischen Hub und Host. Erst nachdem die beiden korrekten Informationen ausgetauscht haben, erkennt der Host den Hub. Ich denke also, dass es schwierig sein wird, die Situation zu ändern, indem man einfach die Verbindungen ändert.

Ich habe dann gelesen, dass ein USB-Host erwartet, dass ein Gerät etwa 100 mA zieht, damit es erkannt wird

Einfach falsch. Ein Gerät kann bis zu 100 mA ziehen, ohne es dem Host mitzuteilen. Ein Hub mit eigener Stromversorgung sollte so gut wie nichts vom Host-Port (Upstream) beziehen.

eine externe 5-V-Stromversorgung an einen (früher) busbetriebenen USB-Hub

Der Hub teilt dem (Windows-)Host weiterhin mit, dass er über den Bus mit Strom versorgt wird. Der Host schaltet ihn also ab, sobald die Summe der angeschlossenen Geräte (einschließlich des Hubs selbst) über 500 mA liegt.

Sie sollten wirklich einen Hub mit eigener Stromversorgung verwenden.

Ah okay, mir war nicht klar, dass busbetriebene und selbstversorgte Hubs sich tatsächlich unterschiedlich an den Host melden. In diesem Fall ist es definitiv eine gute Idee, einen Hub mit eigener Stromversorgung auszuprobieren!