Forum: Mikrocontroller und Digitale Elektronik USB-C Stromversorgungsproblem: Mikrocontroller startet nicht, TVS-Diode als Ursache?


von Alexander F. (alexander96)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich hoffe, ihr könnt mir bei einem kniffligen Problem mit meiner neuen, 
selbst entworfenen Platine helfen.

Das Setup:
Ich habe eine Platine mit einem ESP32 entwickelt und dabei den USB-C 
Anschluss mit einigen Schutz- und Filterkomponenten versehen. Dazu 
gehören:

Eine TVS-Diode (Würth 82400274)

Eine Gleichtaktdrossel auf den Datenleitungen (D+/D-)

Eine Ferritperle als Filter auf der VBUS-Leitung

Ein selbst entworfener MOSFET-Schaltkreis als Verpolungsschutz

Die standardmäßigen 5,1 kΩ Pull-down-Widerstände auf den CC-Leitungen 
für den Handshake

Das Problem:
Wenn ich die fertige Platine an die meisten USB-C-Kabel und -Ladegeräte 
anschließe, bekommt sie einfach keinen Strom. Ich kann direkt am 
VBUS-Pin des USB-C-Ports keine Spannung messen. Meine Vermutung war 
sofort, dass etwas mit dem PD-Handshake und den CC-Widerständen nicht 
stimmt.

Die seltsame Beobachtung:
Jetzt kommt der wirklich merkwürdige Teil: Wenn ich die TVS-Diode (Würth 
82400274) nicht bestücke und die Pads frei lasse, funktioniert alles 
einwandfrei! Die Platine bekommt sofort Strom und ich kann sogar ohne 
Probleme Code über USB hochladen.

Ich bin ehrlich gesagt etwas ratlos. Die Diode sollte ja eigentlich nur 
vor Überspannungen schützen und nicht die grundlegende Stromversorgung 
lahmlegen.

Meine Frage an euch:
Könnte vielleicht jemand von euch mal einen Blick auf meinen angehängten 
Schaltplan und das Layout des USB-C-Bereichs werfen? Vielleicht habe ich 
einen grundlegenden Denkfehler, der dieses seltsame Verhalten im 
Zusammenhang mit der TVS-Diode auslöst, oder die Diode selbst ist für 
diesen Anwendungsfall ungeeignet.


Vielen Dank im Voraus!

Beste Grüße,
Alexander

von Nemopuk (nemopuk)


Lesenswert?

Ich vermute, dass du den VDD Pin des Würth Bauteil schon vor dem 
Anstecken des Kabels mit 5V versorgen musst. Ansonsten belastet es die 
Signale auf den 4 Leitungen.

von Alexander F. (alexander96)


Lesenswert?

hab gerade nochmal das Würth Dokument hier angeschaut:
https://www.we-online.com/catalog/media/o109030v410%20AppNotes_ANP002_TheProtectionOfUSB20Applications_EN.pdf

Benötige ich dann vielleicht eine TVS Diode mit der Funktion: "VDD can 
float --> yes" damit der PD-Handshake funktioniert und nicht durch die 
Diode gestört wird?

Dann wäre vielleicht sowas wie die 824014 besser geeignet?

von Paul B. (paule201)


Lesenswert?

Dir fehlt der 1.5K Widerstand zwischen VCC und D+. Oder ich seh ihn 
nicht. Schau dir mal Schaltpläne von philslab auf Youtube an, bei dir 
ist noch einiges an Übersichtlichkeit zu optimieren.

von Nemopuk (nemopuk)


Lesenswert?

Vdd floatet ja nicht, weil fest mit VBUS verbunden. Doch wenn dort wegen 
PD noch keine Spannung anliegt, dann ist die VBUS Leitung vielleicht 
zunächst mit GND verbunden. Und wenn das so ist, dann würde deine 
Dioden-Kombi alle Signale auf 0,7V begrenzen, statt auf 5V.

von Paul B. (paule201)


Lesenswert?

Und warum legst du die CC Leitungen auf die TVS zusammen mit D+ und D-?

von Alexander F. (alexander96)


Lesenswert?

1,5k Ohm bei USB-C?

Das wäre mir neu oder hab ich irgendwas verpasst?

Ich schau mir die erwähnten Videos mal an.

Naja hatte gedacht dass ich dann nur eine einzelne TVS Diode brauche 
statt 2.
Wenn es natürlich Probleme macht passe ich es an.

Ich hab mich halt versucht an die von Würth beschrieben Dokumente zu 
halten die haben Unterlagen zu USB 2.0 und USB 3.0 / USB-C..

Aber ein Beispiel für USB 2.0 mittels USB-C ist nicht explizit vorhanden 
:(

: Bearbeitet durch User
von M. M. (anonusr)


Lesenswert?

Alexander F. schrieb:

> Ein selbst entworfener MOSFET-Schaltkreis als Verpolungsschutz

Was mir auffällt: Ich würde den MOSFET umgekehrt einbauen, so dass die 
Body-Diode nicht über die USB-Buchse entladen kann. Bei meinen eigenen 
Schaltungen mache ich das jedenfalls so.

Was ist Q1 für ein Typ? Ist Rds(on) tief genug bei |Vgs| ~ 4 V?

Ist dieser MOSFET denn überhaupt nötig? Aus meiner Sicht ist eh alles 
verloren, wenn auf dem USB-Kabel Vbus negativ ist.

> Die standardmäßigen 5,1 kΩ Pull-down-Widerstände auf den CC-Leitungen
> für den Handshake
>
> Das Problem:
> Wenn ich die fertige Platine an die meisten USB-C-Kabel und -Ladegeräte
> anschließe, bekommt sie einfach keinen Strom. Ich kann direkt am
> VBUS-Pin des USB-C-Ports keine Spannung messen. Meine Vermutung war
> sofort, dass etwas mit dem PD-Handshake und den CC-Widerständen nicht
> stimmt.

Heisst das umgekehrt, es läuft mit einigen der USB-C-Lader?

> Die seltsame Beobachtung:
> Jetzt kommt der wirklich merkwürdige Teil: Wenn ich die TVS-Diode (Würth
> 82400274) nicht bestücke und die Pads frei lasse, funktioniert alles
> einwandfrei! Die Platine bekommt sofort Strom und ich kann sogar ohne
> Probleme Code über USB hochladen.

Vielleicht eine blöde Frage: Sind die TVS-Dioden etwa verkehrt herum 
eingesetzt?

> Ich bin ehrlich gesagt etwas ratlos. Die Diode sollte ja eigentlich nur
> vor Überspannungen schützen und nicht die grundlegende Stromversorgung
> lahmlegen.

Ich frage mich einfach, weshalb die CC1/2-Leitungen überhaupt geschützt 
werden müssen. Mit 5.1k sind sie ja bereits relativ niederohmig an Masse 
gebunden, und es hängt ja nichts weiteres an diesen Leitungen, was 
Überspannungen abbekommen könnte.

Kannst du die Verbindungen zwischen TVS-Diode und den 5.1k-Widerständen 
unterbrechen, und testen, ob es dann läuft?

: Bearbeitet durch User
von Alexander F. (alexander96)


Lesenswert?

Hi vielen Dank für deine Antwort!


Zum MOSFET-Verpolungsschutz:
Als MOSFET kommt ein AO3401A zum Einsatz. Der hat bei Vgs = -4.5V einen 
Rds(on) von ca. 50-80mΩ, was tief genug sein sollte, um den 
Spannungsabfall minimal zu halten. Eingebaut habe ich ihn genau für den 
Fall, dass VBUS doch mal negativ anliegen sollte, um eben zu verhindern, 
dass dann "alles verloren" ist. Meine Idee war, dass die Platine so 
geschützt ist. Wäre ein umgekehrter Einbau nicht eher ungewöhnlich für 
diesen Zweck?

Zum USB-C Handshake und Stromproblem:
 a, mit einer spezifischen Kombination aus einem anderen Kabel und einem 
anderen Netzteil hat die Platine tatsächlich trotzdem Strom bekommen.

Zur TVS-Diode als Fehlerursache:
Die Ausrichtung der TVS-Diode (Würth 82400274) sollte richtig rum 
gewesen sein. Das habe ich extra nochmal unter dem Mikroskop mit dem 
Datenblatt-Pinout verglichen.

Bezüglich des Schutzes der CC-Leitungen: In allen gängigen Unterlagen 
zur USB-C Auslegung, die ich gefunden habe, wurden auch CC1 und CC2 
immer mit einem ESD-Schutz versehen, auch wenn da nur der Widerstand 
direkt auf GND hängt. Da geht es ja auch darum, Überschläge etc. auf der 
Platine zu vermeiden hab ich gedacht?
Ich hab mir übrigens die Videos von Philslab angeschaut, aber das hat 
nicht so wirklich geholfen. In einem hat er nur ne USB schnittstelle mit 
PD Chip gebaut (den hab ich ja gar nicht) und in nem anderen Video wo er 
USB-C nutzt hat er bei CC1 / CC2 einfach gar keinen ESD-Schutz.

Verbindung nur zwischen der TVS-Diode und den Widerständen zu 
unterbrechen ist Aufgrund meines aktuellen Layouts schwierig, da müsste 
ich schon ein bisschen für frickeln.

Beste Grüße,
Alexander

von Frank K. (fchk)


Lesenswert?

Ich habe bislang nie die 5.1k Widerstände mit Schutzdioden geschützt. 
Als ESD-Schutz für die Datenleitungen verwende ich immer Würth 8240026. 
Das funktioniert so in >20 Designs zuverlässig, mit Full und High Speed.

https://www.we-online.com/components/products/datasheet/8240026.pdf

Das Teil ist im SOT143 Package und durch den dicken Pin im Footprint 
verpolungssicher.

fchk

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.