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
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"
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 :/
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:
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.
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:>
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“ ;) .
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.
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 :) .
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 ;)
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.
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.
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
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.
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.)