Forum: Mikrocontroller und Digitale Elektronik USB-C Power Delivery Spannung seltsam


von Leopold N. (leo_n)


Lesenswert?

Hallo zusammen,

ich habe ein Meanwell NGE100 USB-C Power Delivery Netzteil und dazu auf 
meiner Platine einen TPS25730 verbaut.

Jetzt möchte ich aus dem IC die ausgehandelte VBUS auslesen, bekomme 
aber seltsame Werte:
ACTIVE_CONTRACT_PDO: 0x06 0x2C 0x41 0x06 0x00 0x80
ACTIVE_CONTRACT_RDO: 0x0C 0x2C 0xB1 0x04
Die ersten 4 Byte zusammengefasst müssten ja das PDO Objekt nach USB PD 
Standard darstellen:
PDO: 0x062C4106
RDO: 0x0C2CB104

Bit 19-10 sollten dann die Spannung in 50mV Schritten darstellen:
PDO: 0x310 = 784 -> 39.2V
RDO: 0x304 = 772 -> 38.6V

Bit 9-0 sollten dann den Strom in 10mA Schritten darstellen:
PDO: 0x106 = 262 -> 2.62A
RDO: 0x104 = 260 -> 2.60A

Die Ströme erscheinen richtig, die Spannungen aber definitiv falsch. Der 
IC ist durch die Strap-Widerstände auf maximal 20V eingestellt (und kann 
auch laut Datenblatt gar nicht mehr).
Gemessen habe ich VBUS natürlich auch mal: Es liegen wie gewünscht 20V 
an.

Was mache ich falsch?

Grüße

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Ohne mir die Werte im Detail angesehen zu haben vermutlich Bit- und/oder 
Byte-Order vertauscht.

von Leopold N. (leo_n)


Lesenswert?

Lösung gefunden:
1. Little-Endian nicht beachtet
2. Beim Register ACTIVE_CONTRACT_PDO kommt zuerst ein Byte zurück, das 
die Anzahl der Bytes des Registers anzeigt. Danach beginnt erst das 
eigentliche Register. Es müssen also 7 Byte statt 6 gelesen werden 
(warum auch immer das nur bei diesem Register der Fall ist, dabei steht 
es im generellen I2C Protokoll des ICs allgemeingültig drin...)

Grüße

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.