Forum: Mikrocontroller und Digitale Elektronik USB-C PD Prifile Testen


von Michael Z. (michael99)


Lesenswert?

Hallo zusammen,
Wir haben ein Messgerät das unterschiedliche USB C PD Profile 
unterstützen soll.
Wie kann man die unterschiedlichen Profile Testen und testen, ob sie 
funktionieren? In unserem Fall soll das Gerät mit 5, 15 und 20V versorgt 
werden können. Wir haben schon nach USB C Steckernetzteilen gesucht, die 
nur eine Spannung Ausgeben können aber keine gefunden.
Habt ihr Vorschläge?

Danke

von Ralf X. (ralf0815)


Lesenswert?

Michael Z. schrieb:
> Wir haben schon nach USB C Steckernetzteilen gesucht, die
> nur eine Spannung Ausgeben können aber keine gefunden.

USB-C NT, die nur eine Spannung ausgeben können, haben dann natürlich 5V 
und kein PD.
Was wollt Ihr da mit dem PD-Tester testen?

von Michael Z. (michael99)


Lesenswert?

Wir wollen prüfen ob die unterschiedlichen Profile korrekt erkannt 
werden.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Wenn es bei den Tests nur um die elektrische Funktion gehen soll, muss 
eben die Firmware Eures Gerätes dahingehend angepasst werden, dass nur 
die jeweils zu testende Konfiguration in der Liste möglicher 
Leistungsprofile enthalten ist.

Geht es jedoch auch um den Test, ob bzw. welche Leistungsprofile 
angeboten und ausgehandelt werden, hilft ein einfacher 
PD-Protokolltester schon ungemein viel. Es gibt von ST Microelectronics 
für kleines Geld ein entsprechendes Board, das man mit 
STM32CubeMonitor-UCPD hierfür verwenden kann.

Bei einer kleinen Recherche habe ich auf die Schnelle überwiegend 
USB-PD-Tester gefunden, die man als elektronische Last konfigurieren 
kann, aber nicht als Quelle. Nur bei GRL wurde ich fündig in Sachen 
Quelle:

https://www.graniteriverlabs.com/de-de/test-solutions/protocol-power-test-solutions

Nachtrag:
Das Vorgängermodell gibt es gerade bei TestUnlimited in gebrauchtem 
Zustand zum Schnäppchenpreis:

https://www.testunlimited.com/Product/Granite%20River%20Labs/USB-PD-C2/9400

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Michael Z. schrieb:
> Wir haben schon nach USB C Steckernetzteilen gesucht, die
> nur eine Spannung Ausgeben können aber keine gefunden.

Gibt es, ist nur etwas exotisch.

https://www.nikon.de/de_DE/product/accessories/accessories-mirrorless-cameras/charging-ac-adapter-eh-7p-VEB029EA
(Warum die auf der deutschsprachigen Seite die US-Ausführung zeigen 
müssen, muss man nicht verstehen)

Und das ist nicht das einzige:

Ralf X. schrieb:
> USB-C NT, die nur eine Spannung ausgeben können, haben dann natürlich 5V
> und kein PD.

Das ist nicht korrekt; es gibt mindestens ein USB-C-Netzteil, das nur 5V 
ausgeben kann, aber sehr wohl PD verwendet:

https://www.raspberrypi.com/products/27w-power-supply/

PD wird hier verwendet, um zu signalisieren, daß dieses Netzteil 5 A 
liefern kann.


Hier wird ein Selbstbauprojekt für einen USB-PD-Tester beschrieben:
https://github.com/wagiminator/CH32X035-USB-PD-Tester

: Bearbeitet durch User
von Stefan K. (stk)


Lesenswert?

Harald K. schrieb:
> Das ist nicht korrekt; es gibt mindestens ein USB-C-Netzteil, das nur 5V
> ausgeben kann, aber sehr wohl PD verwendet:
>
> https://www.raspberrypi.com/products/27w-power-supply/
>
> PD wird hier verwendet, um zu signalisieren, daß dieses Netzteil 5 A
> liefern kann.

Das kann nicht nur 5.1V, 5A, Beschreibung und Datenblatt nennen auch 9V, 
3A, 12V, 2,25A und 15V, 1,8A.

von Michael Z. (michael99)


Lesenswert?

Danke für die Infos,
wir benötigen aber genau das Gegenstück DC Input und USB-C Output mit 
fest einstellbaren Spannungen

von Harald K. (kirnbichler)



Lesenswert?

Stefan K. schrieb:
> Das kann nicht nur 5.1V, 5A, Beschreibung und Datenblatt nennen auch 9V,
> 3A, 12V, 2,25A und 15V, 1,8A.

Oh, das verwundert.

Wie dem auch sei, das eingangs erwähnte Nikon-Netzteil liefert 
tatsächlich nur 5 V - so ein Ding lag meiner Z7 II bei, ein selten 
unförmiges Teil.

von Ulrich P. (uprinz)


Lesenswert?

Harald K. schrieb:
> Hier wird ein Selbstbauprojekt für einen USB-PD-Tester beschrieben:
> https://github.com/wagiminator/CH32X035-USB-PD-Tester

Das Ding müsste jetzt noch eine Schnittstelle haben, mit der es einem 
Netzteil die einzustellende Spannung und Strom mitteilen kann und man 
hätte einen fertigen USB PD Source Tester.

von M. G. (t1nk3r)


Lesenswert?


von Soul E. (soul_eye)


Lesenswert?

Michael Z. schrieb:
> Danke für die Infos,
> wir benötigen aber genau das Gegenstück DC Input und USB-C Output mit
> fest einstellbaren Spannungen

Das wäre weder zulässig noch sinnvoll, denn Euer Gerät erwartet so lange 
5 V, bis es das Netzteil auffordert, etwas anderes zu liefern.

Euer Gerät fordert die Spannung beim Netzteil an. D.h. Dein SW-Kollege 
könnte Dir eine Test-Firmware schreiben, bei der Du über Knopfdruck 
auswählen kannst, welches Profil benutzt werden soll.

Wahrscheinlich hat er es so programmiert, dass immer die höchste 
vorhandene Spannung genommen wird. D.h. wenn Du ein Netzteil anschließt, 
das 20 V kann, dann startet Euer Gerät mit 5 V und schaltet dann auf 20 
V um. Das kann man einfach messen, alternativ kann man den PD-Handshake 
mit einem USB-C-Tester beobachten.

Wenn das mit 20 V klappt, besorgst Du Dir ein Netzteil, das nur bis 15 V 
geht. Dann sollte Euer Gerät mit 5 V starten und dann auf 15 V 
umschalten.

Der Test mit 5 V only ist trivial, da passiert genau gar nichts.

von Harald K. (kirnbichler)


Lesenswert?

Ulrich P. schrieb:
> Das Ding müsste jetzt noch eine Schnittstelle haben, mit der es einem
> Netzteil die einzustellende Spannung und Strom mitteilen kann und man
> hätte einen fertigen USB PD Source Tester.

Des Programmierens befähigte könnten so etwas hinbekommen.

von Denny A. (denny_a)


Lesenswert?

Schau dir das mal an: https://github.com/CentyLab/PocketPD

von Arne R. (ebps)


Lesenswert?

Soul E. schrieb:
> Der Test mit 5 V only ist trivial, da passiert genau gar nichts.

Wenn du mehr als 500mA haben willst, brauchst du u.U. auch fuer 5V erst 
einen PD-Contract (je nachdem, welche CC-Widerstaende die Source hat).

von Manfred L. (egonotto)


Lesenswert?

Hallo,

es gibt Universal-Netzteile, die verschiedene Stecker (Adapter) 
dabeihaben, darunter auch USB-C. Ich hab z.B. das goobay 
Universal-Netzteil, 36 Watt.
Die Spannung kann man am Gerät auf 5 V oder 6 V oder 7,5 V oder 9 V oder 
12 V oder 13,5 V oder 15 V stellen. Der maximale Strom ist immer 2,4 A.

Das könnte helfen.

MfG
egonotto

von Ulrich P. (uprinz)


Lesenswert?

Ich glaube es ist immer noch nicht allen klar, was der TO sucht.
Sie haben eine USB-C Sink, die an beliebige USB-C Sources (Netzteile) 
angeschlossen werden kann. Nun wollen sie sicherstellen, dass das Gerät 
auch an allen Netzteilen funktioniert und immer das optimalste 
verfügbare Profil angewählt wird.

Wer hier mal schaut 
https://www.elektronik-kompendium.de/sites/com/1809251.htm
der sieht dass es eine Menge USB-PD Profile gibt und nicht jeder 
unterstützt alles. Ich habe mehrere USB-C Steckernetzteile, die können 
"nur" 5V, 15V, 20V. 9V und 12V können sie nicht.

Es gibt von yzx Studio und Fnirsi und anderen Chinesen eine Vielzahl von 
USB-PD Monitor Zwischenstecker, teils mit BlueTooth, um diese PD 
Verhandlungen und anschließende Spannung und Stromaufnahme zu messen und 
zu protokollieren. Beispiel: "FNIRSI-FNB58 USB-Tester"

Das würde dem TO aber nicht abnehmen, eine Menge verschieden guter und 
schlechter USB-Netzteile zu kaufen und jedes einzeln über so einen PD 
Logger an seinem Gerät zu testen.

Am einfachsten wäre es, wenn es ein USB-C Netzteil gäbe, das man in der 
Anzahl und Reihenfolge der unterstützten USB-PD Profile einstellen kann, 
aber das auch die vielen "Varianten" und Eigenbrödeleien von Samsung, 
Huawei und anderen nachbilden kann.

Eine Änderung der Software für den Test würde ja die Test-Software 
testen, nicht die Zielsoftware.

Eine Aussage ist aber richtig, USB-PD startet immer bei 5V. Alles 
Andere, auch der Strom, müssen dann ausgehandelt werden.

von Hannes J. (pnuebergang)


Lesenswert?

Wenn sich wirklich nichts findest, dann wird der TO selber bauen müssen. 
Soll schon mal vorkommen.

> der sieht dass es eine Menge USB-PD Profile gibt

Ja, und ich würde erst mal katalogisieren was davon gebraucht wird. 
Alles sicher nicht.

> und nicht jeder unterstützt alles.

Eben. Was das ominöse Gerät nicht anfragen kann muss das gesuchte NT 
auch nicht liefern können.

Wenn klar ist was das Gerät anfragen kann würde ich noch mal in mich 
gehen und überlegen ob wirklich jede Kombination die das Gerät anfragen 
kann getestet werden muss.

Mit der Liste was getestet werden soll würde ich vorhandenen Netzteile 
aus der Kramschublade probieren. Vielleicht noch eine Handvoll NTs aus 
mehr oder weniger dubiosen Quellen kaufen.

Für das was die nicht abdeckt würde ich mich auf die Suche nach 
programmierbaren PD Controllern zum Bau eines programmierbaren 
Netzteiles begeben.

Zum Beispiel FUSB302T (Nur ein Beispiel. Meine Glaskugel zeigt nicht ob 
ausgerechnet dieser Controller, wenn er als Source arbeitet, genau so 
programmiert werden kann wie der TO es für seine Tests braucht)

Notfalls müssen halt mehrere NTs mit unterschiedlichen Controllern und 
Software gebaut werden.

von Harald K. (kirnbichler)


Lesenswert?

Gut zusammengefasst. Dem Threadstarter würde ein Selbstbau-PD-Netzteil 
helfen, bei dem die Firmware angepasst werden kann, d.h. das jeweils zur 
Anwendung kommende und den Verbrauchern angebotene PD-Profil individuell 
konfigurierbar ist.

Das Netzteil selbst muss natürlich in der Lage sein, alle die dann 
eingestellten Betriebsfälle auch wirklich anzubieten, aber das dürfte 
klar sein.

Möglicherweise lässt sich auf Grundlage eines Bausteins wie des TPS25772 
(https://www.ti.com/lit/ds/symlink/tps25772-q1.pdf) etwas derartiges 
konstruieren.

Hierfür gibt es auch ein Evaluation Board, dessen Dokumentation weitere 
Aufschlüsse bieten sollte, ob der Chip, dessen Datenblatt und 
Beschreibung ich eher überflogen denn sehr ausführlich studiert habe, 
sich tatsächlich für die Anwendung eignet. Immerhin gibt es da sogar ein 
GUI-Tool zur Konfiguration irgendwelcher Parameter.

von Axel S. (a-za-z0-9)


Lesenswert?

Ulrich P. schrieb:
> Ich glaube es ist immer noch nicht allen klar, was der TO sucht.

Du betreibst aber auch nur Kaffeesatzleserei.

> Sie haben eine USB-C Sink, die an beliebige USB-C Sources (Netzteile)
> angeschlossen werden kann. Nun wollen sie sicherstellen, dass das Gerät
> auch an allen Netzteilen funktioniert und immer das optimalste
> verfügbare Profil angewählt wird.

Warum? Reicht denn nicht ein passendes Profil? Das wäre IMHO eines, 
das die Mindestspannung für den/die internen Schaltregler liefert und 
insgesamt genug Leistung. Das kann man problemlos in den µC 
programmieren, der die PD-Verhandlungen führt. Der nimmt dann bspw. das 
erste passende Profil. Oder blinkert böse mit einer roten LED wenn kein 
passendes Profil dabei war.

An allen Netzteilen kann es nur dann funktionieren, wenn es mit dem 
Minimum (5V, 500mA) auskommt. Dann erübrigt sich eigentlich jeder Test.

BTW, "optimal" kann man nicht steigern.

> ... es eine Menge USB-PD Profile gibt und nicht jeder
> unterstützt alles. Ich habe mehrere USB-C Steckernetzteile, die können
> "nur" 5V, 15V, 20V. 9V und 12V können sie nicht.

Ja. Eben. Es gibt unendlich (ok, sehr) viele Kombinationen von 
Profilen die ein Netzteil anbieten kann. Und auch noch mehrere Versionen 
des USB-PD Standards. Warum sollte man die alle abtesten? Zumal 
"optimal" ja vieles bedeuten kann. Bester Wirkungsgrad der Schaltregler 
im Gerät? Oder bester Gesamtwirkungsgrad am Netz? Woher kennt man den 
Wirkungsgrad des Netzteils bei verschiedenen Ausgangsspannungen?

Das ist doch alles Humbug. Im Zweifelsfall will man, daß das Gerät 
funktioniert. Und dann ist es egal, wie viele weitere passende PD 
Profile das Netzteil anbietet.

: Bearbeitet durch User
von Hannes J. (pnuebergang)


Lesenswert?

Harald K. schrieb:
> Hierfür gibt es auch ein Evaluation Board, dessen Dokumentation weitere
> Aufschlüsse bieten sollte,

Guter Hinweis. Für den von mir rein zufällig gezogenen FUSB302T gibt es 
auch ein Eval-Board FUSB302TGEVB 
https://www.onsemi.com/design/evaluation-board/FUSB302TGEVB

Da muss sich der TO halt hin setzen und schauen welcher Controller mit 
oder ohne Eval-Board für seine - uns im Detail unbekannten - 
Anforderungen passt.

von Harald K. (kirnbichler)


Lesenswert?

Axel S. schrieb:
> BTW, "optimal" kann man nicht steigern.

Trump kann das.

Ansonsten hast Du, in Bezug auf den Overengineering-Verdacht, durchaus 
recht.

von Michael K. (michael_k511)


Lesenswert?

Michael Z. schrieb:
> Wir wollen prüfen ob die unterschiedlichen Profile korrekt erkannt
> werden.

Einfach.
Dein Sink zieht die CC Leitung runter, die Source liefert 5V damit der 
Sink mit ihr reden kann.
Damit wäre bereits das Kriterium erfüllt, denn 5V MÜSSEN immer gehen.

Nun kann der Sink das von Ihm gewünschte Profil anfragen und nur wenn 
sich Sink und Source einig werden, wird die verhandelte Spannung 
angelegt.
Wenn nicht, fällt es auf 5V zurück

Der Sink muss also überhaupt keine Profile erkennen. Er fordert sie an 
und es gibt keinerlei Verpflichtung irgendwas anderes anzubieten außer 
5V.
Man kann, muss aber nicht.

Ich habe ein USB-PD Netzteil gebaut und kann vermelden das es meines 
Erachtens völlig unmöglich ist ausversehen eine zu hohe Spannung zu 
verhandeln.
Die Kisten sind derart mit Sicherheit zugenagelt das es eher schwierig 
ist herauszufinden warum ein Profil nicht zustande kommt.

Ich verstehe auch Deine Anforderung nicht.
Wenn Du mit 5V und 20V umgehen kannst, kannst du auch mit 9, 12 und 15 
und allem dazwischen umgehen. Was soll da erkannt werden?
Wenn Du 20V/5A anfordert und nur 3A zur Verfügung stehen scheitert die 
Verhandlung. Du probiert es also weiter, bis was klappt, dann weist du 
was geklappt hat. Oder Du liest dir die USB Spec durch und baust das 
Protokoll auf der CC Leitung nach und hast die volle Kontrolle.
Ansonsten benutzt Du einen USB trigger Modul Chip und folgst seinem 
Datenblatt.

von Soul E. (soul_eye)


Lesenswert?

Michael K. schrieb:
> Michael Z. schrieb:
>> Wir wollen prüfen ob die unterschiedlichen Profile korrekt erkannt
>> werden.

> Nun kann der Sink das von Ihm gewünschte Profil anfragen und nur wenn
> sich Sink und Source einig werden, wird die verhandelte Spannung
> angelegt.

Und genau das wünscht der TO zu testen. Ob die SW in seinem Sink korrekt 
anfordert und ob die HW bei allen Profilen sauber arbeitet. Stromverlauf 
in der Drossel, leitungsgebundene Störaussendung, was man so testet wenn 
man CE und USB-Logos anbringen will.

> Ich habe ein USB-PD Netzteil gebaut und kann vermelden das es meines
> Erachtens völlig unmöglich ist ausversehen eine zu hohe Spannung zu
> verhandeln.

Ein copy&paste-Fehler reicht, und der Pointer zeigt aufs falsche 
Element. Und schon hat man statt fünf Kartons fünf Waggons Schuhcreme 
bestellt. Ich würde das vor Auslieferung schon testen.

> Wenn Du mit 5V und 20V umgehen kannst, kannst du auch mit 9, 12 und 15
> und allem dazwischen umgehen.

Das ist wohl wahr. Und auch diese Profile sollte man durchtesten und 
schauen was die Buck-Converter im frisch entwickelten Sink draus machen.

: Bearbeitet durch User
von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Michael K. schrieb:
> Nun kann der Sink das von Ihm gewünschte Profil anfragen und nur wenn
> sich Sink und Source einig werden, wird die verhandelte Spannung
> angelegt.
> Wenn nicht, fällt es auf 5V zurück

Und genau das will der TE doch testen.

> Der Sink muss also überhaupt keine Profile erkennen. Er fordert sie an
> und es gibt keinerlei Verpflichtung irgendwas anderes anzubieten außer
> 5V.
> Man kann, muss aber nicht.
>
> Ich habe ein USB-PD Netzteil gebaut und kann vermelden das es meines
> Erachtens völlig unmöglich ist ausversehen eine zu hohe Spannung zu
> verhandeln.

Offenbar hast Du noch nie ernsthaft Geräte mit Kommunikationsprotokollen 
entwickelt. Sonst wüsstest Du, was dort sinnvollerweise per 
Protokolltester, aber auch durch Interoperabilitätstests mit schon auf 
dem Markt verfügbaren Produkten systematisch durchgetestet wird.

Ich entsinne mich noch genau an die damalige(zm) 
GSM-Protokollstackentwicklung. Die Hälfte des Codes bestand darin, 
irgendwelche vom ETSI-Standard abweichenden Fälle auszugleichen.
1
if (base_station_manufacturer == ERICSSON) {
2
  if ((base_station_model == 123) && (base_station_firmware <= 456)) {
3
     bitmask = 0x10;
4
  } else {
5
     bitmask = 0x30;
6
  }
7
} else {
8
  bitmask = 0x08;
9
}

Die GSM-Telefone ließen sich für Testzwecke zwischen zwei Betriebsarten 
umschalten, d.h. dem strikt ETSI-konformen Modus, der fehlerfrei mit den 
offizielen Testsuiten lief und Bestandteil des Zulassungsverfahren war, 
und dem Normalmodus, der die ganzen Sonderlocken für die zig 
verschiedenen Firmwarestände der Basisstationen und (ausländischen) 
Mobilfunknetze enthielt. Zum Vergleich schauten wir uns mit den 
Protokolltestern auch Nokia-Mobiltelefone an. Diese waren damals(tm) 
dafür bekannt, sehr gut in allen möglichen Netzen zu funktionieren. Das 
lag (entgegen der landläufigen Vermutung) nicht etwa an einem 
überlegenen HF-Teil, sondern an deren Workarounds für Basisstationen.

Das lässt sich auch auf die aktuelle Situation übertragen, wenngleich 
ein PD-Stack natürlich bei weitem nicht so komplex wie ein 
Mobilfunkprotokollstack ist. Wenn das eigene Gerät z.B. verschiedene 
Leistungsmerkmale bzw. Funktionen nur bereitstellen soll, wenn ein 
hinreichend leistungsstarkes PD-Profile ausgehandelt und vereinbart 
wurde, dann muss dies natürlich auch getestet werden. Und damit benötigt 
man eben PD-Quellen, die sich passend konfigurieren lassen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Soul E. schrieb:
> Ein copy&paste-Fehler reicht, und der Pointer zeigt aufs falsche
> Element. Und schon hat man statt fünf Kartons fünf Waggons Schuhcreme
> bestellt. Ich würde das vor Auslieferung schon testen.

Genau so etwas hatte damals ein Kamerad bei der Bundeswehr erlebt, der 
in der Logistik arbeitete. Er wollte 500 Blatt Urlaubsanträge bestellen, 
hatte sich aber vertan, weil er wesentlich ganz VPE bestellte. Ein paar 
Wochen später rief ein Mitarbeiter der Bundesbahn an, um einen 
Abholtermin zu vereinbaren und zu erfragen, ob die Bundeswehr ihren 
eigenen Gabelstapler mitbringt. Allerdings ging es "nur" um 500 Kartons 
und nicht 500 Waggons.

Er erzählte aber auch den gegenteiligen Fall. Er bestellte eine Packung 
Fotopapier. Stattdessen kam aber ein einzelnes Blatt in einem normalen 
Briefumschlag, d.h. auch nicht lichtdicht verpackt. Das lag definitiv an 
dem Volltrottel im Zentrallager. Wahrscheinlich war dann auch der Rest 
der Packung unbrauchbar geworden.

von Michael K. (michael_k511)


Lesenswert?

Andreas S. schrieb:
> Und genau das will der TE doch testen.

Dann soll er seinen Sink anweisen genau dieses Profil zu fordern und 
kein anderes.
Sofern die Source das kann, wird sie es liefern, vollkommen unerheblich 
was sie sonst noch kann.
V-USB != Zielspannung = Verhandlung hat nicht geklappt.

Welchen Teil des Problems verstehe ich nicht?

Wenn man das Featureset der Source bestimmen will, STUSB4761 EVM kaufen 
und mit den STM Tools die Power Profile umstellen.
https://www.st.com/en/interfaces-and-transceivers/stusb4761.html#tools-software

Andreas S. schrieb:
> Sonst wüsstest Du, was dort sinnvollerweise per
> Protokolltester
Jaja, Du bist der Allergrößte, ich bin es nicht wert Deinen Staub zu 
fressen.
Aber was genau hat das mit der Herangehensweise des TOs zu tun und wie 
genau passt das zu einer USB Konformen Cert. um hochoffiziell das Logo 
draufpappen zu können?
Nichts?
Stimmt, war ja auch nicht seine Frage.

Also: Der SINK 'erkennt' keine Profile, er bestimmt sie.
Er bekommt was er verlangt WENN die Source das kann.
Der TO hat den Sink gebaut. ER bestimmt was der anfordert.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Michael K. schrieb:
> Welchen Teil des Problems verstehe ich nicht?

1. Ein größtmögliche Testabdeckung des eigenen Codes.
2. Sicherstellung der Interoperabilität auf marktüblichen Geräten.

> Aber was genau hat das mit der Herangehensweise des TOs zu tun und wie
> genau passt das zu einer USB Konformen Cert. um hochoffiziell das Logo
> draufpappen zu können?
> Nichts?

Doch. Der Unterschied zwischen spezifikationskonformer Implementierung 
und Interoperabilität mit marktüblichen Geräten kann größer sein als 
erwartet.

> Also: Der SINK 'erkennt' keine Profile, er bestimmt sie.
> Er bekommt was er verlangt WENN die Source das kann.
> Der TO hat den Sink gebaut. ER bestimmt was der anfordert.

Offenbar gehörst Du zu genau der Kategorie von Entwicklern, deren 
Arbeitgeber mir dann lukrative Aufträge erteilen. Ich habe schon genug 
Entwickler erlebt, die ihre Wunschvorstellung als gegeben ansehen und 
dann nicht in der Lage sind, einzusehen, dass deren 
Schrottimplementierung davon deutlich abweicht.

von Michael K. (michael_k511)


Lesenswert?

Andreas S. schrieb:
> die ihre Wunschvorstellung als gegeben ansehen

Hast Du eigentlich jemals irgendwas mit USB-PD zu tun gehabt was über 
das Einstöpseln des Steckers hinausging?
Es reicht ein simples Multimeter um herauszufinden ob genau das 
Spannungsprofil verhandelt wurde.

Die Kommunikation auf den CC Pins ist vollständig in der USB Spec 
beschrieben und wer mag darf sich selbstverständlich mit 
Protokollanalyzer reinhängen und sich Details ansehen.

Deine Ausführungen machen keinen Sinn.
Wie eine konfigurierbare PD Quelle aussieht habe ich bereits gepostet.
Nur ist das eben EINE Quelle von STM und trifft genau NULL Aussage 
darüber wie sich alle anderen möglichen Quellen verhalten.
Und für den Fall ist es vollkommen unerheblich ob der Sink genau ein 
profil anfragt oder die Quelle genau ein Profil liefern kann.
In beiden Fällen wird die Zielspannung nur eingestellt wenn sich beide 
einig sind und die ist mit dem Multimeter zu messen.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Michael K. schrieb:
> Hast Du eigentlich jemals irgendwas mit USB-PD zu tun gehabt was über
> das Einstöpseln des Steckers hinausging?

Ja. Ich habe selbst einen USB-PD-Stack für ein Gerät eines sehr 
renommierten und bekannten deutschen Kunden angepasst und kenne daher 
einige der Fallstricke zur Genüge.

> Es reicht ein simples Multimeter um herauszufinden ob genau das
> Spannungsprofil verhandelt wurde.

Nein. Damit kann man nur prüfen, ob die ausgehandelte 
Versorgungsspannung von der Quelle bereitgestellt wird. Nichts anderes.

Man sieht mit einem Multimeter nicht, ob:
- der korrekte Strom ausgehandelt wurde,
- die Priorisierung möglicher Profile korrekt erfolgt ist,
- die geräteseitige Firmware bei nicht erfolgreicher Aushandlung dank
  irgendeines Fehlers (verbogener Zeiger, ungültiger Array-Index)
  ins Klo greift und falsche Parameter annimmt
- sämtliche möglichen zulässigen Profile korrekt an den Rest der 
Firmware
  gemeldet und dort ggf. zu den korrekten Aktionen (Sperre/Freigabe von
  Leistungsmerkmalen) führt

> Die Kommunikation auf den CC Pins ist vollständig in der USB Spec
> beschrieben und wer mag darf sich selbstverständlich mit
> Protokollanalyzer reinhängen und sich Details ansehen.

Genau.

> Deine Ausführungen machen keinen Sinn.

Man merkt, dass Du in Sachen Interoperabilität und 
Protokollstackimplementierung noch ziemlich unbeleckt bist und nahezu 
keine Erfahrung hast. Falls Du tatsächlich der Betreiber von Knölke 
Elektronik sein solltest, wundert mich das doch sehr, denn da hätte ich 
einen deutlich besseren Überblick vermutet.

http://www.knoelke-elektronik.de/

von Soul E. (soul_eye)


Lesenswert?

Michael K. schrieb:
> Es reicht ein simples Multimeter um herauszufinden ob genau das
> Spannungsprofil verhandelt wurde.

Der TO hat den Sink gebaut und programmiert. Zu einem vollständigen HW-, 
SW- und Systemtest gehört schon ein bisschen mehr als nur mit dem 
Multimeter schauen ob Spannung anliegt.

> Die Kommunikation auf den CC Pins ist vollständig in der USB Spec
> beschrieben und wer mag darf sich selbstverständlich mit
> Protokollanalyzer reinhängen und sich Details ansehen.

Die Spec hat er hoffentlich vor der Implementierung gelesen. Und 
trotzdem kann sein Code Fehler enthalten, weswegen man zweckmäßigerweise 
vor der Auslieferung testet.


Bei unseren Auslandsstandorten in den Niedriglohnländern erlebe ich 
regelmäßig, dass die irgendwas nach Pflichtenheft implementieren und 
dann noch nicht einmal testen ob der Code überhaupt kompiliert. Soll 
sich doch der Integrator damit rumärgern, Ticket geschlossen. Ich finde 
es gut, dass der TO es besser machen will.

von Michael K. (michael_k511)


Lesenswert?

Soul E. schrieb:
> Zu einem vollständigen HW-,
> SW- und Systemtest

Ohne Frage.
Nur hat das eben überhaupt nichts mit der Frage des TO zu tun und bewegt 
sich auf einem völlig anderen Level, der weit über das hinausgeht was 
hier teilweise vorgeschlagen wurde und eher der Selbstdarstellung dient 
als einem praktikablen Vorgehen.

Soul E. schrieb:
> Ich finde
> es gut, dass der TO es besser machen will.

Und das alles liest Du aus der Frage des TO heraus?

Michael Z. schrieb:
> Wie kann man die unterschiedlichen Profile Testen und testen, ob sie
> funktionieren? In unserem Fall soll das Gerät mit 5, 15 und 20V versorgt
> werden können. Wir haben schon nach USB C Steckernetzteilen gesucht, die
> nur eine Spannung Ausgeben können aber keine gefunden.

Der TO ist auf dem niedrigsten Level der 'geht oder geht nicht' Tests.
Und da reicht eben ein Multimeter und ein SINK der nur das eine Profil 
verhandelt. Und ja, das reicht völlig aus, wenn man kein offizielles 
Logo aufkleben will und nicht den globalen Massenmarkt im Sinn hat.

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.