Forum: Mikrocontroller und Digitale Elektronik USB PD - Slave to Host


von Bert S. (kautschuck)


Lesenswert?

Hallo Zusammen,

Ich kenne mich mit den ganzen USB Standards noch nicht so wirklich aus 
und stehe vor folgendem Problem, wo ich noch nicht wirklich eine Lösung 
habe:

Geben ist ein Tablet (USB-C 2.0, Host), welches mit einem Slave (USB-C 
2.0) über USB kommuniziert. Nun soll das Tablet vom Slave geladen 
werden, aber die Kommunikation darf nicht unterbrochen werden. USB-C mit 
PD sollte das meiner Einschätzung nach können. Beide Geräte werden mit 
5V Betrieben, das Tablet kann mit 2.4A geladen werden und ein 5V, 3A 
Netzteil steht zur Verfügung. Ich habe nun einige Charge Controller 
gefunden, diese aber shorten DP und DM mit einer Spannung, damit das 
Tablet lädt, eine Kommunikation ist dann nicht mehr möglich. Dann gibt 
es die USB PD Controller, diese scheinen aber auch eher für das 
Vermitteln der Spannung auf dem Slave Device zu sein. Ich habe schon mal 
mit den CC Pins experimentiert, jedoch müssten diese on-the-go geändert 
werden, was wieder für einen PD Controller spricht.

Was für eine Lösung käme da in Frage?

von Frank K. (fchk)


Lesenswert?

Unterstützt denn Dein Tablett explizit das USB-PD Protokoll? Das ist die 
Grundvoraussetzung, damit ein PD-Controllerchip überhaupt funktioniert. 
USB-PD ist ausdrücklich optional, dein Teil muss das nicht 
notwendigerweise unterstützen.

Was passiert denn, wenn Du das Gerät per USB-C an einen PC anschließt? 
Lädt es dann? Wird es zum Device?

fchk

von Christian R. (supachris)


Lesenswert?

Das geht mit PD Controllern, erfordert aber ein bissl Intelligenz, weil 
mindestens ein Role Swap stattfinden muss. Im Prinzip willst du ja eine 
USB C Dockingstation bauen, auch da ist die Station Power Source und 
Data Sink, bzw UFP. Um das zu erreichen brauchst du einen USB C 
Controller mit PD der alle Modes kann und dann entsprechend aushandelt. 
Such mal bei TI, die haben sowas, die können auch autonom ohne extra 
Controller arbeiten, werden dazu programmiert. Wir haben sowas mal 
gebaut, ich glaube das war mit dem TPS65987. Aber so ganz sicher bin ich 
nicht. Du brauchst halt UFP und beim Power DRP.

von Bert S. (kautschuck)


Lesenswert?

Danke für die schnellen Antworten,

Frank K. schrieb:
> Unterstützt denn Dein Tablett explizit das USB-PD Protokoll?

Ja

Frank K. schrieb:
> Was passiert denn, wenn Du das Gerät per USB-C an einen PC anschließt?
> Lädt es dann? Wird es zum Device?

Es lädt.

Christian R. schrieb:
> Das geht mit PD Controllern, erfordert aber ein bissl Intelligenz, weil
> mindestens ein Role Swap stattfinden muss. Im Prinzip willst du ja eine
> USB C Dockingstation bauen, auch da ist die Station Power Source und
> Data Sink, bzw UFP. Um das zu erreichen brauchst du einen USB C
> Controller mit PD der alle Modes kann und dann entsprechend aushandelt.
> Such mal bei TI, die haben sowas, die können auch autonom ohne extra
> Controller arbeiten, werden dazu programmiert. Wir haben sowas mal
> gebaut, ich glaube das war mit dem TPS65987. Aber so ganz sicher bin ich
> nicht. Du brauchst halt UFP und beim Power DRP.

Danke für die ausführliche Antwort, ich schaue mir mal die aktuellen PD 
Controller an, die alle Modis können.

von Christian R. (supachris)


Lesenswert?

Muss das Laden/nicht laden im laufenden Betrieb umgeschaltet werden? Das 
wäre dann fast role swap, aber je nach den beiden Beteiligten klappt das 
mal ohne und mal mit kurzer Unterbrechung der Kommunikation.

von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Ich habe noch eine gute Übersicht gefunden.

Data Role: Device UFP
Power Role: Source Only

Also bräuchte es gar kein DRP, oder? Das Tablet hat DRP.

Christian R. schrieb:
> Muss das Laden/nicht laden im laufenden Betrieb umgeschaltet werden? Das
> wäre dann fast role swap, aber je nach den beiden Beteiligten klappt das
> mal ohne und mal mit kurzer Unterbrechung der Kommunikation.

Im Prinzip schon, das Tablet lädt automatisch bis 80%, dann schaltet es 
mit Hysterese ab.

: Bearbeitet durch User
von Christian R. (supachris)


Lesenswert?

Bert S. schrieb:
> Also bräuchte es gar kein DRP, oder? Das Tablet hat DRP.

Wenn du einen USB C Controller findest, der das per Default kann und 
durchsetzt, dann ja. Die meisten die wir evaluiert hatten, brauchen den 
Swap, weil sie im Data Role UFP Modus per Default Power Sink sind, oder 
im Power Source Mode per default DFP.

Bert S. schrieb:
> Im Prinzip schon, das Tablet lädt automatisch bis 80%, dann schaltet es
> mit Hysterese ab.

Das ist was anderes, dein Gerät bliebe dann einfach PD Source. Es gibt 
ja auch Docking Stations usw. Die können je nachdem ob das Netzteil 
steckt, nahtlos zwischen Source und Sink tauschen, aber das klappt nicht 
immer ohne dass alles neu enumeriert.

von Bert S. (kautschuck)


Lesenswert?

Christian R. schrieb:
> Wenn du einen USB C Controller findest, der das per Default kann und
> durchsetzt, dann ja. Die meisten die wir evaluiert hatten, brauchen den
> Swap, weil sie im Data Role UFP Modus per Default Power Sink sind, oder
> im Power Source Mode per default DFP.

Habe jetzt mal noch TI durchgesehen, der HD3SS3220 
(https://www.ti.com/product/de-de/HD3SS3220) scheint eigentlich genau 
das zu machen. Der hat aber keinen Power Switch drin, wie handle ich mit 
diesem IC VBUS? Einfach direkt 5V dran und durch das PD verhandeln zieht 
das Tablet entsprechend oder eben nicht?

von Harald A. (embedded)


Lesenswert?

Bert S. schrieb:
> Ich habe nun einige Charge Controller
> gefunden, diese aber shorten DP und DM mit einer Spannung, damit das
> Tablet lädt, eine Kommunikation ist dann nicht mehr möglich.

Der Kurzschluss von D+ und D- geht auf die Anfangstage der höheren 
Ladeleistungen zurück, damals hat man Widerstandskombinationen und 
Kurzschlüsse im Ladegerät an D+ und D- gebaut, damit das Device wusste, 
welches Ladegerät vorliegt. Die Ladegeräte unterstützen es heute immer 
noch aus Gründen der Kompatibilität.

PD funktioniert über CC1 und CC2. Wenn Du die korrekt verbindest geht es 
idealerweise schon, wenn die Rolle des Gerätes nicht von der 
Ladeschaltung berücksichtigt wird. D+ und D- dabei natürlich NICHT mit 
dem Ladegerät verbinden.

Wenn Du es komplett selber bauen willst gibt es einige schöne ICs dafür. 
z.B. den SW3518, einfach nach diesem Begriff suchen.

: Bearbeitet durch User
von Bert S. (kautschuck)


Lesenswert?

Harald A. schrieb:
> PD funktioniert über CC1 und CC2. Wenn Du die korrekt verbindest geht es
> idealerweise schon, wenn die Rolle des Gerätes nicht von der
> Ladeschaltung berücksichtigt wird. D+ und D- dabei natürlich NICHT mit
> dem Ladegerät verbinden.

Danke dir, dann würde ja aber so was einfaches wie ein TPS25821 
(https://www.ti.com/product/TPS25821?keyMatch=TPS25821&tisearch=universal_search&usecase=GPN) 
genügen, der einfach die Source aushandelt, dann DP und DM direkt zum uC 
führen?

von Christian R. (supachris)


Lesenswert?

Bert S. schrieb:
> Der hat aber keinen Power Switch drin, wie handle ich mit diesem IC
> VBUS? Einfach direkt 5V dran und durch das PD verhandeln zieht das
> Tablet entsprechend oder eben nicht?

Nö, so klappt das bei USB C nicht. Das muss bei PD ausgehandelt werden. 
Der Chip macht nur Mux für die SuperSpeed Leitungen und Power ohne PD. 
Der bringt dir nix.

Bert S. schrieb:
> dann würde ja aber so was einfaches wie ein TPS25821

Nee, der kann nur DFP an USB, du brauchst UFP und Source. Und den Power 
Switch Fet.

von Harald A. (embedded)


Lesenswert?

Das sieht doch gut und einfach aus, wird vermutlich funktionieren.

von Bert S. (kautschuck)


Lesenswert?

Christian R. schrieb:
> Nee, der kann nur DFP an USB, du brauchst UFP und Source. Und den Power
> Switch Fet.

Wenn jetzt der Controller über die CC Pins verhandelt, wird da auch 
DFP/UFP verhandelt oder nur ob source/sink sowie max Strom?

von Frank K. (fchk)


Lesenswert?

Bert S. schrieb:
> Christian R. schrieb:
>> Nee, der kann nur DFP an USB, du brauchst UFP und Source. Und den Power
>> Switch Fet.
>
> Wenn jetzt der Controller über die CC Pins verhandelt, wird da auch
> DFP/UFP verhandelt oder nur ob source/sink sowie max Strom?

Sowohl Power Role Swaps als auch Data Role Swaps können auch darüber 
verhandelt werden.

fchk

von Christian R. (supachris)


Lesenswert?

Wenn du PD nutzt, dann ja. Ohne PD gibt's meines Wissens den Fall UFP 
und Source nicht. Alleine schon weil ein USB Device (ufp) ja auch das 
Vbus als Event braucht, damit es weiß wann der Host (dfp) da ist. Warum 
eigentlich Selbstbau? Das tut doch jeder billige USB C Hub mit PD (Pass 
Through).

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Christian R. schrieb:
> Warum eigentlich Selbstbau? Das tut doch jeder billige USB C Hub mit PD
> (Pass Through).

Das würde ich auch stark nahe legen, sowas kriegt man nachgeworfen. 
Ansonsten eine Alternative:

X-NUCLEO-SRC1M1 + NUCLEO-G474RE wäre eine Plug and Play Lösung, man muss 
halt die Software auf Basis der ST Library für USB-PD implementieren.

: 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
Noch kein Account? Hier anmelden.