Защита ноутбука от USB-подключенных устройств


11

За последние пару месяцев мне удалось уничтожить 2 совершенно хороших ноутбука с помощью программирования для разработки электроники через USB. Мне было интересно, что можно сделать, чтобы предотвратить это. У меня была пара идей (не знаю, насколько это практично):

  1. Разъем / концентратор USB с зажимными стабилитронами 5 В на линиях питания и передачи данных
  2. USB-разъем / концентратор с оптоизоляторами на линиях передачи данных
  3. поставка USB-подключения с внешним источником питания плюс ранее упомянутая идея

В сочетании с этими идеями, возможно, резисторы на линиях 5 + D + и D- ограничивают ток до 200 мА (этого достаточно для большинства устройств, которые я использую).

Интересно, что думают об этих идеях и их практических последствиях более опытные инженеры, чем я?


1
Они продают оптоизолированные USB-адаптеры специально для этой цели.
Игнасио Васкес-Абрамс

3
Как именно вам это удалось? Ваш ноутбук заземлен, и вы подключены к устройству с напряжением на земле? Вы подали питание обратно на линию 5 В?
Транзистор

1
@ KingDuken: схемы недостаточно. USB также требует правильной маршрутизации, чтобы не превращать протокол в кучу дерьма.
Игнасио Васкес-Абрамс

1
В основном я работаю с разработчиками Arduino и PIC для управления стиральными и торговыми автоматами (это было не то же самое устройство, которое уничтожило оба ноутбука). Поскольку в основном это риск высокого напряжения, будет ли использование стабилитронов простым и дешевым решением или это будет мешать с данными?
awsem_rus

1
Нет, это не так - эти диоды должны будут выдерживать полную мощность, которую может обеспечить ваш высоковольтный источник, иначе они сгорят, а затем сгорят защитные диоды ноутбука. Все это произойдет за миллионы, если не за микросекунды, если предположить, что для переключения стиральных машин требуется довольно громоздкая подача для надежного управления реле.
Маркус Мюллер

Ответы:


10

Настоящая проблема не в незащищенном USB-порте, а в том, что ваше устройство подвергает вас и ваши устройства риску подключения к источникам высокого напряжения, относительно высокого тока.

Вы можете решить проблему переходного перенапряжения с помощью зажимных диодов, но это не поможет, если у вас достаточно сильный источник питания - он просто выйдет из строя, и тогда вы окажетесь в той же ситуации, что и раньше, всего за миллисекунды и запах сгоревших полупроводников.

Ваша проблема плохая, по многим причинам, и ваши ноутбуки являются наименее из этого:

USB-порт должен обрабатываться вручную (это избыточная формулировка), поэтому, если эта ошибка убьет ваш ноутбук, у меня нет полной уверенности в том, что он по своей природе сохранен для взаимодействия с человеком.

По понятной причине существуют критерии проектирования для схем, которые включают переключение более высоких напряжений с более низкими напряжениями.

Как правило: вам нужна гальваническая развязка между тем, что любой человек (даже техник по обслуживанию) может коснуться во время работы, и опасным напряжением.

Следовательно: строго разделите ваш USB-контроллер и все, что он переключает. Обычной практикой является управление индуктивными или высоковольтными нагрузками с помощью оптопар, вторичная сторона которых приводится в действие отдельным источником питания.

Компоновка платы должна отделять области высокого напряжения от среды 5 В / MCU. Только оптопары, сердечники трансформатора и реле могут пересекать эту границу. Никаких компромиссов.

Типичная проблема заключается в том, что заземление источника питания вашего устройства имеет совершенно иной потенциал, чем заземление USB - хотя это не должно быть проблемой для ноутбука, который сам должен быть гальванически отделен от всего остального, во многих случаях вы сталкиваетесь с проблема с этим (например, заземление ноутбука оказывается на заземлении Ethernet, аудио заземлении, заземлении RS-232 ...). Строгое разделение (изоляция) между контроллером и контролируемым делает это неотъемлемой проблемой.


3
«Например, заземление ноутбука заканчивается на Ethernet». Ethernet (должен быть) соединен трансформатором. Еще во времена 10-base-2 у них были эти гнезда BNC с пластиковым рукавом, которые торчали бы из слота объединительной платы, особенно не касаясь заземления корпуса.
Крис Страттон

@ChrisStratton Да, сигнализация должным образом разделена трансформаторами, и, если есть PoE, это действительно происходит через центральные ответвления первичных сторон. Но: передо мной предельно распространенная карта NIC RTL8139. Гнездо RJ45 имеет металлический корпус, который соединяется с разъемом RJ45 и, следовательно, экраном кабеля. Со стороны карты это напрямую связано с заземлением корпуса. Так что ... Я могу проверить мой трансивер Gigabit-Ethernet-SFP на наличие экранирования кабеля - возможность подключения к шасси, если хотите. Я предполагаю, что то же самое относится к USB-адаптерам Ethernet и встроенным сетевым адаптерам ноутбуков.
Маркус Мюллер

Возможно, было бы яснее прямо сказать, что существуют оптоизолирующие платы USB. Пример здесь adafruit.com/product/2107 - нет связи, первая ссылка от Google.
abligh

@ Возможно, я согласен с тем фактом, что эти доски существуют, повторяю: наличие такой доски решает не ту проблему .
Маркус Мюллер

1
@ MarcusMüller. Как я уже сказал, это крайний случай. Лично вы можете взаимодействовать в основном с STP, но в целом, по-прежнему, наиболее популярным является UTP, AFAIK. В любом случае, STP, как правило, опирается только на один конец , так что даже это не проблема.
Боб

6

В основном я работаю с разработчиками Arduino и PIC для управления стиральными и торговыми автоматами (это было не то же самое устройство, которое уничтожило оба ноутбука). Поскольку в основном это риск высокого напряжения, будет ли использование стабилитронов простым и дешевым решением или это будет мешать с данными?

Хорошо. Поскольку вы упоминаете «использование стабилитронов» для защиты от плохо определенного «высокого напряжения», у нас теперь есть одна надежная точка данных: вы понятия не имеете, что делаете.

Поэтому вам нужен USB-изолятор, чтобы защитить порт ноутбука от себя. Мне жаль этот ноутбук, кстати.

Я имею в виду, что ноутбуки изолированы от земли из-за того, что их источники питания не заземлены. Итак, продувать USB-порт ноутбука - это как ... сложно ... Как именно вам удалось это сделать? Вы посылали сетевое напряжение через USB-порт или что-то?


2
+1 для «понятия не имею», и я хотел бы дать еще один +1 для «продувки USB-порта ноутбука - это как ... сложно ...»
Ale..chenski

Ну, если программируемый микро питается от конденсатора от сети или от какого-то неизолированного источника питания ... Я даже не уверен, что USB-порт сломается, внутреннее заземление ноутбука будет просто на сети Напряжение (и это чрезвычайно опасно!) Теперь, если микроуправление используется для управления стиральными машинами (то есть, с большой индуктивной нагрузкой), то и другие вещи могут пойти не так!
peufeu

«Ноутбуки изолированы от земли из-за того, что их источники питания не заземлены». Не верно (по крайней мере, в одном анекдотическом примере). При использовании ноутбука от крупного производителя и надежного сменного адаптера (первый умер), мое заземление USB было подключено к заземлению. Я обнаружил это, только когда попытался проверить тестируемую цепь с помощью прицела, также подключенного к заземлению, но с зажимом заземления по ошибке на другом узле, чем заземление USB. Отключение питания ноутбука и разрядка батарей исправили все это.
нанофарад

6
-1 для 80% сообщения, являющегося ad-hominem и сарказмом. Я знаю, что это мем в обсуждении электроники, но, пожалуйста.
AnoE

1
@AliChen Это не тот случай. Я выпустил плавкий предохранитель в моей цепи непосредственно перед тем, как монитор тока, который был частью цепи (и в контуре заземления), записал очень высокий переходный процесс. Это определенно не было в диапазоне миллиампер.
нанофарад

2

Поскольку вы используете Arduino в качестве основы, решение легко .... используйте одноразовый процессор для программирования и отладки. Среда разработки Arduino прекрасно вписывается в Raspberry Pi, которую вы можете подключить к питанию из встроенной среды и общаться по беспроводной связи с оставшимися ноутбуками или, возможно, настольным компьютером.

Это не помешает вам жарить Raspberry Pi, но снизит стоимость сбоя схемы до 35 долларов.


2
Я думаю, что до тех пор, пока не будет установлена ​​основная причина взрыва портов ноутбука, любой совет будет преждевременным. Мы не знаем, насколько сумасшедшим может быть подключение стиральной машины, можно поменять местами черно-белые провода и ослабить заземление. Тогда это может пожарить что угодно, Пи или нет. Я надеюсь, что у ОП есть хорошее страхование жизни ...
Ale..chenski

Я не согласен ... любой совет, который делает окружающую среду менее подверженной риску, должен быть обязательно рассмотрен.
Джек Криси

2
Это действительно новая идея - по сути, аргумент состоит в том, что пи (больше похоже на карту $ 5 + $ 5 + Wi-Fi $ 5), вероятно, теперь дешевле, чем USB-изолятор. Однако ничего не говорится о возможных опасностях в создаваемой системе, которые могли бы сохраниться и после этапа проектирования.
Крис Страттон

1
@ChrisStratton Это просто об управлении рисками. В системе, где у вас могут быть катастрофические сбои в развитии, вы изолируете и оборудование, и человека от любого потенциального риска сбоев. Вы можете купить профессиональное оборудование или самостоятельно кататься ... Я просто предложил жизнеспособное рулонное собственное решение. Критика Али Чена является недействительной IMO, так как при множественных сбоях во время разработки первопричина может отличаться. Уже слишком поздно, как начался пожар.
Джек Криси

Я хочу сказать, что если в этом конкретном случае электропроводка не изолирована от нормы, никакое количество Pis перед ноутбуком не будет безопасным для портов и пользователей. Это все, что я имел в виду.
Ale..chenski

0

Хорошо, после множества разъяснений и различных представленных случаев, позвольте мне предложить решение проблемы, как защитить ноутбук от жарки в условиях полевого обслуживания:

  1. Всегда сначала подключайте тестовое / диагностическое оборудование к объекту обслуживания и включайте питание.

  2. Перед подключением оборудования к ноутбуку проверьте наличие подозрительных напряжений между экранами USB с помощью низкоомного (стандартного 10-20 кОм) цифрового мультиметра, между портом DUT и портом ноутбука, как в режиме постоянного, так и переменного тока.

  3. Если обнаружено значительное напряжение (5–10–50 В), используйте настоящий разделительный трансформатор на одном из концов.


0

Использование Pi / Beaglebone / Tinkerbox через WiFi будет дешевым и простым. ЧИП выглядит хорошо, см. Https://getchip.com/pages/chip . 5-9 $ за устройство. Вы можете убить 7 фишек по цене 1 пи3. Очевидно, что вам все еще нужно решить проблему, при которой киловольтные напряжения достигают портов USB, но по крайней мере ваша рабочая станция будет в безопасности. Не подключайте его к локальной сети через Ethernet.

Передача файлов - это просто вопрос использования ssh-доступа на основе ключей без пароля для scp-файлов на Pi / other и удаленной оболочки для загрузки. Для arduino есть пакет arduino-mk и аналогичные инструменты для PIC. Без сомнения, вы также можете просто сохранить свои файлы на экспортированном общем ресурсе SMB / CIFS и использовать удаленную оболочку для создания и загрузки их на свои доски.

Если убийственное напряжение произойдет снова, вы потеряете только 30-35 $.

Я до сих пор не выяснил, как этим напряжениям удается пройти через ваши микроконтроллеры и войти в порт USB. Это короткий? От куда это? Я уничтожил много клонов Arduino, и мне искренне любопытно.

Кроме того, порты USB, как правило, полифузионны от умеренного напряжения. На самом деле вам нужно подать отрицательное напряжение на вывод 5 В, чтобы отключить порт (или положительно на вывод GND), контроллер и, возможно, материнскую плату. Как ты справляешься с убийством двух ноутбуков? Может ли это быть магия переменного тока на работе?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.