Ich habe einen etwas exotischen Anwendungsfall. Ich benutze einen Mikrocontroller um per USB über eine virtuelle serielle Schnittstelle mit einem USB Host (zB. PC) zu Kommunizieren. Ein zweiter Mikrocontroller macht das selbe bei einem anderen Mobil-Gerät. Sprich dieses Gerät läuft im OTG Modus. Das funktioniert soweit ganz gut. Ziel ist es nun, das zweite Gerät vom ersten aus zu laden. Also elektrisch, mit den 500mA max. Ich könnte jetzt natürlich einfach die USB 5V und GND der beiden Geräte direkt miteinander verbinden und sehen was passiert aber das halte ich für etwas riskant weil ich noch nicht verstanden haben wie sich OTG verhält? Beide Geräte sind im "USB Host Modus" sprich sie "suchen" nach Geräten und treiben mit 5V. Im ersten Moment dachte ich, das kann nur ein no go sein, weil dann zwei Host Geräte gegeneinander treiben würden und vl sogar ein Kurzschluss entsteht zwischen den beiden Power Busen. Dann hab ich festgestellt, dass im OTG Modus sehr wohl das Laden ermöglicht wird. Es gibt ja diese speziellen Y Kabeln, die einfach nur GND und 5V auf eine zusätzlich Buchse führen um ein normales USB Ladegerät anschließen zu können. Jetzt habe ich die Vermutung, dass ein OTG Gerät nur dann mit 5V treiben wird wenn noch keine 5V am Bus anliegen? Wenn die 5V schon da sind, dann lädt das Gerät einfach von dieser Quelle? Bitte um Bestätigung. Was passiert aber unter dieser Annahme wenn ich 2 USB OTG Geräte miteinander verbinde? Prinzipiell ist nicht definiert welches Gerät die Ladequelle und welches die Ladesenke ist. Ist es da "Zufall" welches Gerät vorher mit 5V treibt und das ist dann die Ladequelle? Kann ich die Laderichtung irgendwie mit eine Art idealen Diode (MOS) an der 5V Verbindung definieren? Sprich das eine Gerät kann die Spannung vom anderen sehen, falls vorhanden, aber nicht umgekehrt? So dass immer einer als Ladegerät funktioniert und einer als zu Ladender. Oder vl verhält es sich auch ganz anders? Vl treiben OTG Geräte immer mit 5V und wenn sich mit einem anderen Host verbunden werden zählt nur wer die geringfügig höhere Spannung hat, und so fließt dann der Strom? Die OTG Kabeln selbst sind ja scheinbar sehr einfach aufgebaut und verwenden nur einen zusätzlichen Sense Pin. Mir wäre sehr geholfen wenn es hier Experten gäbe die dazu Inputs geben könnten. lG
Ein OTG-Port (mit Mini- oder Micro-B Buchse) ist normalerweise im Device-Mode und damit Stromsenke. Wird (im Stecker) der Sense-Pin auf GND gelegt, schaltet der Port auf Host-Mode und wird Stromquelle. Entsprechend hat ein OTG-Adapter einen B-Stecker (mit gegroundetem Sense-Pin) und am anderen Ende eine A-Buchse (ohne Sense-Pin). Da Quelle und Senke unterschiedliche Steckertypen haben (A=Quelle, B=Senke), kann es keine Verwechselung geben (es gibt keine A-auf-A-Kabel). Ein OTG-Adapter an einem nicht-OTG-Port führt nur dazu, dass zwei Senken verbunden werden - harmlos.
Abschlusssatz vergessen: wenn du also OTG mit OTG verbinden willst, muss auf einer Seite der Sense-Pin geerdet werden - die wird Quelle. Der andere Sense-Pin bleibt offen (Senke). Wenn du beide auf Masse ziehst knallt es ...
foobar schrieb: > Ein OTG-Port (mit Mini- oder Micro-B Buchse) ist normalerweise im > Device-Mode und damit Stromsenke. Wird (im Stecker) der Sense-Pin auf > GND gelegt, schaltet der Port auf Host-Mode und wird Stromquelle. > Entsprechend hat ein OTG-Adapter einen B-Stecker (mit gegroundetem > Sense-Pin) und am anderen Ende eine A-Buchse (ohne Sense-Pin). Da > Quelle und Senke unterschiedliche Steckertypen haben (A=Quelle, > B=Senke), kann es keine Verwechselung geben (es gibt keine > A-auf-A-Kabel). Ein OTG-Adapter an einem nicht-OTG-Port führt nur dazu, > dass zwei Senken verbunden werden - harmlos. Hmmm... ganz so einfach kann es nicht sein. Oder ich verstehe vl nicht was du sagen willst. Ein Gerät im OTG Modus MUSS 5V bereitstellen weil ja sonst ein angeschlossenes Gerät wie Stick, Maus usw nicht versorgt wäre. Es kann also nicht nur Stromsenke sein. Trotzdem ist es definitiv möglich, dass man OTG und eine Ladegerät gleichzeitig verwendet. Die Schematics die ich im Internet finde hängen da einfach die 5V des Netzteils parallel zu den 5V des USB OTG. Zusätzlich wird typischerweise eine Widerstand zum Sense Pin - GND verbunden. Ich denke das OTG Gerät wird irgendwie erkennen können ob jetzt schon 5V da sind oder ob das Gerät selber die 5V bereitstellen muss. Wahrscheinlich über den Widerstand auf der Sense Leitung. Die Frage bleibt aber: Wenn man zwei OTG Geräte miteinander Verbindet, wie kann ich die Laderichtung festlegen? Meine Ideen sind: 1.) Irgendwie den Stromfluss elektrisch definieren über z.B. eine ideale Diode. 2.) Vl läuft alles über die Widerstände an der Sense Leitung und ich muss nur zum einen Gerät "mit Ladefunktion" und zum anderen "ohne Ladefunktion" mit den entsprechenden Sense Widerständen konfigurieren. Die 5V und die GND Leitungen wären in diesem Fall einfach nur zu verbinden. Was ich aber nicht kapiere. Ich habe ein USB OTG Y Kabel. Dieses funktioniert sowohl mit als auch ohne Ladegerät. Das heißt irgendwie muss das OTG Gerät erkennen könne ob jetzt 5V vom Ladegerät da sind oder ob es jetzt selbst die 5V für z.B. einen USB Stick bereitstellen muss. Und der Y Adapter hat sicher immer den selben Sense Widerstand... Ich blick noch nicht ganz durch.
:
Bearbeitet durch User
foobar schrieb: > Abschlusssatz vergessen: wenn du also OTG mit OTG verbinden willst, muss > auf einer Seite der Sense-Pin geerdet werden - die wird Quelle. Der > andere Sense-Pin bleibt offen (Senke). Wenn du beide auf Masse ziehst > knallt es ... Ahhh das macht schon mehr Sinn für mich. Aber die Seite mit der offenen Seite wird ja dann wieder keine Datenkommunikation zulassen mit dem Mikrocontroller oder? Weil das Gerät ja dann keinen USB Host spielt.
Auszug aus Wikipedia: > Three additional ID pin states are defined[5] at the nominal resistance values of 124 kΩ, 68 kΩ, and 36.5 kΩ, with respect to the ground pin. These permit the device to work with USB Accessory Charger Adapters that allows the OTG device to be attached to both a charger and another device simultaneously.[7] > These three states are used in the cases of: > 1.) A charger and either no device or an A-device that is not asserting VBUS (not providing power) are attached. The OTG device is allowed to charge and initiate SRP but not connect.[7] > 2.) A charger and an A-device that is asserting VBUS (is providing power) are attached. The OTG device is allowed to charge and connect but not initiate SRP.[7] > 3.) A charger and a B-device are attached. The OTG device is allowed to charge and enter Host mode.[7] Bin mir aber noch nicht sicher was genau mit den drei Modis gemeint ist. SRP ist scheinbar der Modus in dem ein USB Gerät "Client" ist. Und Host ist Host. In meinem Fall hätte ich also zwei Host Geräte die jeweils mit einem SRP Mikrocontroller kommunizieren. Ein Gerät soll den VBUS versorgen und das Andere soll davon Laden.
:
Bearbeitet durch User
mittels herstellerspezifischer widerstandswerte am ID pin lassen sich einige OTG geräte in den Host mode setzen, während sie selbst ebenfalls strom aufnehmen statt abzugeben. Die Busspannung muss dann von aussen angelegt werden.
Flip B. schrieb: > mittels herstellerspezifischer widerstandswerte am ID pin lassen sich > einige OTG geräte in den Host mode setzen, während sie selbst ebenfalls > strom aufnehmen statt abzugeben. Die Busspannung muss dann von aussen > angelegt werden. Danke! Hab mittlerweile noch folgendes gefunden: "Some phones / tablets allow battery charging during USB OTG mode. I've seen documentation for two different schemes. 1) Normal OTG mode (no battery charging): ID pin is connected to the ground pin. 2) OTG mode with battery charging v1: ID pin connected to ground via 20k resistor. 3) OTG mode with battery charging v2: ID pin connected to ground via 120k resistor. These mode work with a small subset of all the OTG-capable devices. But it's pretty easy to try with your particular device to see if it might work with it." Scheint als müsse ich einfach nur ein wenig mit den Widerständen spielen und wie foobar schon richtig gesagt hat: Bloss nicht auf beiden seiten Sense auf GND ziehen sonst treiben die Geräte gegeneinander. Danke!
Ich hab hier die OTG-Spezifikation für USB 2.0 vor mir. Da steht drin: "An OTG device is required to have one, and only one USB connector: a Micro-AB receptacle as defined in [Micro-USB1.01]. This receptacle is capable of accepting either a Micro-A plug or a Micro-B plug attached to any of the legal cables and adapters defined in [Micro-USB1.01]. The OTG device with the A-plug inserted is called the A-device and is responsible for powering the USB interface when required and by default assumes the role of host. The OTG device with the B-plug inserted is called the B-device and by default assumes the role of peripheral. An OTG device with no plug inserted defaults to acting as a B-device. If an application on the B-device requires the role of host, then the HNP protocol is used to temporarily transfer the host role to the B-device. OTG devices attached either to a peripheral-only B-device or a standard/embedded host will have their role fixed by the cable since in these scenarios it is only possible to attach the cable one way around." Ein Gerät, was OTG kann, MUSS eine USB-MicroAB Buchse haben. Ein Gerät mit MicroB kann gemäß dieser Spezifikation kein standardkonformes OTG-Gerät sein. Zwei Geräte werden mit einem Micro-USBA<->Micro-USBB Kabel verbunden. Kabel mit gleichen Steckern an beiden Seiten sind nicht zulässig. Das Gerät, wo der A-Stecker steckt, ist Host, das Gerät, wo der B-Stecker steckt, ist Device. Sollen Host und Device die Rollen tauschen, muss das per HNP ausgehandelt werden. Das setzt voraus, dass beide Seiten das unterstützen. Damit ist sichergestellt, dass nicht beide Seiten sich gegenseitig speisen wollen. fchk
Frank K. schrieb: > Ich hab hier die OTG-Spezifikation für USB 2.0 vor mir. Da steht drin: > > "An OTG device is required to have one, and only one USB connector: a > Micro-AB receptacle as defined in [Micro-USB1.01]. This receptacle is > capable of accepting either a Micro-A plug or a Micro-B plug attached to > any of the legal cables and adapters defined in [Micro-USB1.01]. > The OTG device with the A-plug inserted is called the A-device and is > responsible for powering the USB interface when required and by default > assumes the role of host. The OTG device with the B-plug inserted is > called the B-device and by default assumes the role of peripheral. An > OTG device with no plug inserted defaults to acting as a B-device. If an > application on the B-device requires the role of host, then the HNP > protocol is used to temporarily transfer the host role to the B-device. > > OTG devices attached either to a peripheral-only B-device or a > standard/embedded host will have their role fixed by the cable since in > these scenarios it is only possible to attach the cable one way around." > > Ein Gerät, was OTG kann, MUSS eine USB-MicroAB Buchse haben. Ein Gerät > mit MicroB kann gemäß dieser Spezifikation kein standardkonformes > OTG-Gerät sein. > > Zwei Geräte werden mit einem Micro-USBA<->Micro-USBB Kabel verbunden. > Kabel mit gleichen Steckern an beiden Seiten sind nicht zulässig. Das > Gerät, wo der A-Stecker steckt, ist Host, das Gerät, wo der B-Stecker > steckt, ist Device. Sollen Host und Device die Rollen tauschen, muss das > per HNP ausgehandelt werden. Das setzt voraus, dass beide Seiten das > unterstützen. > > Damit ist sichergestellt, dass nicht beide Seiten sich gegenseitig > speisen wollen. > > fchk Danke für deinen Beitrag aber es ging mir eigentlich nicht um die Stecker. Ich gehe davon aus, dass mit handelsüblichen und standardkonformen Adaptern keine Probleme zu erwarten sind. Wie beschrieben, baue ich ein eigenes Gerät, an dem 2 unabhängigen USB Host Geräte angeschlossen werden sollen. Die Frage war ob bzw wie ich das eine Host Gerät dann mit der Versorgung des anderen Host Geräts laden kann. Also ums bildhafter zu machen. Mein Gerät wird mit einem Handy und einem PC verbunden, per USB. Das Handy soll im OTG Modus laufen und der PC ist sowieso ein USB Host. Mit einer entsprechenden OTG Widerstandsbeschaltung sollte es dann möglich sein, dass das Handy den VBUS des PCs verwendet um zu laden. Selbst mit 2 OTG Geräten (zB Handy und Tablet) sollte das möglich sein so lange das Handy einen entsprechenden Sense Widerstand hat und das Tablet ein Verbindung zum GND. Bzgl Stecker ist klar, dass zum Handy zB nur ein micro USB Stecker in Frage kommt mit entsprechenden Sense Pin Widerstand (für OTG ohne power als ladesenke). Zum anderen Gerät könnte es auch ein normaler USB A Stecker (PC) oder ein micro USB Stecker mit GND Sense pin sein (für OTG mit power supply/ladequelle). Damit wäre dem Standard dann wieder genüge getan. Ein 5 Pin micro USB Kabel ist bestellt. Bin gespannt ob es hin hauen wird.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.