Protegendo um laptop de dispositivos conectados via USB


11

Nos últimos dois meses, consegui destruir dois laptops perfeitamente bons através da programação de eletrônicos de desenvolvimento via USB. Fiquei me perguntando o que poderia ser feito para evitar isso. Algumas idéias que tive (não tenho certeza de quão prático):

  1. Conector / hub USB com diodos zener de fixação de 5V nas linhas de energia e dados
  2. Conector / hub USB com opto-isoladores nas linhas de dados
  3. fornecendo a conexão USB com fonte de alimentação externa, além da idéia mencionada anteriormente

Em combinação com essas idéias, talvez resistores nas linhas 5v D + e D- para limitar a corrente para dizer 200mA (o suficiente para a maioria dos dispositivos que uso).

Apenas me perguntei o que alguns engenheiros mais experientes do que eu pensavam sobre essas idéias e suas implicações práticas.


1
Eles vendem adaptadores USB optoisolados especificamente para esse fim.
Ignacio Vazquez-Abrams

3
Como exatamente você conseguiu isso? O seu laptop está aterrado e você está conectado a um dispositivo com voltagem no chão? Você alimentou a energia novamente na linha de 5 V?
Transistor

1
@KingDuken: Um esquema não é suficiente. O USB também requer roteamento adequado para não transformar o protocolo em uma pilha de gosma.
Ignacio Vazquez-Abrams

1
Trabalho principalmente com eletrônicos de desenvolvimento baseados em Arduino e PIC para controlar máquinas de lavar e máquinas de venda automática (não foi o mesmo dispositivo que destruiu os dois laptops). Como é principalmente o risco de alta tensão, o uso de diodos zener seria uma solução simples e barata ou isso interferiria no lado dos dados?
22417 awsem_eng

1
Não, não - esses diodos teriam que suportar toda a energia que sua fonte de alta tensão pode fornecer, ou eles queimarão, e então os diodos de proteção do laptop queimam em seguida. Tudo isso acontece em milissegundos, se não microssegundos, supondo que a troca de máquinas de lavar exija um suprimento bastante robusto para acionar os relés de maneira confiável.
Marcus Müller

Respostas:


10

O problema real não é a porta USB desprotegida, o problema real é que seu dispositivo coloca você e seus dispositivos em risco de serem conectados a fontes de alta voltagem e corrente relativamente alta.

Você pode resolver a sobretensão transitória com diodos de aperto, mas isso não ajudará se a fonte de alimentação for suficientemente forte - eles simplesmente falharão e você estará na mesma situação de antes, apenas milissegundos e o cheiro de semicondutores queimados ainda mais.

Seu problema é ruim, por várias razões, e seus laptops são os menores:

O USB deve ser manuseado manualmente (isso é redundante); portanto, se essa falha matar o seu laptop, não tenho a maior confiança de que ela é inerentemente salva para a interação humana.

Por um bom motivo, existem critérios de projeto para circuitos que envolvem a comutação de tensões mais altas com tensões mais baixas.

Geralmente: você precisa de isolamento galvânico entre o que qualquer humano (mesmo um técnico de serviço) possa tocar durante a operação e as tensões perigosas.

Portanto: separe estritamente o seu controlador USB e as coisas que ele alterna. É prática comum acionar cargas indutivas ou de alta tensão usando acopladores ópticos, cujo lado secundário é acionado por uma fonte de alimentação separada.

O layout da placa deve separar as regiões de alta tensão do ambiente 5V / MCU. Somente acopladores ópticos, núcleos de transformador e relés podem atravessar esse limite. Sem compromissos.

Um problema típico é que o aterramento da fonte de alimentação do seu dispositivo tem um potencial completamente diferente do aterramento USB - embora isso não deva ser um problema para um laptop, que deve ser galvanicamente separado de qualquer outra coisa, existem muitos casos em que você encontra problemas com isso (por exemplo, a terra do laptop acaba em terra Ethernet, terra de áudio, terra RS-232 ...). A separação estrita (isolamento) entre controlador e controlado faz com que isso não seja um problema inerente.


3
"por exemplo, a terra do laptop acaba na terra da Ethernet" A Ethernet é (supostamente) transformadora acoplada. Nos dias de 10-base-2, eles possuíam esses conectores BNC de manga plástica que se destacavam do slot do backplane, muito especificamente não tocando o solo do chassi.
22417 Chris Stratton

@ ChrisStratton Sim, a sinalização é adequadamente separada por transformadores e, se houver PoE, isso acontece através dos toques centrais dos lados primários deles. Mas: tenho uma placa NIC RTL8139 extremamente comum à minha frente. O conector RJ45 possui uma caixa de metal, que faz contato com o conector RJ45 e, portanto, com a blindagem do cabo. No lado da placa, isso está diretamente conectado ao terra do chassi. Então, posso verificar meu transceptor Gigabit-Ethernet-para-SFP para blindagem de cabos - conectividade de chassi também, se você quiser. Meu palpite é que o mesmo se aplica a dongles ethernet USB e NICs de laptop.
Marcus Müller

Pode ser mais claro dizer explicitamente que existem placas USB com isolamento óptico. Um exemplo é aqui adafruit.com/product/2107 - sem afiliação, primeiro link do Google.
abligh

@ Embora eu concorde com o fato de que essas placas existem, reitero: ter uma placa desse tipo resolve o problema errado .
Marcus Müller

1
@ MarcusMüller O que é, como eu disse, um caso extremo. Você pessoalmente pode interagir principalmente com o STP, mas o UTP ainda é de longe a escolha mais comum em geral, o AFAIK. De qualquer forma, o STP normalmente é baseado apenas em uma extremidade , portanto, isso não é um problema.
Bob

6

Trabalho principalmente com eletrônicos de desenvolvimento baseados em Arduino e PIC para controlar máquinas de lavar e máquinas de venda automática (não foi o mesmo dispositivo que destruiu os dois laptops). Como é principalmente o risco de alta tensão, o uso de diodos zener seria uma solução simples e barata ou isso interferiria no lado dos dados?

Boa. Como você menciona o "uso de diodos zener" para proteger contra uma "alta tensão" mal definida, agora temos um ponto de dados confiável: você não tem idéia do que está fazendo.

Portanto, você precisa de um isolador USB para proteger a porta do laptop. Sinto muito por esse laptop, aliás.

Quero dizer, os laptops são isolados do solo devido ao fato de suas fontes de alimentação não serem aterradas. Então, soprar a porta USB de um laptop é como ... difícil ... Como exatamente você conseguiu fazer isso exatamente? Você enviou a tensão da rede elétrica pela porta USB ou algo assim?


2
+1 para "não faço ideia" e gostaria de dar outro +1 para "soprar a porta USB de um laptop é como ... difícil ..."
Ale..chenski

Bem, se o micro que está sendo programado é alimentado por um conta-gotas de capacitor da rede elétrica ou algum tipo de suprimento não isolado ... nem tenho certeza de que a porta USB funcionaria, o aterramento interno do laptop seria simplesmente na rede elétrica tensão (e extremamente perigosa!) Agora, se o micro for usado para controlar máquinas de lavar (ou seja, grande carga indutiva), então, outras coisas também podem dar errado!
peufeu 23/07

"laptops são isolados do chão devido ao fato de suas fontes de alimentação não serem aterradas". Não é verdade (pelo menos em um exemplo anedótico). Enquanto estava usando um laptop de um grande fornecedor, e um adaptador de substituição respeitável (o primeiro morreu), meu aterramento USB foi conectado ao aterramento. Eu só descobri isso quando tentei sondar o circuito em teste com um escopo também conectado ao terra, mas com o clipe de terra por engano em um nó diferente do terra USB. Desconectar o suprimento de laptop e esgotar as baterias corrigia tudo isso.
Nanofarad

6
-1 para 80% da mensagem sendo ad-hominem e sarcasmo. Eu sei que é um meme na discussão sobre eletrônica, mas por favor.
AnoE

1
@AliChen Esse não é o caso. Soprei um fusível no meu circuito imediatamente antes de um monitor atual que fazia parte do circuito (e no loop de aterramento) registrar um transiente muito alto. Definitivamente, isso não estava na faixa de miliamperes.
Nanofarad

2

Como você está usando o Arduino como base, a solução é fácil .... use um processador descartável para programação e depuração. O ambiente de desenvolvimento do Arduino se encaixa perfeitamente em um Raspberry Pi, que você pode usar no seu ambiente incorporado e conversar com a tecnologia sem fio nos laptops restantes ou talvez em um desktop.

Isso não impedirá que você frite um Raspberry Pi, mas reduzirá o custo de uma falha no circuito para cerca de US $ 35.


2
Penso que, até que a causa raiz de explodir as portas dos laptops seja estabelecida, qualquer conselho seria prematuro. Não sabemos o quão louca a conexão da máquina de lavar pode ser, fios em preto e branco podem ser trocados e o terra aterrado. Então pode fritar qualquer coisa, Pi ou não. Espero que o OP tenha um bom seguro de vida ...
Ale..chenski

Não concordo ... qualquer conselho que torne menos provável que o ambiente seja comprometido deve ser considerado.
22817 Jack Creasey

2
Essa é realmente uma ideia nova - essencialmente o argumento é que um pi (mais como $ 5 + $ 5 card + $ 5 wifi) é provavelmente agora mais barato que um isolador USB. No entanto, nada sobre possíveis perigos no sistema que está sendo criado que possam persistir além da fase de engenharia.
22417 Chris Stratton

1
@ Chrishratton Trata-se simplesmente de gerenciar riscos. Em um sistema em que você pode ter falhas catastróficas no desenvolvimento, você isolaria o equipamento e o ser humano de qualquer risco potencial de falha. Você pode comprar equipamentos profissionais ou fazer o seu próprio rolo ... Eu simplesmente sugeri um rolo viável para sua própria solução. As críticas de Ali Chen são inválidas na IMO, pois, para várias falhas durante o desenvolvimento, a causa raiz pode ser diferente. É tarde demais quando o fogo começa.
precisa

O que quero dizer é que, se a fiação de energia não estiver isolada de acordo com a norma nesse caso específico, nenhuma quantidade de Pis na frente de um laptop será segura para portas e usuários. Foi tudo o que eu quis dizer.
Ale..chenski

0

Ok, depois de vários esclarecimentos e vários casos apresentados, deixe-me oferecer uma solução para o problema de como proteger um laptop de fritar no ambiente de serviço de campo:

  1. Sempre conecte seu equipamento de teste / diagnóstico ao objeto de serviço primeiro e ligue-o.

  2. Antes de conectar o equipamento ao laptop, verifique se há voltagens suspeitas entre as blindagens USB usando um DMM de baixa impedância (padrão 10-20k), entre a porta DUT e a porta do laptop, tanto no modo DC quanto no AC.

  3. Se uma tensão significativa for encontrada (5 - 10 - 50 V), use um transformador de isolamento verdadeiro em uma das extremidades.


0

Usar um Pi / Beaglebone / Tinkerbox por WiFi seria barato e fácil. O CHIP parece bom, consulte https://getchip.com/pages/chip . 5-9 $ por dispositivo. Você pode assassinar 7 CHIPs pelo preço de 1 Pi3. Obviamente, você ainda precisa resolver o problema de que as tensões de interrupção atingem as portas USB, mas pelo menos sua estação de trabalho estará segura. Não conecte-o à sua LAN com Ethernet, no entanto.

A transferência dos arquivos é simplesmente uma questão de usar o acesso ssh sem senha, com base em chave, aos arquivos scp para o Pi / outro e um shell remoto para carregar. Para o arduino, existe o pacote arduino-mk e existem ferramentas semelhantes para o PIC. Sem dúvida, você também pode salvar seus arquivos em um compartilhamento SMB / CIFS exportado e usar o shell remoto para fazer e fazer o upload para suas placas.

Se ocorrer uma voltagem fatal, você perderá apenas 30-35 $.

Ainda não descobri como essas tensões conseguem atravessar seus MCUs e entrar na porta USB. É curto? De onde isso vem? Eu destruí muitos clones do arduino e estou sinceramente curioso.

Além disso, as portas USB geralmente são polifundidas contra tensões moderadas. Você realmente precisa colocar uma tensão negativa no pino de 5V para matar a porta (ou positivo para o pino GND), o controlador e talvez a placa-mãe. Como você está gerenciando o assassinato de dois laptops? Poderia ser a mágica da corrente alternada no trabalho?

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.