AFON // радиотехник affonya@mail.ru
← Радиотехника

Интерфейс USB

Универсальная скоростная шина: версии и скорости, дифференциальная пара данных, топология хост-устройство, дескрипторы и классы, и простейший путь МК в USB через мост USB-UART.

Что такое USB

USB (Universal Serial Bus) — универсальная последовательная шина, ставшая стандартом подключения периферии к компьютеру: от флешек и мышей до модулей связи и измерительных приборов. USB сложнее UART или SPI, но даёт «горячее» подключение, питание устройств и высокую скорость. Подробное описание — на странице USB.

Версии и скорости

ВерсияСкорость
USB 1.1 Low/Full Speed1,5 / 12 Мбит/с
USB 2.0 High Speed480 Мбит/с
USB 3.x SuperSpeed5…20 Гбит/с

Физика и логика

Данные передаются дифференциальной парой (D+/D−), что обеспечивает помехоустойчивость; ещё две линии — питание +5 В и земля (в USB 3.x добавлены скоростные пары). Топология — «звезда» с хостом во главе: хост (ПК) управляет обменом, устройства отвечают. При подключении хост опрашивает устройство и читает его дескрипторы — описание, кто это и как с ним работать.

Классы устройств

Стандартные классы позволяют работать без своих драйверов: HID (мыши, клавиатуры), CDC (виртуальный COM-порт — популярен у МК), Mass Storage (накопители), Audio, Video. Микроконтроллеры с USB (или мосты USB-UART) чаще всего используют класс CDC, чтобы «прикинуться» последовательным портом для ПК.

Частые вопросы

Почему USB сложнее UART?

USB — это целый стек: дифференциальная сигнализация, дескрипторы, перечисление устройств, классы, пакетный протокол. Зато он даёт скорость, питание, «горячее» подключение и работу без ручной настройки скорости, как в UART.

Как проще всего подключить МК к USB?

Через мост USB-UART (CP2102, CH340, FT232): МК работает по обычному UART, а мост превращает его в USB-устройство класса CDC. Либо взять МК со встроенным USB и реализовать класс CDC.

Итоги

USB — универсальная скоростная шина с хостом во главе, дифференциальной парой данных, питанием и системой классов, позволяющей работать без своих драйверов. Для МК простейший путь в USB — мост USB-UART или встроенный USB с классом CDC (виртуальный COM-порт).

Смотрите также: USB (подробно) · UART · Ethernet для МК · Распиновки.