Гальваническая изоляция USB 2.0 High Speed

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Эта статья - новый способ "разогнать" изолированный USB-порт. Здесь приведен частный пример, а так же немного дополнительной информации про скорость USB.
Если сильно постараться, то можно ужать данную статью до мема.

Рис.1 Краткое содержание статьи
Рис.1 Краткое содержание статьи

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

Практическая часть

В 2009м году миру явили ADuM4160 - USB-изолятор. Казалось бы, чего еще желать, однако, из трёх возможных скоростей USB 2.0 (1500 Кбит/c, 12 Мбит/с, 480 Мбит/с) микросхема поддерживает только две самые медленные. Обычно этого вполне достаточно, чтобы реализовывать HID-устройства, виртуальные COM-порты. Это перекрывает практически все потребности при работе с микроконтроллерами, но сегодня мы преодолеем это ограничение. Недавно (в ноябре 2021!), Texas Instruments выпустили партию инженерных образцов микросхемы ISOUSB211.

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

Рис. 2 Печатная плата после монтажа компонентов. 
Динозавры передают пакеты через гальванический барьер
Рис. 2 Печатная плата после монтажа компонентов. Динозавры передают пакеты через гальванический барьер

В качестве первого теста я скопировал туда-обратно файлы на флешку, получив ~23 МБайт/с (184 МБит/с) для чтения и ~10 МБайт/с (80 МБит/с) для записи (см. Рис. 3)

Рис. 3 Скорость чтения и скорость записи (SanDisk Cruzer Blade USB Device)
Рис. 3 Скорость чтения и скорость записи (SanDisk Cruzer Blade USB Device)

Я результатом доволен скорость High Speed взята! Ура! Спасибо за внимание! Фото поделки в сборе на рисунке 4.

Рис. 4 Вид готового устройства
Рис. 4 Вид готового устройства

Факультативная теоретическая часть

Тэкс, почему-то некоторые не расходятся... Дайте угадаю, у вас в голове сейчас что-то такое: "Так, @coolebyak, ты говорил про USB 2.0 High Speed, у которого 480 Мбит/с или 60 МБайт/c. А результаты-то у тебя на скриншотах меньше! Обман!"
Я рад, что вы остались, потому что это действительно может сбить с толку. Лаконичный ответ на этот вопрос лежит в сети уже с 2011-го. По сути, я сейчас повторю, что ответили вот в этом посте, но только переводя с английского.

USB 2.0 использует фреймы в 1 мс, а в режиме High Speed (480 Мбит/с) они делятся на 8 микрофреймов. Максимальный размер пакетов, используемых запоминающими устройствами USB, составляет 512 Байт. Согласно этому очень информативному документу теоретический максимум составляет 13 пакетов на микрофрейм. Итак, теоретическая максимальная скорость USB-накопителя 2 составляет:

1000 * 8 * 512 * 13 = 53248000 ~ = 53 МБайт/с

Рис. 5 Таблица теоретических пределов скорости передачи
Рис. 5 Таблица теоретических пределов скорости передачи
Рис. 6 USB-фрейм для массовой передачи данных
Рис. 6 USB-фрейм для массовой передачи данных

На практике слабым местом, как правило, является сама флешка. В качестве примера приводят временную диаграмму записи в NAND Flash (Рис. 7). Время для каждого передаваемого пакета можно разбить на три участка: 1) время для выполнения USB-передачи, 2) первичные временные затраты операционной системы (или встроенного ПО) и 3) время программирования NAND Flash.

Рис. 7 Пример узкого места для скорости передачи данных по USB
Рис. 7 Пример узкого места для скорости передачи данных по USB

Получается, для моей видавшей виды флешки результаты вполне достойные. Главное, что они выше 1.5 МБайт/с.

Результаты и выводы

Испытание высоким напряжением еще предстоит, пока что могу сказать лишь, что электрический разряд от шерстяного свитера микросхема выдерживает. Прототип изолятора получен и успешно испытан на флешках, камерах, внешних аудиокартах. Что очень меня радует, чем делюсь и хвастаюсь здесь. Надеюсь, Texas Instruments наладят производство и в скором времени эти микросхемы снова появятся в продаже и будут дешевле ~13$. Надеюсь, было полезно. Теперь точно Спасибо за внимание!


P.S.

Пример, как задачу изолирования USB 2.0 High Speed решить супер дорого. 2*ULPI, 2*ПЛИС, быстродействующие оптопары и не забывайте - кто-то это программировал.

P.P.S.

Прикладываю схему. На ней отсутствует разработанный мною изолированный DC-DC, т.к. я его ещё не тестировал.

Схема принципиальная
Схема принципиальная
Источник: https://habr.com/ru/post/598155/


Интересные статьи

Интересные статьи

Эта статья является переводом материала «Domain model isolation».Термин «изоляция модели предметной области» уже давно используется, но его значение может быть не таким очевидным, как многие думают. В...
Привет читателям Хабра! Меня зовут Сергей Кузнецов, я руковожу отделом frontend-разработки в компании AGIMA. Сегодня мне бы хотелось поговорить про оптимизацию сайта...
7-8 ноября на территории Школы управления СКОЛКОВО состоялась крупнейшая профессиональная конференция для разработчиков высоконагруженных систем — HighLoad++. В этом году она прошла в счастливый ...
Если вы последние лет десять следите за обновлениями «коробочной версии» Битрикса (не 24), то давно уже заметили, что обновляется только модуль магазина и его окружение. Все остальные модули как ...
В Linux есть большое количество инструментов для отладки ядра и приложений. Большинство из них негативно сказываются на производительности приложений и не могут быть использованы в продакшене...