Alles über USB

Nachricht

HeimHeim / Nachricht / Alles über USB

Dec 04, 2023

Alles über USB

Wenn Sie unsere USB-C-Saga verfolgt haben, wissen Sie, dass das CC-Kabel im

Wenn Sie unsere USB-C-Saga verfolgt haben, wissen Sie, dass das CC-Kabel in den USB-C-Kabeln für die Kommunikation und Polaritätserkennung verwendet wird. Weniger bekannt ist jedoch, dass bei USB-C zwei Protokolle für die Kommunikation verwendet werden – ein analoges und ein digitales. Schauen wir uns heute die analoge Signalisierung an, die in USB-C verwendet wird – und erfahren Sie unter anderem mehr über die sagenumwobenen 5,1-kΩ-Widerstände und ihre Funktionsweise. Wir erfahren auch etwas über Emarker und das mysteriöse Wesen VCONN!

Das USB-C-Netzteil erwartet, einen bestimmten Pulldown-Wert auf der CC-Leitung zu erkennen, bevor es 5 V auf VBUS bereitstellt, und alle höheren Spannungen müssen digital ausgehandelt werden. Das Netzteil, sei es der Anschluss Ihres Laptops oder ein Ladegerät, kann den Pulldown (bekannt als Rd) erkennen, da es einen Pullup (bekannt als Rp) auf der CC-Leitung aufrechterhält – es prüft dann, ob sich auf CC ein Spannungsteiler gebildet hat und ob Die resultierende Spannung liegt im akzeptablen Bereich.

Wenn Sie ein Gerät, das keinen Pulldown-Zugang ermöglicht, über das CC-Kabel im Kabel anschließen, wird Ihr Gerät nie über einen USB-C-Anschluss mit Strom versorgt und funktioniert nur mit einem USB-A-zu-USB-C-Kabel. Selbst die intelligenteren Geräte, die mit dem digitalen Teil von USB-C kommunizieren können, sollten über Pulldowns verfügen. Diese Pulldowns sind jedoch intern im verwendeten USB-C-Kommunikations-IC vorhanden. Ein USB-C-Anschluss, der Strom empfangen möchte, muss über einen Pulldown verfügen.

Dieser Teil ist mittlerweile gut bekannt, aber wir haben bei billigen Geräten schon häufig Ausfälle aufgrund fehlender Widerstände gesehen, und der umgangssprachliche Rat lautet: „Fügen Sie 5,1-kΩ-Widerstände hinzu.“ Sie haben vielleicht Angst davor, zu glauben, dass es so einfach ist, aber Sie wären überrascht.

Es gibt zwei Arten von Stromversorgungsfunktionen für USB-C-Anschlüsse – die Versorgungsseite und die Verbraucherseite. Mit der analogen Seite von USB-C können Designer eine einfache Möglichkeit hinzufügen, den Strombedarf bei der Verwendung von USB-C mit 5 V auszuhandeln, ohne spezielle oder teure ICs zu verwenden – indem Pullups für Quellen und Pulldowns für Senken verwendet werden. Die Kombination aus Pullup und Pulldown bildet einen Spannungsteiler, und die Spannung selbst stellt die Stromkapazität des Ladegeräts dar.

Nun kann die Quelle im analogen Signalisierungsmodus den Pullup basierend auf dem ihr zur Verfügung stehenden Leistungsbudget anpassen, und das ist sehr nützlich. Stellen Sie sich einen Laptop oder ein Ladegerät mit mehreren USB-C-Anschlüssen vor. Je mehr Ports belastet werden, desto weniger Strom kann an andere Ports weitergegeben werden, was zum großen Teil durch den internen Aufbau des Geräts bestimmt wird. Nehmen wir zum Beispiel den Framework-Laptop, der mit vier USB-C-Anschlüssen ausgestattet ist. Jeder Port kann 15 W bei 5 V / 3 A liefern, aber wenn Sie vier reine USB-C-Geräte gleichzeitig mit Strom versorgen möchten, kann er am dritten und vierten Port nur 1,5 A liefern – eine durchaus vernünftige Einschränkung eine ingenieurwissenschaftliche Perspektive.

Dies bedeutet, dass von Geräten mit höherem Verbrauch, wie z. B. 1,5 A- und 3 A-Max-Geräten, erwartet wird, dass sie die Spannung auf der CC-Leitung überwachen, um festzustellen, ob sie möglicherweise das Strombudget überschreiten, indem sie ihren Strombedarf anpassen oder anderweitig abgeschaltet werden, wenn dies der Fall ist Die festgelegte Stromgrenze wird überschritten.

Was bedeutet das für Sie als Nutzer? Nichts, wenn Ihre Geräte stromsparend genug sind. Von Ihren Geräten wird erwartet, dass sie die Spannung auf der CC-Leitung überwachen und ihren Appetit entsprechend anpassen. Bei manchen im Laden gekauften Geräten ist das nicht möglich, aber das kommt selten vor. Als Hacker? Wenn Sie ein Gerät bauen, das über einen USB-C-Anschluss mit Strom versorgt wird und volle 3 A bei 5 V erreichen möchten, denken Sie daran, dass Ihnen nicht alle USB-C-Anschlüsse dies bieten. Sie können jedoch die Verfügbarkeit von 3 A überprüfen, indem Sie die Spannung auf der CC-Leitung messen. Oder auch nicht, ich bin nicht deine Mutter, und so manches Hacker-Gerät gedeiht ohne Erkennung.

Welche Spannungen können Sie auf der CC-Leitung erwarten? Nun, es ist die Art von Spannung, die Sie mit einem einfachen ADC, über den Ihr Mikrocontroller verfügt, oder sogar einem Komparator ablesen können.

Wie Sie sehen, liegt die Spannung alles unter 3,3 V, sodass Sie keinen Spannungsteiler benötigen, wenn Sie einen vollwertigen Mikrocontroller-ADC verwenden. Oh, und wenn Sie über eine USB-C-Buchse verfügen, denken Sie natürlich daran, beide CC-Pins separat zu überwachen.

Müssen Sie die CC-Spannung wirklich überwachen? Wenn Sie nur an etwas herumhacken, nicht wirklich, aber es kann hilfreich sein, wenn Sie dies tun, wenn Sie über 0,5 A – 1 A hinausgehen möchten. Wenn Sie die Stromanforderungen überschreiten, die der Quellport bereitstellen kann, sollte dies einfach der Fall sein Unterbrechen Sie die Stromversorgung Ihres Geräts – ein ziemlich sicheres Ergebnis. Andererseits besteht die USB-C-Philosophie darin, über mehrere Sicherheitsebenen zu verfügen, und wenn Sie ein 15-W-Gerät mit dem einfachen 5,1-kΩ-Widerstandsansatz bauen, können Sie es genauso gut zu einem Gerät machen, das seine Leistung erkennen kann Versorgung unzureichend. Außerdem ist es ganz einfach!

Andernfalls können Sie davon ausgehen, dass Ihr Gerät mit einem Ladegerät gekoppelt werden möchte, das immer 3 A bei 5 V liefert, was bei der überwiegenden Mehrheit der Ladegeräte auf dem Markt der Fall ist. Dann treten keine Probleme auf und Sie können immer mit den vollen 15 W arbeiten. Wenn Sie Ihr Gerät jedoch an einen Laptop-Anschluss anschließen, sei es USB-C oder USB-A mit einem USB-C-Adapter, ist dies möglich Ich erwarte nicht unbedingt, dass 3 A immer da ist – Sie sollten es unbedingt überprüfen.

5,1 kΩ ist nicht der einzige Pulldown, dem Sie begegnen werden. Es gibt eine andere Art von Pulldown, die wir Hacker schon einmal kennengelernt haben, und es ist das Ra – etwas, das ins Spiel kommt, wenn wir über Kabel mit E-Kennzeichnung sprechen.

Emarker sind im Grunde Speicherchips, die das USB-PD-Protokoll unterstützen können. Sie werden in Kabeln verwendet, die etwas schicker als normal sind, also in Kabeln mit Hochgeschwindigkeitsfunktionen wie USB3 und Thunderbolt sowie in 5-A-Kabeln. Sie greifen auf die CC-Leitung des Kabels zu und können entweder von der Quelle oder der Senke abgefragt werden – normalerweise werden sie jedoch von der Quelle abgefragt.

Wenn sich in Ihrem USB-C-Kabel ein E-Marker befindet, benötigt es etwas Strom, und USB-C verfügt über eine Möglichkeit, es mit Strom zu versorgen – sie heißt VCONN. Wie Sie wissen, wird für die Kommunikation nur ein CC-Pin verwendet. Der gegenüberliegende CC-Pin, der nicht mit einer CC-Leitung verbunden ist, wird verwendet, um den Emarker mit Strom zu versorgen; der andere CC-Pin ist VCONN.

Im USB-C-Stecker wissen Sie, welcher CC-Pin mit dem CC-Kabel verbunden ist, und wissen daher im Voraus, welcher Pin als VCONN fungiert. Sie können den Stecker jedoch in zwei unterschiedlichen Ausrichtungen einstecken – und das bedeutet, dass die Buchse in der Lage sein muss, einen der beiden CC-Pins entweder als CC-Kommunikationsleitung oder als VCONN-Pin zu behandeln. Dadurch bleiben die Kabel relativ einfach und kostengünstig, sodass die Geräte selbst die Komplexität bewältigen können.

Als Hacker müssen Sie sich um VCONN aller Wahrscheinlichkeit nach keine Sorgen machen. Die meisten von uns arbeiten mit USB2 oder USB3, nicht mehr als 3 A Strom, und die Emarker-Prüfung wird nicht unbedingt notwendig sein. Darüber hinaus gibt es ICs, die eine Vielzahl von USB-C-Aspekten für Sie übernehmen – einschließlich der Bereitstellung von VCONN.

Die Spannungsanforderungen an VCONN sind recht lax, im Gegensatz zu den 5 V, die Sie an VBUS liefern sollen – der zulässige Bereich liegt zwischen 3 V und 5,5 V; Bei Smartphone-Implementierungen handelt es sich häufig um die direkte LiIon-Einzelzellen-Akkuspannung, was bedeutet, dass Sie zwei Konvertierungen vermeiden und einiges an Strom sparen können. Schließlich ist VCONN Power nicht nur etwas für E-Marker, sondern kann auch zur Stromversorgung kleiner Zubehörteile und Kopfhöreradapter mit einem Leistungsbudget von bis zu 1 W verwendet werden. In dieser unterhaltsamen Präsentation eines USB-C-Hackers geht es um die Entwicklung von Prototypen für VCONN-betriebene Geräte, die das gesamte Spektrum dessen abdecken, was die USB-C-Spezifikation einem VCONN-betriebenen Gerät ermöglicht.

Allerdings sind Emarker das am weitesten verbreitete Ding, das VCONN benötigt, und sie sind recht einfach. Manchmal enthält ein Kabel zwei Markierungen, manchmal nur einen – es ist eine Entscheidung des Herstellers. Im Falle eines Einzel-Emarker-Kabels enthält eines der Kabelenden den Emarker, und es wird ein zusätzlicher VCONN-Draht „Emarker-Strom zum anderen Ende bringen“ vorhanden sein, der vom mit dem Emarker ausgestatteten Stecker durch das Kabel verläuft und an den angeschlossen wird VCONN-Pin am anderen Kabelstecker. Wenn Sie also jemals die Erwähnung eines VCONN-Kabels sehen, ist das gemeint – ein diodenisolierter Draht, der an einen unbenutzten CC-Pin an einem Ende des Kabels angeschlossen ist und einfach einen Emarker am anderen Ende mit Strom versorgt.

Das macht zwar Spaß, aber was ist mit dem Ra-Pulldown-Ding?

Ein Emarker signalisiert seine Anwesenheit, indem er einen Pulldown-Widerstand (bekannt als Ra) an den VCONN-Pin anlegt; er beträgt durchschnittlich 1 kΩ, im Bereich von 800 Ω bis 1200 Ω. Wenn die Steckdose VCONN bereitstellen kann, sucht sie nach einem solchen Widerstand am CC-Pin, der derzeit nicht für die Kommunikation verwendet wird, und speist VCONN in diesen Pin ein, wenn der Widerstand erkannt wird. Dieser Widerstand steht somit am zweiten CC-Pin im Kabelstecker zur Verfügung – an beiden Steckern des Kabels.

Was passiert, wenn Sie beide CC-Pins in der Buchse Ihres Geräts kurzschließen und dann ein mit hoher Leistungsfähigkeit gekennzeichnetes Kabel anschließen? Der 5,1-kΩ-Widerstand wird parallel zum 1-kΩ-Widerstand geschaltet, und Sie erhalten einen Gesamt-Pulldown von 840 Ω, mehr oder weniger. Dieser Pulldown ist das, was das Netzteil auf der CC-Leitung sieht, und er liegt außerhalb der 5,1 kΩ-Erwartung. Insbesondere zieht der Spannungsteiler die Spannung zu niedrig und das Netzteil stellt am VBUS keine 5 V bereit.

Das hat Raspberry Pi 4 in seinen ersten Überarbeitungen getan, erinnern Sie sich? Daher hätten Sie den Pi 4 nicht mit einem gekennzeichneten Kabel über ein Typ-C-Ladegerät mit Strom versorgen können – Sie hätten ein nicht gekennzeichnetes Kabel oder vielleicht ein USB-A-zu-USB-C-Kabel mit USB benötigt -Ein Netzteil. Und natürlich hat das offizielle Netzteil des Raspberry Pi keinen Emarker im unverlierbaren Kabel. Es muss auch kein E-Marker sein, schließlich sind E-Marker dazu gedacht, unbekannte Kabel in Frage zu stellen, und Captive-Kabel sind per Definition bekannte Kabel.

Die Frage, die mir niemand gestellt hat, war: Warum haben sie das getan? Wenn Sie den Schaltplan überprüfen, werden Sie sehen, dass das PD_SENSE-Netz von den verbundenen CC-Pins zu einem analogen Eingangspin am PMIC geht. Vielleicht können Sie es inzwischen erraten – sie haben den Teil „Spannungsüberwachung“ des Standards implementiert, aber den Teil „Emarker“ nicht richtig implementiert. Wie viel Spannungsüberwachung sie tatsächlich durchführen, ist fraglich, aber die Fähigkeit ist zumindest vorhanden.

Raspberry Pi hat das Problem in kommenden Revisionen behoben. Wenn Sie eine ältere Revision haben, können Sie diese selbst patchen. Wir wissen noch nicht, wie sie es gepatcht haben, aber wir werden es irgendwann herausfinden. In der Zwischenzeit finden Sie hier alles, was Sie über Widerstände, Emarker und das schwer fassbare VCONN wissen sollten.

Als nächstes: USB-C-Stromversorgung in Ports, Stromrollen und höhere Spannungen!