Защита ноутбука от 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.