Protéger un ordinateur portable des appareils connectés USB

11

Au cours des derniers mois, j'ai réussi à détruire 2 ordinateurs portables parfaitement bons grâce à la programmation de l'électronique de développement via USB. Je me demandais ce qui pouvait être fait pour empêcher cela. Quelques idées que j'ai eues (je ne sais pas comment elles sont pratiques):

  1. Connecteur / concentrateur USB avec serrage des diodes Zener 5 V sur les lignes d'alimentation et de données
  2. Connecteur / concentrateur USB avec opto-isolateurs sur les lignes de données
  3. alimenter la connexion usb avec une source d'alimentation externe plus l'idée mentionnée précédemment

En combinaison avec ces idées, peut-être des résistances sur les lignes 5v D + et D- pour limiter le courant à 200mA (assez pour la plupart des appareils que j'utilise).

Je me demandais simplement ce que certains ingénieurs plus expérimentés que moi pensaient de ces idées et de leurs implications pratiques?

awsem_eng
la source
1
Ils vendent des adaptateurs USB optoisolés spécialement à cet effet.
Ignacio Vazquez-Abrams du
3
Comment avez-vous géré cela exactement? Votre ordinateur portable est-il mis à la terre et vous êtes branché sur un appareil avec une tension au sol? Avez-vous réinjecté de l'énergie sur la ligne 5 V?
Transistor
1
@KingDuken: Un schéma ne suffit pas. L'USB nécessite également un routage approprié afin de ne pas transformer le protocole en une pile de goop.
Ignacio Vazquez-Abrams du
1
Je travaille principalement avec Arduino et l'électronique de développement basée sur PIC pour contrôler les machines à laver et les distributeurs automatiques (Ce n'était pas le même appareil qui a détruit les deux ordinateurs portables). Comme c'est principalement le risque de haute tension, l'utilisation de diodes Zener serait-elle une solution simple et bon marché ou cela gâcherait-il le côté données des choses?
awsem_eng
1
Non, ce ne serait pas le cas - ces diodes devraient supporter la pleine puissance que votre source haute tension peut fournir, ou elles brûleront, puis les diodes de protection de l'ordinateur portable brûleront ensuite. Tout cela se produira en millisecondes, sinon en microsecondes, en supposant que la commutation des machines à laver nécessite une alimentation plutôt costaud pour piloter les relais de manière fiable.
Marcus Müller du

Réponses:

10

Le vrai problème n'est pas le port USB non protégé, le vrai problème est que votre appareil vous et vos appareils risquent d'être connectés à des sources de tension relativement élevées et à courant élevé.

Vous pouvez résoudre les surtensions transitoires avec des diodes de serrage, mais celles-ci ne seront d'aucune utilité si votre alimentation est suffisamment puissante - elles échoueront simplement, puis vous serez dans la même situation qu'auparavant, seulement quelques millisecondes et l'odeur des semi-conducteurs brûlés plus loin.

Votre problème est mauvais, pour de nombreuses raisons, et vos ordinateurs portables sont les moindres:

L'USB est destiné à être manipulé manuellement (c'est une formulation redondante), donc si ce défaut tue votre ordinateur portable, je n'ai pas la plus grande confiance qu'il est intrinsèquement enregistré pour une interaction humaine.

Il existe, pour une bonne raison, des critères de conception pour les circuits qui impliquent de commuter des tensions plus élevées avec des tensions plus faibles.

Généralement: vous avez besoin d'une isolation galvanique entre tout ce que tout être humain (même un technicien de maintenance) pourrait toucher pendant le fonctionnement et les tensions dangereuses.

Par conséquent: séparez strictement votre contrôleur USB et les éléments qu'il commute. Il est courant de piloter des charges inductives ou à haute tension à l'aide d'optocoupleurs, dont le côté secondaire est entraîné par une alimentation séparée.

La disposition de la carte doit séparer les régions à haute tension de l'environnement 5V / MCU. Seuls les optocoupleurs, les noyaux de transformateur et les relais peuvent franchir cette limite. Aucun compromis.

Un problème typique est que la masse d'alimentation de votre appareil a un potentiel complètement différent de la masse USB - bien que cela ne devrait pas être un problème pour un ordinateur portable, qui lui-même devrait être galvaniquement séparé de toute autre chose, il y a beaucoup de cas où vous rencontrez problème avec cela (par exemple, la masse de l'ordinateur portable se retrouve sur la terre ethernet, la terre audio, la terre RS-232 ...). La séparation stricte (isolation) entre le contrôleur et le contrôlé en fait un problème non intrinsèque.

Marcus Müller
la source
3
"Par exemple, la masse de l'ordinateur portable se retrouve sur la terre Ethernet" Ethernet est (supposé être) couplé par transformateur. À l'époque du 10-base-2, ils avaient ces prises BNC à manchon en plastique qui dépassaient de la fente du fond de panier, ne touchant pas spécifiquement le sol du châssis.
Chris Stratton
@ChrisStratton Oui, la signalisation est correctement séparée par des transformateurs, et s'il y a PoE, cela se produit à travers les prises centrales des côtés primaires de ceux-ci, en effet. Mais: j'ai une carte NIC RTL8139 extrêmement commune devant moi. La prise RJ45 a un boîtier métallique, qui établit un contact avec le connecteur RJ45 et donc le blindage du câble. Côté carte, celle-ci est directement connectée à la masse du châssis. Donc, euh ... je peux vérifier mon émetteur-récepteur Gigabit-Ethernet vers SFP pour le blindage des câbles - la connectivité du châssis aussi, si vous le souhaitez. Je suppose que la même chose s'applique aux dongles USB Ethernet et aux cartes réseau embarquées pour ordinateur portable.
Marcus Müller
Il pourrait être plus clair de dire explicitement qu'il existe des cartes USB opto-isolantes. Un exemple est ici adafruit.com/product/2107 - pas d'affiliation, premier lien de Google.
abligh
@abligh bien que je sois d'accord avec le fait que ces cartes existent, je le répète: avoir une telle carte résout le mauvais problème .
Marcus Müller
1
@ MarcusMüller Qui est, comme je l'ai dit, un cas de bord. Vous pourriez personnellement interagir principalement avec STP, mais UTP est toujours de loin le choix le plus courant dans l'ensemble, AFAIK. Dans tous les cas, STP n'est généralement mis à la terre qu'à une extrémité , donc même ce n'est pas un problème.
Bob
6

Je travaille principalement avec Arduino et l'électronique de développement basée sur PIC pour contrôler les machines à laver et les distributeurs automatiques (Ce n'était pas le même appareil qui a détruit les deux ordinateurs portables). Comme c'est principalement le risque de haute tension, l'utilisation de diodes Zener serait-elle une solution simple et bon marché ou cela gâcherait-il le côté données des choses?

Bien. Puisque vous mentionnez «l'utilisation de diodes zener» pour se protéger contre une «haute tension» mal définie, nous avons maintenant un point de données fiable: vous n'avez aucune idée de ce que vous faites.

Par conséquent, vous avez besoin d'un isolateur USB pour protéger le port de l'ordinateur portable contre vous-même. Je suis désolé pour cet ordinateur portable, btw.

Je veux dire, les ordinateurs portables sont isolés de la terre car leurs blocs d'alimentation ne sont pas mis à la terre. Donc, souffler le port USB d'un ordinateur portable est comme ... difficile ... Comment avez-vous réussi exactement à le faire exactement? Avez-vous envoyé la tension secteur sur le port USB ou quelque chose?

peufeu
la source
2
+1 pour "je n'en ai aucune idée", et je souhaite donner un autre +1 pour "souffler le port USB d'un ordinateur portable, c'est comme ... difficile ..."
Ale..chenski
Eh bien, si le micro en cours de programmation est alimenté par un compte-gouttes de condensateur sous tension ou une sorte d'alimentation non isolée ... Je ne suis même pas sûr que le port USB soufflerait, la masse interne de l'ordinateur portable serait simplement au secteur tension (et extrêmement dangereux!) Maintenant, si le micro est utilisé pour contrôler les machines à laver (c.-à-d., grosse charge inductive), alors, bien d'autres choses peuvent mal tourner aussi!
peufeu
«les ordinateurs portables sont isolés de la terre car leurs blocs d'alimentation ne sont pas mis à la terre.» Pas vrai (au moins dans un exemple anecdotique). Lors de l'utilisation d'un ordinateur portable d'un grand fournisseur et d'un adaptateur de remplacement réputé (le premier est décédé), ma masse USB était connectée à la terre. Je ne l'ai découvert que lorsque j'ai essayé de sonder le circuit testé avec un oscilloscope également connecté à la terre, mais avec le clip de terre par erreur sur un nœud différent de la masse USB. La déconnexion de l'alimentation des ordinateurs portables et le déchargement des batteries ont corrigé tout cela.
nanofarad
6
-1 pour 80% du message étant ad-hominem et sarcasme. Je sais que c'est un mème dans la discussion sur l'électronique, mais s'il vous plaît.
AnoE
1
@AliChen Ce n'est pas le cas. J'ai fait sauter un fusible dans mon circuit juste avant qu'un moniteur de courant qui faisait partie du circuit (et dans la boucle de masse) enregistre un transitoire très élevé. Ce n'était certainement pas de l'ordre du milliampère.
nanofarad
2

Puisque vous utilisez Arduino comme base, la solution est simple .... utilisez un processeur jetable pour la programmation et le débogage. L'environnement de développement Arduino s'intègre parfaitement sur un Raspberry Pi que vous pouvez alimenter à partir de votre environnement intégré et parler via sans fil à partir de vos ordinateurs portables restants ou peut-être d'un ordinateur de bureau.

Cela ne vous empêchera pas de faire frire un Raspberry Pi, mais cela réduira le coût d'une panne de circuit à environ 35 $.

Jack Creasey
la source
2
Je pense que tant que la cause première de la suppression des ports des ordinateurs portables n'est pas établie, tout conseil serait prématuré. Nous ne savons pas à quel point le branchement de la machine à laver peut être fou, les fils noirs et blancs peuvent être échangés et la terre suspendue. Ensuite, il pourrait faire frire quoi que ce soit, Pi ou non. J'espère que l'OP a une bonne assurance vie ...
Ale..chenski
Je ne suis pas d'accord ... tout conseil qui rend l'environnement moins susceptible d'être compromis devrait certainement être pris en considération.
Jack Creasey
2
C'est en effet une idée nouvelle - essentiellement l'argument est qu'un pi (plus comme une carte à 5 $ + 5 $ + 5 $ wifi) est probablement maintenant moins cher qu'un isolateur USB. Cependant, rien sur les dangers potentiels dans le système en cours de création ne pourrait persister au-delà de la phase d'ingénierie.
Chris Stratton
1
@ChrisStratton Il s'agit simplement de gérer les risques. Dans un système où vous pourriez avoir des échecs de développement catastrophiques, vous isoleriez l'équipement et l'humain de tout risque de défaillance potentiel. Vous pouvez acheter du matériel professionnel ou rouler vous-même ... J'ai simplement suggéré un roulement viable de votre propre solution. La critique d'Ali Chen est invalide pour l'OMI car pour plusieurs échecs au cours du développement, la cause première peut être différente. Il est trop tard une fois que le feu a commencé.
Jack Creasey
Mon point est que si le câblage d'alimentation n'est pas isolé à la norme dans ce cas particulier, aucune quantité de Pis devant un ordinateur portable ne sera sûre pour les ports et les utilisateurs. C'est tout ce que je voulais dire.
Ale..chenski
0

Ok, après une multitude de clarifications et divers cas présentés, permettez-moi de proposer une solution au problème de la protection d'un ordinateur portable contre la friture dans l'environnement de l'entretien sur site:

  1. Connectez toujours votre équipement de test / diagnostic à l'objet de service en premier et mettez la chose sous tension.

  2. Avant de connecter l'équipement à un ordinateur portable, vérifiez toute tension suspecte entre les blindages USB à l'aide d'un multimètre numérique à faible impédance (standard 10-20k), entre le port DUT et le port d'ordinateur portable, en mode CC et CA.

  3. Si une tension importante est trouvée (5 - 10 - 50 V), utilisez un véritable transformateur d'isolement à l'une des extrémités.

Ale..chenski
la source
0

L'utilisation d'un Pi / Beaglebone / Tinkerbox sur WiFi serait bon marché et facile. CHIP a l'air bien, voir https://getchip.com/pages/chip . 5-9 $ par appareil. Vous pouvez tuer 7 chips pour le prix de 1 Pi3. Évidemment, vous devez toujours résoudre le problème que les tensions de coupure atteignent les ports USB, mais au moins votre poste de travail sera en sécurité. Ne le connectez pas à votre LAN avec Ethernet, cependant.

Le transfert des fichiers consiste simplement à utiliser un accès ssh sans mot de passe basé sur des clés pour les fichiers scp vers le Pi / autre et un shell distant pour le télécharger. Pour arduino, il existe le paquet arduino-mk, et il existe des outils similaires pour PIC. Vous pouvez également enregistrer vos fichiers sur un partage SMB / CIFS exporté et utiliser le shell distant pour le créer et le télécharger sur vos cartes.

Si un kill-voltage se reproduit, vous ne perdrez que 30-35 $.

Je n'ai toujours pas découvert comment ces tensions parviennent à traverser vos MCU et à entrer dans le port USB. Est-ce un court métrage? D'où est ce que ça vient? J'ai détruit de nombreux clones Arduino et je suis sincèrement curieux.

De plus, les ports USB sont généralement polyfusés contre des tensions modérées. Vous devez réellement placer une tension négative sur la broche 5V pour tuer le port (ou positif sur la broche GND), le contrôleur et peut-être la carte mère. Comment gérez-vous le meurtre de deux ordinateurs portables? Serait-ce la magie du courant alternatif au travail?

user2497
la source