Schutz eines Laptops vor über USB angeschlossenen Geräten

11

In den letzten Monaten habe ich es geschafft, 2 einwandfreie Laptops durch Programmierung der Entwicklungselektronik über USB zu zerstören. Ich habe mich gefragt, was getan werden könnte, um dies zu verhindern. Ein paar Ideen, die ich hatte (nicht sicher, wie praktisch):

  1. USB-Anschluss / Hub mit klemmenden 5-V-Zenerdioden an Strom- und Datenleitungen
  2. USB-Anschluss / Hub mit Optokopplern an Datenleitungen
  3. Versorgung des USB-Anschlusses mit externer Stromquelle plus zuvor erwähnte Idee

In Kombination mit diesen Ideen können Widerstände sowohl auf 5 V D + als auch auf D- Leitungen den Strom auf etwa 200 mA begrenzen (genug für die meisten Geräte, die ich verwende).

Sie haben sich nur gefragt, was einige erfahrenere Ingenieure als ich über diese Ideen und ihre praktischen Auswirkungen gedacht haben?

awsem_eng
quelle
1
Sie verkaufen speziell für diesen Zweck optoisolierte USB-Adapter.
Ignacio Vazquez-Abrams
3
Wie genau haben Sie das geschafft? Ist Ihr Laptop geerdet und Sie an ein Gerät mit Spannung am Boden angeschlossen? Haben Sie die 5-V-Leitung mit Strom versorgt?
Transistor
1
@KingDuken: Ein Schaltplan reicht nicht aus. USB erfordert auch ein korrektes Routing, um das Protokoll nicht in einen Haufen Goop zu verwandeln.
Ignacio Vazquez-Abrams
1
Ich arbeite hauptsächlich mit Arduino- und PIC-basierter Entwicklungselektronik zur Steuerung von Waschmaschinen und Verkaufsautomaten (es war nicht dasselbe Gerät, das beide Laptops zerstört hat). Wäre die Verwendung von Zenerdioden eine einfache, billige Lösung, da dies hauptsächlich nur das Risiko einer Hochspannung darstellt, oder würde dies die Datenseite der Dinge beeinträchtigen?
awsem_eng
1
Nein, das würde es nicht - diese Dioden müssten der vollen Leistung standhalten, die Ihre Hochspannungsquelle liefern kann, oder sie brennen durch, und dann brennen die Schutzdioden des Laptops als nächstes. Das alles geschieht in Milli-, wenn nicht Mikrosekunden, vorausgesetzt, das Wechseln von Waschmaschinen erfordert eine ziemlich kräftige Versorgung, um zuverlässig zu fahren.
Marcus Müller

Antworten:

10

Das eigentliche Problem ist nicht der ungeschützte USB-Anschluss. Das eigentliche Problem besteht darin, dass Ihr Gerät Sie und Ihre Geräte dem Risiko aussetzt, an Quellen mit höherer Spannung und relativ hohem Strom angeschlossen zu werden.

Sie können transiente Überspannungen mit Klemmdioden lösen, aber diese helfen nicht, wenn Ihre Stromversorgung stark genug ist - sie fallen einfach aus, und dann befinden Sie sich in der gleichen Situation wie zuvor, nur Millisekunden und der Geruch von verbrannten Halbleitern weiter.

Ihr Problem ist aus vielen Gründen ein schlechtes, und Ihre Laptops sind das geringste davon:

USB soll manuell gehandhabt werden (das ist redundanter Wortlaut). Wenn dieser Fehler Ihren Laptop tötet, habe ich nicht das größte Vertrauen, dass er von Natur aus für die menschliche Interaktion geeignet ist.

Es gibt aus gutem Grund Entwurfskriterien für Schaltungen, bei denen höhere Spannungen gegen niedrigere Spannungen geschaltet werden.

Allgemein: Sie benötigen eine galvanische Trennung zwischen dem, was ein Mensch (selbst ein Servicetechniker) während des Betriebs berühren könnte, und den gefährlichen Spannungen.

Daher: Trennen Sie Ihren USB-Controller und die Schalter, die er schaltet, streng voneinander. Es ist üblich, induktive Lasten oder Hochspannungslasten mit Optokopplern anzutreiben, deren Sekundärseite von einer separaten Stromversorgung gespeist wird.

Das Platinenlayout muss die Hochspannungsbereiche von der 5V / MCU-Umgebung trennen. Nur Optokoppler, Transformatorkerne und Relais dürfen diese Grenze überschreiten. Keine Kompromisse.

Ein typisches Problem besteht darin, dass die Erdung Ihres Geräts ein völlig anderes Potenzial hat als die USB-Erdung. Obwohl dies kein Problem für einen Laptop sein sollte, der selbst galvanisch von allem anderen getrennt sein sollte, gibt es viele Fälle, in denen Sie auf etwas stoßen Probleme damit (zB Laptop-Masse endet auf Ethernet-Masse, Audio-Masse, RS-232-Masse ...). Die strikte Trennung (Isolation) zwischen Controller und Controlled macht dies zu einem inhärenten Problem.

Marcus Müller
quelle
3
"zB Laptop-Masse endet auf Ethernet-Masse" Ethernet ist (soll) transformatorgekoppelt. In den Tagen von 10-base-2 hatten sie diese BNC-Buchsen mit Kunststoffhülle, die aus dem Steckplatz der Rückwandplatine ragten und ganz speziell den Gehäusemasse nicht berührten.
Chris Stratton
@ChrisStratton Ja, die Signalisierung wird ordnungsgemäß durch Transformatoren getrennt, und wenn PoE vorhanden ist, geschieht dies tatsächlich über die Mittelabgriffe der Primärseiten dieser. Aber: Ich habe eine extrem häufige RTL8139-NIC-Karte vor mir. Die RJ45-Buchse hat ein Metallgehäuse, das den RJ45-Stecker und damit die Kabelabschirmung berührt. Auf der Kartenseite ist dies direkt mit der Gehäusemasse verbunden. Also, ähm ... Ich kann meinen Gigabit-Ethernet-zu-SFP-Transceiver auf Kabelabschirmung überprüfen - auf Wunsch auch auf Gehäusekonnektivität. Ich vermute, dass dies auch für USB-Ethernet-Dongles und Laptop-integrierte Netzwerkkarten gilt.
Marcus Müller
Es könnte klarer sein, explizit zu sagen, dass es optisch isolierende USB-Karten gibt. Ein Beispiel ist hier adafruit.com/product/2107 - keine Zugehörigkeit, erster Link von Google.
Abligh
@abligh Obwohl ich der Tatsache zustimme, dass diese Boards existieren, wiederhole ich: Ein solches Board zu haben, löst das falsche Problem .
Marcus Müller
1
@ MarcusMüller Was, wie gesagt, ein Randfall ist. Sie persönlich interagieren möglicherweise hauptsächlich mit STP, aber UTP ist bei weitem immer noch die häufigste Wahl, AFAIK. In jedem Fall ist STP normalerweise nur an einem Ende geerdet , sodass auch dies kein Problem darstellt.
Bob
6

Ich arbeite hauptsächlich mit Arduino- und PIC-basierter Entwicklungselektronik zur Steuerung von Waschmaschinen und Verkaufsautomaten (es war nicht dasselbe Gerät, das beide Laptops zerstört hat). Wäre die Verwendung von Zenerdioden eine einfache, billige Lösung, da dies hauptsächlich nur das Risiko einer Hochspannung darstellt, oder würde dies die Datenseite der Dinge beeinträchtigen?

Gut. Da Sie die "Verwendung von Zenerdioden" zum Schutz vor einer schlecht definierten "Hochspannung" erwähnen, haben wir jetzt einen zuverlässigen Datenpunkt: Sie haben keine Ahnung, was Sie tun.

Daher benötigen Sie einen USB-Isolator, um den Laptop-Anschluss vor sich selbst zu schützen. Dieser Laptop tut mir übrigens leid.

Ich meine, Laptops sind vom Boden isoliert, weil ihre Netzteile nicht geerdet sind. Das Ausblasen des USB-Anschlusses eines Laptops ist also wie ... schwierig ... Wie genau haben Sie das genau geschafft? Haben Sie die Netzspannung über den USB-Anschluss gesendet oder so?

peufeu
quelle
2
+1 für "keine Ahnung von", und ich möchte eine weitere +1 für "Blasen des USB-Anschlusses eines Laptops ist wie ... schwierig ..."
Ale..chenski
Nun, wenn das Mikro, das programmiert wird, von einem aktiven Kondensatortropfer aus dem Stromnetz oder einer nicht isolierten Versorgung gespeist wird ... Ich bin mir nicht einmal sicher, ob der USB-Anschluss durchbrennen würde, die interne Masse des Laptops wäre einfach am Netz Spannung (und extrem gefährlich!) Wenn das Mikro nun zur Steuerung von Waschmaschinen (dh großer induktiver Last) verwendet wird, können auch andere Dinge schief gehen!
Peufeu
"Laptops sind von der Erde isoliert, da ihre Netzteile nicht geerdet sind." Nicht wahr (zumindest in einem anekdotischen Beispiel). Während ich einen Laptop eines großen Herstellers und einen seriösen Ersatzadapter (der erste starb) verwendete, wurde meine USB-Masse mit der Erdung verbunden. Ich habe dies erst entdeckt, als ich versucht habe, die zu testende Schaltung mit einem ebenfalls an Masse angeschlossenen Oszilloskop abzutasten, wobei sich der Erdungsclip jedoch fälschlicherweise an einem anderen Knoten als der USB-Masse befand. Das Trennen der Laptop-Versorgung und das Entladen der Batterien haben all dies behoben.
Stellen Sie Monica wieder her - ζ--
6
-1 für 80% der Nachricht ist Ad-Hominem und Sarkasmus. Ich weiß, dass dies ein Mem in der Elektronikdiskussion ist, aber bitte.
AnoE
1
@AliChen Das ist nicht der Fall. Ich habe eine Sicherung in meinem Stromkreis durchgebrannt, kurz bevor ein Strommonitor, der Teil des Stromkreises (und in der Erdungsschleife) war, einen sehr hohen Übergang aufzeichnete. Dies war definitiv nicht im Milliampere-Bereich.
Stellen Sie Monica wieder her - ζ--
2

Da Sie Arduino als Basis verwenden, ist die Lösung einfach. Verwenden Sie zum Programmieren und Debuggen einen Einwegprozessor. Die Arduino-Entwicklungsumgebung passt gut auf einen Raspberry Pi, den Sie über Ihre eingebettete Umgebung mit Strom versorgen und von Ihren verbleibenden Laptops oder vielleicht einem Desktop aus drahtlos kommunizieren können.

Dies hindert Sie nicht daran, einen Raspberry Pi zu braten, reduziert jedoch die Kosten für einen Stromkreisausfall auf etwa 35 US-Dollar.

Jack Creasey
quelle
2
Ich denke, bis die Hauptursache für das Ausblasen der Anschlüsse des Laptops feststeht, wäre jeder Rat verfrüht. Wir wissen nicht, wie verrückt der Anschluss der Waschmaschine sein könnte, schwarze und weiße Drähte können ausgetauscht werden und der Erdboden hängt lose. Dann könnte es alles braten, Pi oder nicht. Ich hoffe, die OP hat eine gute Lebensversicherung ...
Ale..chenski
Ich bin anderer Meinung ... jeder Rat, der die Wahrscheinlichkeit einer Gefährdung der Umwelt verringert, sollte auf jeden Fall in Betracht gezogen werden.
Jack Creasey
2
Das ist in der Tat eine neuartige Idee - im Wesentlichen ist das Argument, dass ein Pi (eher 5 $ + 5 $ Karte + 5 $ WLAN) jetzt wahrscheinlich billiger ist als ein USB-Isolator. Es gibt auch keine Hinweise auf mögliche Gefahren im System, die über die Engineering-Phase hinaus bestehen könnten.
Chris Stratton
1
@ ChrisStratton Es geht einfach darum, Risiken zu managen. In einem System, in dem Sie möglicherweise katastrophale Entwicklungsfehler haben, würden Sie sowohl die Ausrüstung als auch den Menschen von einem möglichen Ausfallrisiko isolieren. Sie können professionelle Ausrüstung kaufen oder Ihre eigene Rolle rollen ... Ich habe einfach eine brauchbare Rolle für Ihre eigene Lösung vorgeschlagen. Die Kritik von Ali Chen ist IMO ungültig, da bei mehreren Fehlern während der Entwicklung die Grundursache unterschiedlich sein kann. Es ist zu spät, sobald das Feuer begonnen hat.
Jack Creasey
Mein Punkt ist, dass, wenn die Stromverkabelung in diesem speziellen Fall nicht von der Norm isoliert ist, keine Pis-Menge vor einem Laptop für Ports und Benutzer sicher ist. Das ist alles was ich meinte.
Ale..chenski
0

Ok, lassen Sie mich nach einer Vielzahl von Klarstellungen und verschiedenen vorgestellten Fällen eine Lösung für das Problem anbieten, wie ein Laptop vor dem Braten in der Umgebung des Außendienstes geschützt werden kann:

  1. Schließen Sie Ihr Test- / Diagnosegerät immer zuerst an das Serviceobjekt an und schalten Sie das Gerät ein.

  2. Überprüfen Sie vor dem Anschließen des Geräts an den Laptop mit einem niederohmigen (Standard 10-20k) DMM zwischen DUT-Anschluss und Laptop-Anschluss im DC- und AC-Modus, ob zwischen den USB-Abschirmungen verdächtige Spannungen auftreten.

  3. Wenn eine signifikante Spannung festgestellt wird (5 - 10 - 50 V), verwenden Sie an einem der Enden einen echten Trenntransformator .

Ale..chenski
quelle
0

Die Verwendung einer Pi / Beaglebone / Tinkerbox über WLAN wäre billig und einfach. CHIP sieht gut aus https://getchip.com/pages/chip . 5-9 $ pro Gerät. Sie können 7 CHIPs zum Preis von 1 Pi3 ermorden. Natürlich müssen Sie immer noch das Problem beheben, dass Kill-Spannungen USB-Anschlüsse erreichen, aber zumindest Ihre Workstation ist sicher. Verbinden Sie es jedoch nicht mit Ethernet mit Ihrem LAN.

Das Übertragen der Dateien ist einfach eine Frage des schlüsselbasierten passwortlosen ssh-Zugriffs auf scp-Dateien auf den Pi / other und einer Remote-Shell zum Hochladen. Für Arduino gibt es das Arduino-mk-Paket und ähnliche Tools für PIC. Zweifellos können Sie Ihre Dateien auch einfach auf einer exportierten SMB / CIFS-Freigabe speichern und mithilfe der Remote-Shell erstellen und auf Ihre Boards hochladen.

Wenn erneut eine Kill-Spannung auftritt, verlieren Sie nur 30-35 $.

Ich habe immer noch nicht herausgefunden, wie diese Spannungen es jemals schaffen, Ihre MCUs zu durchlaufen und in den USB-Anschluss einzutreten. Ist es ein kurzer? Woher kommt das? Ich habe viele Arduino-Klone zerstört und bin aufrichtig neugierig.

Außerdem sind die USB-Anschlüsse normalerweise gegen mäßige Spannungen polyfundiert. Sie müssen tatsächlich eine negative Spannung an den 5-V-Pin anlegen, um den Port (oder den positiven an den GND-Pin), den Controller und möglicherweise das Motherboard zu unterbrechen. Wie schaffen Sie es, zwei Laptops zu ermorden? Könnte es die Magie des Wechselstroms bei der Arbeit sein?

user2497
quelle