USB-Daten-Passthrough mit Strom (irgendwie wie ein Hub, aber nicht)

884
Michael Graff

Ich habe ein Gerät, das keinen USB-Hub unterstützt und keine Stromversorgung liefert. Ich muss mein Telefon an dieses Gerät anschließen, und leider bedeutet das, dass ich das Telefon nicht gleichzeitig aufladen kann.

Ich habe die einfachen, naiven Ansätze ausprobiert:

  • Versuch eines Hubs mit eigener Stromversorgung; Das Hostgerät unterstützt keinen Hub.
  • Versuchen Sie, die Stromversorgung direkt mit Strom zu versorgen, indem Sie das Stromkabel vom Gerät zum Telefon trennen. Bei der USB-basierten Stromverhandlung wird dem Telefon mitgeteilt, dass kein Strom verfügbar ist und der Akku nicht aufgeladen wird.
  • Ursprüngliches Kurzschließen der Datenpins, um das Telefon aufzuladen, und dann öffnen. Wie erwartet bedeutet dies, dass es nicht mit dem Hostgerät spricht.

Mein Gedanke ist, dass ich etwas brauche, das sich fast wie ein Hub verhält, aber alle USB-Protokollnachrichten durchläuft, die nicht für die Stromverhandlung verwendet werden, und dass diese beendet werden, um die Stromversorgung zu ermöglichen.

Gibt es so ein Gerät?

0
Ich bin nicht sicher, ob dies hätte verlegt werden sollen. Ich vermute, das Ergebnis wird ein kundenspezifischer Chip, ein kleiner uP oder etwas anderes sein, während dies für Superuser eher für fertige Hardwarelösungen gedacht ist. Michael Graff vor 6 Jahren 0
Das grundlegende Problem ist, dass es sich hierbei um ein Problem handelt, das wahrscheinlich detaillierte Details auf Engineering-Ebene erfordert, jedoch aus sehr oberflächlicher Sicht des Endbenutzers, ohne dass die erforderlichen Informationen zur Verfügung gestellt werden. Die Politik von SE besteht darin, nicht beantwortbare Fragen zu migrieren, es hätte einfach geschlossen werden müssen. Chris Stratton vor 6 Jahren 0
Was Sie wollen, ist höchstwahrscheinlich unmöglich. Die Host-Seite der Verbindung muss die Verbindung mit Strom versorgen, und die Geräteseite der Verbindung darf keine Stromversorgung bereitstellen. Wenn ein Kabel vom Typ Host mit Ihrem Smartphone verbunden ist, wechselt es in den Host-Modus und erwartet nicht, dass es über die Verbindung mit Strom versorgt wird. Laszlo Valko vor 6 Jahren 0
@LaszloValko, das könnte sehr wohl das sein, was gerade passiert. Die Fernbedienung für die Drohne befindet sich jedoch nach meiner Einschätzung entweder im Host- oder im Client-Modus. In diesem Fall scheint sie als Host zu fungieren. Das Telefon versucht für einen kurzen Moment zu laden und hält dann an. Michael Graff vor 6 Jahren 0

1 Antwort auf die Frage

0
Ale..chenski

Sie haben den ersten Teil des Problems gelöst, indem Sie den Konstruktionsfehler Ihres USB-Anschlusses für "Geräte" ausgeglichen haben, indem Sie die Verbindung mit externer Stromversorgung (VBUS) versorgen. Dies ist eine ziemlich legitime Lösung.

Der zweite Teil (Aufladen beim Anschließen als USB-Gerät) ist anspruchsvoller.

Die Lösung hängt davon ab, welche Art von Portgebührensignatur Ihr Telefon unter Beibehaltung des Datenverbindungsprotokolls versteht. Wird es jemals aufgeladen, wenn es an einen normalen USB-Port eines PCs oder an einen funktionierenden Hub angeschlossen wird?

Wenn der Ladevorgang nicht über einen normalen Datenport erfolgt (500mA dauert und aufgeladen wird, aber möglicherweise langsam), müssen Sie einen "Battery Charging" (BC1.2) -Port versuchen, falls Sie einen finden. Wenn Ihr Telefon die BC1.2-Ladesignatur unterstützt / erkennt, müssen Sie Ihr eigenes Gerät, einen BC1.2-Add-On-Emulator, zwischen Ihrem Telefon und Ihrem speziellen "Gerät" erstellen.

In diesem Fall handelt es sich um ein iPhone 6s, das von einem 500 mA-fähigen Anschluss aufgeladen wird (oder zumindest nicht so schnell entladen wird). Ich habe es nicht direkt an einen BC-Port angeschlossen, aber ich habe einen kleinen Test auf der Bank gebaut. Wenn Sie die richtigen Spannungsteiler verwenden, um zu sagen, dass das Telefon 2 A verfügbar ist, habe ich gesehen, wie es ungefähr 1,8 A gezeichnet hat. Michael Graff vor 6 Jahren 0
@MichaelGraff, Sie haben also die statische "Apple-Signatur" angegeben, und das Telefon wird aufgeladen (wie es sollte, wird davon ausgegangen, dass es an ein legitimes Ladegerät angeschlossen ist). Um jedoch an eine USB-Datenverbindung angeschlossen zu werden, müssen Sie zu einer normalen USB-Verbindung wechseln. Im PC-Bereich gibt es den sogenannten "Zubehör-Lademodus", wenn der OTG-Host als USB-Host in eine Senke verwandelt wird, alles außerhalb des USB-Protokolls. Ich glaube, im Apple-Raum muss dies auf USB-Protokollebene geschehen. MacBooks fragen, ob Sie "synchronisieren" möchten, nachdem das iPhone angeschlossen ist und aufgeladen wird. Wie es gemacht wird, weiß ich nicht. Ale..chenski vor 6 Jahren 0
@MichaelGraff, ADDITION: Es sieht so aus, als hätte Apple die klassische USB3.0-Fähigkeit zum Laden und Synchronisieren aufgegeben. Jetzt muss es über den Typ-C-Port erfolgen, mit allen Glocken des USB Power Delivery-Protokolls. Viel Glück bei der Implementierung auf "Ihrem Gerät". Ale..chenski vor 6 Jahren 0
Ali Chen: In diesem Fall führt das Anlegen der externen +5 VDC-Stromversorgung zum Aufladen des Telefons, stoppt jedoch sofort, sobald es aufgezählt wird. Ich denke, dies ist der Host-Port, der besagt, dass kein Strom dafür zur Verfügung steht. Der 500 mA-Port für nicht konfigurierte Ports ist verdammt. Wenn ich die Datenleitungen nicht anschließe, bekomme ich 500 mA Ladung, und bis es aufgelistet ist, wird es aufgeladen. Michael Graff vor 6 Jahren 0
Ich kenne die Herausforderungen des Versuchs, einen Teil des USB-Protokolls abzufangen und zu ersetzen, und erlaube trotzdem, dass hohe Datenraten über dieselben Leitungen übertragen werden. Ich denke, die beste Lösung wäre, den Hardwarehersteller davon zu überzeugen, einen USB-Hub an sein Gerät anschließen zu lassen. Dann kann ich einen Hub problemlos über einen Akku mit Strom versorgen und das Telefon wird normal aufgeladen. Michael Graff vor 6 Jahren 0