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.
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?
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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).