USB-Typ-C-Stromversorgung mit STUSB4500, wodurch das Gerät mit einem USB-A-zu-USB-C-Kabel mit USB 2.0/3.0 kompatibel ist

Für meine Anwendung habe ich mich für USB Type C Power Delivery in Kombination mit dem Sink-Controller STUSB4500 (Datenblatt: https://www.st.com/resource/en/datasheet/stusb4500.pdf ) entschieden, der bei der Vertragsverhandlung hilft die Stromquelle mehr oder weniger von selbst.

Jetzt zieht meine Anwendung (im Folgenden als "Gerät" bezeichnet) beim Einschalten etwa 1,5 A, im Normalbetrieb etwa 800 mA und im schlimmsten Fall 1,5 A. Es verwendet einen STM32F0-Mikrocontroller (im Folgenden als "Mikrocontroller" bezeichnet), um Daten zwischen dem Mikrocontroller und dem Computer über seinen virtuellen COM-Port (D+ und D- verwendet, 12 MBit/s USB 1.0 Full-Speed-Spezifikation) mit dem Computer auszutauschen. Das Gerät ist entweder gebraucht

  • offline. Läuft nur mit Strom, der über USB geliefert wird
  • oder online, indem Sie mit dem Computer über den Mikrocontroller für Einstellungen und Firmware-Updates über den DFU-Modus sprechen

Das Anschließen des Geräts an einen Computer mit nativer USB-Typ-C-Unterstützung (MacBook Pro, das mit Butterfly-Tastatur und USB-C) ist keine große Sache. Es funktioniert gut, da ein PD-Vertrag korrekt ausgehandelt wird. Aber jetzt hoffe ich, dass es auch auf älteren Computern funktioniert, die nur USB 2.0/3.0 haben (wie mein MacBook Air 2013), wo es über ein USB-A-zu-USB-C-Kabel angeschlossen ist (wie dieses hier: https://www . amazon.de/AmazonBasics-USB-Kabel-Meter-Schwarz/dp/B01GGKYKQM ). Ich weiß, dass der Anschluss meines MacBook mein iPhone und iPad mit 2100 mA aufladen kann, aber anscheinend nicht mit STUSB4500 kommunizieren kann. Da die Anwendung beim Start 1,5 A haben möchte, wird sie daher überhaupt nicht eingeschaltet.

Ich habe eine nicht optimale Lösung gefunden und möchte Sie fragen, was eine bessere Lösung sein könnte:

Meine bisherige Lösung würde die PDO2- und PDO3-Pins des STUSB4500 verwenden, um den Fall zu bestimmen, dass kein Vertrag ausgehandelt wird (das scheint der Fall zu sein, wenn es an einen USB 2.0/3.0-Port angeschlossen ist) und ihren High-Z-Zustand verwendet, gemäß Konfiguration 2, um Transistoren abzuschalten, die den Hochstromteil einschalten, der eigentlich für das Ziehen von bis zu 1,5 A verantwortlich ist. Dadurch erkennt der USB 2.0 / 3.0-Computer das Gerät erfolgreich. Und dann, indem er mit dem Computer mehr Strom aushandelt, nachdem der Mikrocontroller erkannt wurde, kann er entweder den Hochstromteil einschalten oder ihn ausgeschaltet lassen. Diese Lösung ist offensichtlich fehlerhaft, denn wenn das Gerät offline mit einem einfachen USB-A-Anschluss-Ladegerät und einem USB-A-zu-USB-Typ-C-Kabel verwendet wird, lässt es sich überhaupt nicht einschalten, da das Ladegerät niemals mit dem Mikrocontroller kommuniziert.

Was würden Sie also tun, um ein Hochleistungsgerät mit USB-Typ-C-Stromversorgung kompatibel mit einem „alten“ USB-A-Computer UND einem „einfachen“ USB-A-Ladegerät zu machen?

Jede Hilfe wird sehr geschätzt.

Vielen Dank, bleiben Sie gesund und Prost.

Warum nicht stm32g071 verwenden und stusb4500 ausgeben?

Antworten (2)

Was würden Sie tun, um ein Hochleistungsgerät mit USB-Typ-C-Stromversorgung mit einem "alten" USB-A-Computer kompatibel zu machen?

Hochleistungs-USB-Typ-C-Gerät mit USB-Stromversorgung ist INKOMPATIBEL mit normalen USB-A-Anschlüssen, Punkt. Die Standardlösung besteht also darin, ein externes 5-V-2-A-AC-DC-Netzteil bereitzustellen.

Als benutzerfreundliche Funktion können Sie Ihrem Gerät lediglich ein nicht standardmäßiges TypeC-TypeA-Kabel (mit 22k-Pullup) zur Verfügung stellen und beten, dass der Typ-A-Anschluss auf der Benutzerseite eine Last von 1,5 A ohne bewältigen kann deutlicher Spannungsabfall. Als Sicherheit können Sie eine Spannungsabfallsteuerung auf Ihrer Seite implementieren und deaktivieren, wenn der Host-Port für 1,5 A zu schwach ist.

UND ein 'einfaches' USB-A-Ladegerät?

Einfache USB-A-Ladegeräte haben meistens eine DCP-Signatur (D+ D- kurzgeschlossen), sodass die Implementierung einer D+/D- Kurzschlussprüfung Ihnen die gewünschte Leistung liefert. Ich glaube, es gibt CC-Controller-ICs, die den BC1.2- und DCP-Check durchführen können.

Und da Sie mit der Standardleistung von 5 V 1,5 A auskommen, benötigen Sie keine PD-Komplexität. Die standardmäßige Typ-C-Rp/Rd-Signalisierungslogik erledigt die Aufgabe ohne Vertragsverhandlungen über die Stromlieferung.

Danke für das Aufklären. Ist mein Verständnis richtig, dass die Rp / Rd-Signalisierung durch den von mir verwendeten Kabeltyp und nicht von der Senkeseite bestimmt wird?
@LM358, Bei einer nativen CC-Verbindung wird die Art der Verbindungspartner durch Sockets bestimmt, und die Informationen werden über CC-Kabel weitergegeben. Im Fall von alten Kabelkonfektionen wird der Typ durch lokale Widerstände bestimmt, die in den Umspritzungen des Kabels platziert sind.

USB-A-zu-USB-C-Kabel

Der Rp - der den Strom bestimmt - ist darin enthalten, und Sie können Kabel mit allen 3 (Standard, 1,5 A, 3 A) Widerstandswerten kaufen. Leider wird dieser Wert fast nie in einer Produktliste angegeben, sodass Sie den Rp-Wert selbst messen müssen .

Hinweis: Verwenden Sie niemals 3A USBA-to-C-Kabel, diese sind meiner Meinung nach nirgendwo sicher.

Wenn Sie ein Kabel mit einer Rp-Einstellung von 1,5 A verwenden, sollten Sie in der Lage sein, Ihre Schaltung einzuschalten. Dies mag technisch gegen die USB2.0-Spezifikationen verstoßen und ein bisschen gefährlich aussehen, aber USB 2.0 2,5-Zoll-Festplatten arbeiteten früher unabhängig davon im Strombereich von 1-1,5 A. Deshalb sind diese USB-Anschlüsse etwas wählerisch.

Ansonsten kann man diesem Chaos nicht wirklich entkommen - ein PC-Host kann nur bis zu 500 mA aushandeln, da dies die Grenze in der USB2.0-Spezifikation ist. Auch der USB-A-Ladeanschluss an einem Apple- Gerät entspricht nicht der USB-Batteriespezifikation.

" Auch der USB-A-Ladeanschluss an einem Apple-Gerät entspricht nicht der USB-Batteriespezifikation. " Apple ist Mitglied des USB-IF, der Personen, die die Spezifikation geschrieben haben. Zu sagen, dass Apple die Spezifikation nicht befolgt, ist, als hätte William Shakespeare MacBeth falsch verstanden. Ich kann sehen, woher das kommen könnte. 1) Die USB-BCS-Spezifikation hat sich im Laufe der Zeit geändert und neuere Geräte funktionieren möglicherweise nicht gut mit alten. 2) Es gibt Geräte, die gegen die Spezifikation verstoßen, und der Anschluss an Apple-Ladegeräte kann zu einem langsamen Ladevorgang führen. 3) Apple ist mit BrickId über USB-BCS hinausgegangen, um mehr Funktionen zu bieten, als USB-BCS zulässt. Keine sind ein Verstoß.
" Sonst kann man diesem Chaos nicht wirklich entkommen - ein PC-Host kann nur bis zu 500 mA aushandeln, da dies die Grenze in der USB2.0-Spezifikation ist " Ein USB-Host darf unter USB 2.0 mehr als 500 mA liefern. 500 mA ist ein Minimum, das der Host liefern muss, um die Spezifikation zu erfüllen. Es gibt einige Ausnahmen für Low-Power-Hosts. Ein Host darf unter USB-BCS 1,5 Ampere bereitstellen.