Forum: Mikrocontroller und Digitale Elektronik Feedback USB-Isolatorschaltung


von D3l T. (d3lta)


Angehängte Dateien:

Lesenswert?

Moin,

Für Basteleien mit USB möchte ich etwas, um die Ports vor Fehlern in 
meinen Schaltungen zu schützen. Zum Beispiel sowas wie ein Verpolen der 
Versorgung auf der Platine, Spannungen an den Datenleitungen oder 
Kurzschlüsse.

Dazu habe ich den ADUM4160 „auserkoren“. Es gibt zwar fertige Boards 
dafür, teilweise als Übung möchte ich aber mein eigenes entwickeln.

Meine Anforderungen:

- Isolation von Stromversorgung und Datenübertragung
- Eingangsspannung über USB oder Hohlstecker (5V)
- Strom reichen mir die 400mA
- einigermaßen zerstörungssicher (zB auch ESD, Überspannung / Verpolen 
am Hohlstecker)
- Möglichst automatisches Umschalten auf Versorgung durch Hohlstecker 
(weniger Fehlerquellen)
- Bauteile möglichst zB bei Reichelt beschaffbar

Das ist ein Privatprojekt, also muss ich keine EMV-/ESD-Tests etc 
machen. Wenn ich etwas in der Hinsicht falsch mache, freue ich mich 
trotzdem über entsprechende Rückmeldungen.

Folgende Fragen habe ich:

1. Ich plane die USB-Leitungen so kurz wie irgend möglich zu machen (und 
die Pads schon möglichst zu benachbarn). Dann kann ich auf die 
Impedanzanpassungen verzichten, oder?

2. die Crowbar nimmt echt Platz auf der Platine weg, eFuses kann ich 
keine auf R (selbst bei RS ist die Auswahl scheinbar ziemlich klein) 
finden, Z-Diode war mir zu ungenau, gibts da noch Alternativen?

3. die TVS-Diode am Hohlstecker habe ich eher per Vermutung ausgwählt:
Reverse Standoff-Voltage möglichst knapp über 5.5V; niedrigste Breakdown 
Voltage, die mir Reichelt noch ließ.
Ich vermute, dass ich den MAX40200 damit nicht wirklich schütze 
(absolute max. ratings: 6V), oder?

4. habe ich was Schutzbeschaltung angeht noch etwas übersehen, was man 
noch einbauen sollte?

5. und das übliche: sind da Fehler drin? ;)

Ein paar Anmerkungen:

- Die Sicherung F1 soll den USB-Port des Hosts schützen, falls das 
Netzteil verpolt wird (mir ist da leider keine bessere Lösung 
eingefallen, höchstens vielleicht ein NMOS?).
- R5 verhindert Floaten des Eingangs von U3
- D1 soll die Crowbar zünden, wenn der Hohlstecker verpolt ist

VG und danke schonmal

von Gerd E. (robberknight)


Lesenswert?

Willst Du nicht doch einen stärkeren DC/DC verwenden? 400 mA ist für USB 
ziemlich knapp.

Ich würde einen nehmen der 500 mA auf 7,5V liefert und dann mit einem 
LDO auf 5,1 V oder 5,2 V runter. Das hat mehrere Vorteile:
- der LDO hat normal einen integrierten Überstromschutz
- in den USB-Kabeln hast Du oft einiges an Spannungsabfall, viele 
USB-Geräte laufen damit an der unteren Grenze und hätten eigentlich 
lieber 5V
- der LDO glättet den Ripple des DC/DC

Achte auf eine Kondensator 120 bis 150 µF auf der Geräteseite, das 
schreibt der USB-Standard so vor um einen Spannungseinbruch beim 
Einstecken zu verhintern.

Was die Crowbar angeht - da finde ich folgende Schaltung von mir 
eleganter:
Beitrag "Re: Verpolungs- und Überspannungsschutz mit P-MOSFET"

von D3l T. (d3lta)


Lesenswert?

Danke für die Antwort!

USB 2.0 (3.0 unterstützt die Schaltung eh nicht) sieht 0.5A max vor; 
wenn ich mich recht erinnere war der Traco für 2W deutlich günstiger als 
der für 3W und ausreizen werde ich die 0.5A wohl erstmal eh nicht.

Traco zumindest hat keine DC/DC-Wandler auf 7.5V, da müsste ich dann 9 
nehmen. Den Spannungsabfall im Kabel kann ich nicht einschätzen; der USB 
2.0-Standard fordert max. 125mV, wenn ich mich gerade nicht vertue. Der 
einzelne 5V-Wandler gefällt mir, weil er klein und billig(er) ist ^^ .

Danke für den Hinweis mit den 120μF, das habe ich nicht gewusst, da muss 
ich mir wohl was ausdenken (klein wird das wohl dann nicht).

Deiner Verpol- und Überspannungsschutzschaltung kann ich eindeutig etwas 
abgewinnen, sie könnte sogar etwas kleiner sein. Wenn ich die Schaltung 
so abändere, dass das Verpolschutz-MOSFET ein N-Kanal ist und - sperrt 
(werden dann allerdings 2 Bauteile mehr, je ein D und R), würde das auch 
die hässliche F2 eliminieren, da + vom Netzteil nicht mehr an GND vom 
Host-USB anliegegn würde.

EDIT: Wobei ich die Idee mit dem NMOS vermutlich aufgrund des RDSon 
vergessen kann :/

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

D3l T. schrieb:
> Der einzelne 5V-Wandler gefällt mir, weil er klein und billig(er) ist
Der ist ungeregelt.
Das heißt: die Ausgangsspannung ist abhängig von der Eingangsspannung.
Und die Ausgangsspannung ist zudem lastabhängig, denn bei 5,0V am 
Eingang kommt am Ausgang nur bei 60% vom Imax eine Spannung von 5,0V+-3% 
heraus. Als Konsequenz braucht der Wandler einen Mindeststrom (10% vom 
Imax), weil sonst die Ausgangsspannung über 5,5V steigt.

Mein Tipp: beschaff dir einen und miss ihn unter verschiedenen 
Lastverhältnissen aus!

Zudem brauchst du einen externen 22µF Kondensator am Eingang:
1
Input Filter Internal Capacitor (add. external 22 μF, ESR<0.1Ω, recommended)

: Bearbeitet durch Moderator
von Kevin M. (arduinolover)


Lesenswert?

Dir ist bewusst, dass der ADUM nur full Speed ist? Da es ein 
"transparenter" Isolator ist ist er nicht in die Aushandlung involviert, 
daher wird die Verbindung abbrechen bzw. nicht zustande kommen wenn du 
ein Hi-Speed Gerät anschließt. Das mag für uC kein Problem sein wenn's 
dann aber schon eine FTDI bridge o.ä. ist, hörts auf.

Auch da gibt es natürlich Lösungen die sind dann aber weit entfernt von 
benutzerfreundlich.

von D3l T. (d3lta)


Lesenswert?

Lothar M. schrieb:
> D3l T. schrieb:
>> Der einzelne 5V-Wandler gefällt mir, weil er klein und billig(er) ist
> Der ist ungeregelt.
> Das heißt: die Ausgangsspannung ist abhängig von der Eingangsspannung.
> Und die Ausgangsspannung ist zudem lastabhängig, denn bei 5,0V am
> Eingang kommt am Ausgang nur bei 60% vom Imax eine Spannung von 5,0V+-3%
> heraus. Als Konsequenz braucht der Wandler einen Mindeststrom (10% vom
> Imax), weil sonst die Ausgangsspannung über 5,5V steigt.
>
> Mein Tipp: beschaff dir einen und miss ihn unter verschiedenen
> Lastverhältnissen aus!
>
> Zudem brauchst du einen externen 22µF Kondensator am Eingang:
>
1
> Input Filter Internal Capacitor (add. external 22 μF, ESR<0.1Ω, 
2
> recommended)
3
>

Den Kondensator am Eingang sollte ich vergrößern, stimmt.

Ups, dass der unreguliert ist, habe ich glatt komplett übersehen. Wo 
hast du den Mindeststrom her? In der Grafik auf S.3 wäre er bei +5%±3% 
bei 0% Last, also <5.5V. Allerdings trotzdem nicht mehr in der USB-Spec 
(<5.25V) ... Danke für den Hinweis!

Mal schauen, ob es sich dann noch lohnt, mir einen zum Ausmessen zu 
besorgen :) .

Also komme ich um eine andere Lösung wohl nicht herum. Dann muss ich 
mich wohl nochmal etwas schlau machen.


Kevin M. schrieb:
> Dir ist bewusst, dass der ADUM nur full Speed ist? Da es ein
> "transparenter" Isolator ist ist er nicht in die Aushandlung involviert,
> daher wird die Verbindung abbrechen bzw. nicht zustande kommen wenn du
> ein Hi-Speed Gerät anschließt. Das mag für uC kein Problem sein wenn's
> dann aber schon eine FTDI bridge o.ä. ist, hörts auf.
>
> Auch da gibt es natürlich Lösungen die sind dann aber weit entfernt von
> benutzerfreundlich.

Man kann ihn für Full- oder Low-Speed konfigurieren, in meiner Schaltung 
über Jumper. Ja, das ist etwas umständlich.

Ich hätte auch nichts gegen eine „komfortablere“ Lösung, die mir meine 
USB-Ports schützt und idealerweise isoliert ist. Und ungerne „alter 
Laptop“ ;) .

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

D3l T. schrieb:
> Wo hast du den Mindeststrom her?
Dort im Datenblatt vom 19. April 2021 Seite 2 Mitte:
1
Minimum Load    10 % of Iout max.
https://www.mouser.de/datasheet/2/687/tba2_datasheet-2308979.pdf

> In der Grafik auf S.3
Dieses DB hat keine Grafiken, die mehr als nur Abmessungen samt Pinout 
zeigen. Welches hast du?

: Bearbeitet durch Moderator
von D3l T. (d3lta)


Lesenswert?

Lothar M. schrieb:
> D3l T. schrieb:
>> Wo hast du den Mindeststrom her?
> Dort im Datenblatt vom 19. April 2021 Seite 2 Mitte:
>
1
> Minimum Load    10 % of Iout max.
2
>
> https://www.mouser.de/datasheet/2/687/tba2_datasheet-2308979.pdf
>
>> In der Grafik auf S.3
> Dieses DB hat keine Grafiken, die mehr als nur Abmessungen samt Pinout
> zeigen. Welches hast du?

Ahh, jetzt habe ich es auch gefunden. Dann brauche ich wohl spätestens 
eine andere Lösung.

Ich hatte meines von Reichelt: 
https://cdn-reichelt.de/documents/datenblatt/D400/TBA_2_DS-EN.pdf .
Dies scheint aber eine Kombination aus den Anwendungshinweisen (das sind 
die Grafiken) und dem Datenblatt von der Traco-Homepage zu sein ( 
https://www.tracopower.com/de/deu/model/tba-2-0511 ).

Dann muss ich wohl nachher zurück ans Reißbrett ...

: Bearbeitet durch User
von Kevin M. (arduinolover)


Lesenswert?

D3l T. schrieb:
> Man kann ihn für Full- oder Low-Speed konfigurieren, in meiner Schaltung
> über Jumper. Ja, das ist etwas umständlich.

Was ändert das an der Tatsache, dass Hi-Speed nicht geht? Alle Hi-Speed 
Geräte werden nicht funktionieren, sofern der Upstream Port nicht meldet 
das er nicht mehr kann. Das kann man unter Linux vergleichsweise einfach 
im Treiber des Rechners einstellen, bei Windows hörts dann schon auf. 
Und ich weiß ja nicht wieviele Leute noch ein full speed Hub rumliegen 
haben. Und wieviele Geräte sind denn nicht Hi-Speed (µC ohne externen 
Phy ausgenommen). Wie gesagt selbst ein FTDI ist schon Hi-Speed.

von D3l T. (d3lta)


Lesenswert?

Kevin M. schrieb:
> D3l T. schrieb:
>> Man kann ihn für Full- oder Low-Speed konfigurieren, in meiner Schaltung
>> über Jumper. Ja, das ist etwas umständlich.
>
> Was ändert das an der Tatsache, dass Hi-Speed nicht geht? Alle Hi-Speed
> Geräte werden nicht funktionieren, sofern der Upstream Port nicht meldet
> das er nicht mehr kann. Das kann man unter Linux vergleichsweise einfach
> im Treiber des Rechners einstellen, bei Windows hörts dann schon auf.
> Und ich weiß ja nicht wieviele Leute noch ein full speed Hub rumliegen
> haben. Und wieviele Geräte sind denn nicht Hi-Speed (µC ohne externen
> Phy ausgenommen). Wie gesagt selbst ein FTDI ist schon Hi-Speed.

Ups, da bin ich mit den Geschwindigkeiten durcheinandergekommen und habe 
Full- für Hi-Speed gehalten (und mich davon irritieren lassen, dass der 
Chip USB 2.0-kompatibel ist; ja ich weiß (jetzt), dass das keine Aussage 
über Hi-Speed bedeutet).
Danke für den Hinweis, der macht mir gerade so ziemlich die gesamte Idee 
kaputt, aber definitiv besser, als es erst nach dem Aufbau zu merken.

Ich glaube, ich kann die gesamte Schaltung einfach wegwerfen ^^ . Ich 
habe dabei allerdings einiges gelernt, umsonst war es also nicht :) .

: Bearbeitet durch User
von Kevin M. (arduinolover)


Lesenswert?

USB Hi-Speed isolatoren sind ein bisschen wie Kernfusion. Analog will 
schon seit Jahren einen Isolator dafür rausbringen, aber irgendwie ist 
es da still geworden. Die meisten käuflichen Produkte sind sehr 
aufwendig und machen das beispielsweise mit FPGAs die voneinander 
isoliert sind.

Ich bin mittlerweile dazu übergegangen auf meinen Schaltungen etweder 
mit dem ADUM den USB des µC zu isolieren oder bei dem FTDI den ich 
häufig nutze die SPI Schnittstelle. Ist mehr schaltungsaufwand hat aber 
auch den Vorteil, dass man die Isolation nicht vergessen kann ;)

von Purzel H. (hacky)


Lesenswert?

Die ganze Idee ist Schrott. Es wird ja wohl noch moeglich sein mit USB 
zu arbeiten, ohne eine Speisung falsch anzuschliessen...
Ich werwende fuer meine Prototypen und auch oft Produkte, einen 
Hohlstecker 5mm, da ist aussen GND, innen +, oft +5, +12, oder so. Damit 
ist verpolen quasi weg. Es gibt auch Leute, die schliessen ein Netzteil 
jeweils ueber einen Brueckengleichrichter oder eine Diode an. Das kann 
man auch machen.

Was ich hin und wieder verwende sind ADuM auf den Datenleitungen aus 
einem FT232 raus zum UART des Controllers.

von D3l T. (d3lta)


Lesenswert?

Kevin M. schrieb:
> USB Hi-Speed isolatoren sind ein bisschen wie Kernfusion. Analog will
> schon seit Jahren einen Isolator dafür rausbringen, aber irgendwie ist
> es da still geworden. Die meisten käuflichen Produkte sind sehr
> aufwendig und machen das beispielsweise mit FPGAs die voneinander
> isoliert sind.
>
> Ich bin mittlerweile dazu übergegangen auf meinen Schaltungen etweder
> mit dem ADUM den USB des µC zu isolieren oder bei dem FTDI den ich
> häufig nutze die SPI Schnittstelle. Ist mehr schaltungsaufwand hat aber
> auch den Vorteil, dass man die Isolation nicht vergessen kann ;)

Das ist auch ein Ansatz. Vielleicht specke ich meine Ursprüngliche Idee 
auch etwas ab (zB durch Weglassen des Hohlsteckers und vielleicht des 
Tracos; dann kann ich mir auch gleich ein fertiges Board kaufen), um zB 
Blackpills auf Breadboards zu isolieren.

Purzel H. schrieb:
> Die ganze Idee ist Schrott. Es wird ja wohl noch moeglich sein mit
> USB
> zu arbeiten, ohne eine Speisung falsch anzuschliessen...
> Ich werwende fuer meine Prototypen und auch oft Produkte, einen
> Hohlstecker 5mm, da ist aussen GND, innen +, oft +5, +12, oder so. Damit
> ist verpolen quasi weg. Es gibt auch Leute, die schliessen ein Netzteil
> jeweils ueber einen Brueckengleichrichter oder eine Diode an. Das kann
> man auch machen.
>
> Was ich hin und wieder verwende sind ADuM auf den Datenleitungen aus
> einem FT232 raus zum UART des Controllers.

Die +5V und GND zu vertauschen sind dabei eigentlich nur ein Teil von 
dem, was ich erreichen möchte (aber auch nicht ganz unwichtig). Ich 
möchte den Host vor eventuellen Fehlen am Device schützen. Zum Beispiel 
so einem Mist, wie nachts um 2 -15V für den OPA aus Versehen auf GND vom 
Stecker legen. Oder eine vergesse Freilaufdiode, die die +5V mal eben 
etwas anhebt. Oder aus Versehen +5V an einer Datenleitung. Der ADUM kann 
dann meinetwegen dabei kaputt gehen, nur mein Mainboard soll heile 
bleiben. Beim fertigen USB-xxx-Chips kann man natürlich die Anschlüsse 
auf der xxx-Seite isolieren oder sonst halt einen ADUM fest verbauen, 
wie es Kevin vorgeschlagen hat. Dem Zwischenstecker kann ich aber 
trotzdem was abgewinnen. Vielleicht reicht auch sowas wie ein Hub für 
einen Teil von dem, was ich suche.

von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Ich habe mal vor fast einem Jahrzehnt einen isolierten USB 1.1 Hub mit 
dem obigen ADuM Chip und einem TUSB2036 3-Port Hub gebaut. Der Uplink 
hat seinen Strom vom USB Bus bekommen, die Downlinks von einem externen 
Netzteil.

Das Teil funktioniert einwandfrei. Durch den nachgeschalteten Hub kann 
ich Geräte aller Geschwindgkeitsklassen anschließen.

fchk

: Bearbeitet durch User
von D3l T. (d3lta)


Lesenswert?

Sowas wäre dann die nächste Ausbaustufe, wenn der Bedarf entstehen 
sollte.

Ich habe das Projekt nach ein paar Überlegungen jetzt auf Eis gelegt und 
mir testweise ein fertiges Modul mit ADUM4160 bestellt. Keine Ahnung, ob 
ich mein Projekt nochmal weiter verfolge. Jetzt kommen auf jeden Fall 
erstmal andere Dinge :) .

Danke nochmal für die hilfreichen Hinweise, auch wenn ich das Projekt 
erstmal nicht weiter umsetze, habe ich einiges dazugelernt und Kevins 
Hinweis hat mir vermutlich einiges an Frustration eines Tages erspart.

von SmokeTester (Gast)


Lesenswert?

Der Schutzbaustein U1 ist nicht ideal verdrahtet!
Du erzeugst ein Kurzschluss von VBus auf Gnd.

Cheers

von Stefan F. (Gast)


Lesenswert?

D3l T. schrieb:
> USB 2.0 sieht 0.5A max vor

Ja schon, aber viele Geräte ignorieren das einfach. Zum Beispiel meine 
externe Festplatte (700mA) und diverse Entwicklungsboards z.B. mit ESP32 
und etwas Last daran.

Wenn du kannst, würde ich einen DC/DC Wandler nehmen, der 1,2A schafft.

Purzel H. schrieb:
> Die ganze Idee ist Schrott. Es wird ja wohl noch moeglich sein mit USB
> zu arbeiten, ohne eine Speisung falsch anzuschliessen...

Ja sicher, aber genau so gut ist es auch möglich, dass man beim basteln 
mal einen Fehler macht, und dann landen unter Umständen schlagartig 
1100€ in der Mülltonne.

(Ja, es gibt billigere Laptops, aber auch wesentlich teurere.)

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.