Перейти к содержанию

Мост USB–UART

У Arduino Nano, плат ESP32 и переходников «USB–TTL» между разъёмом USB и выводами RX и TX стоит одна и та же по смыслу микросхема — мост USB–UART. Она берёт на себя весь протокол USB, а микроконтроллеру остаётся обычный последовательный порт.

Обновлено Редакция GAW

Мост USB–UART (USB to UART bridge) — микросхема, которая с одной стороны работает устройством USB, а с другой выдаёт обычный последовательный порт UART на логических уровнях. Компьютер видит её как виртуальный COM-порт, и любая программа терминала работает с ней так же, как с аппаратным портом. По даташиту FTDI весь протокол USB обрабатывается внутри моста, и программировать USB не нужно.

Что внутри

  • контроллер USB Full Speed с дескрипторами — у FT232R они во встроенной EEPROM на 1024 бита;
  • буферы приёма и передачи — у FT232R 128 и 256 байт;
  • генератор такта — у CP2102, FT232R и CH340C/N/K/E/X/B встроенный, кварц не нужен;
  • UART с модемными линиями: у CH340 — RTS, DTR, DCD, RI, DSR, CTS.

Три распространённых моста по даташитам

FT232RCH340CP2102
Скорость300 бод – 3 Мбод50 бит/с – 2 Мбит/с300 – 921 600 бит/с
Кварцне нуженне нужен у C, N, K, E, X, Bне нужен
Уровни UART1,8–5 В5 или 3,3 В по питанию—
ДрайверVCP и D2XXVCP, совместим с CH341VCP и USBXpress

DTR, RTS и автосброс

Модемные линии моста программа может переключать сама. На платах Arduino и ESP32 через них сбрасывают микроконтроллер и входят в загрузчик — это автосброс через DTR и RTS. Поэтому переходник без выведенного DTR прошивает Arduino Pro Mini только с ручным нажатием кнопки сброса.

Скорость UART выбирают такой, чтобы её поддерживали и мост, и микроконтроллер, — проверить делитель и ошибку можно в калькуляторе скорости UART. Какие мосты стоят на Arduino Uno, Nano и Pro Mini — в сравнении плат.

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

Зачем мост USB–UART, если у микроконтроллера есть UART?

Компьютеры давно не имеют последовательного порта, а UART микроконтроллера не умеет USB. Мост работает устройством USB и показывает системе виртуальный COM-порт, а с другой стороны выдаёт обычные линии TX и RX на логических уровнях. По FTDI весь протокол USB обрабатывается внутри микросхемы — программировать USB не нужно.

Чем отличаются CH340, CP2102 и FT232R?

Набором возможностей и драйверами. По даташитам: FT232R — до 3 Мбод, встроенная EEPROM и уровни логики 1,8–5 В; CH340 — до 2 Мбит/с, модемные линии RTS, DTR, DCD, RI, DSR, CTS, у исполнений C, N, K, E, X и B кварц не нужен; CP2102 — до 921 600 бит/с по таблице характеристик, тоже без кварца. Все три — USB Full Speed и виртуальный COM-порт.

Зачем мосту выводы DTR и RTS?

Это модемные линии последовательного порта, которыми программа на компьютере может управлять. На платах Arduino и ESP32 через них сбрасывают микроконтроллер и переводят его в загрузчик перед прошивкой — схема автосброса. Если на дешёвом переходнике DTR не выведен, сброс перед загрузкой придётся делать кнопкой.

Источники

  1. FTDI. FT232R USB UART IC Datasheet, Version 2.10 (Document No. FT_000053) — FT232R — однокристальный интерфейс USB — асинхронный последовательный порт; весь протокол USB обрабатывается внутри, программировать USB не нужно; встроенная EEPROM 1024 бит для дескрипторов и настройки CBUS; встроенные резисторы терминации USB; встроенный генератор, внешний кварц не нужен; скорость от 300 бод до 3 Мбод на уровнях TTL; буфер приёма 128 байт, передачи 256 байт; драйверы VCP и D2XX; 7 или 8 бит данных, 1 или 2 стоп-бита, чётность; встроенный преобразователь уровней UART и CBUS для логики от 1,8 до 5 В; USB 2.0 Full Speed; питание от 3,3 В (с внешним генератором) до 5,25 В
  2. WCH. CH340 Datasheet, Version 3C — разд. 1–2: CH340 — микросхема-адаптер шины USB, реализует последовательный порт; Full Speed USB, совместимость с USB 2.0; эмуляция стандартного последовательного порта, программы Windows работают без изменений; аппаратный полнодуплексный порт со скоростью 50 бит/с – 2 Мбит/с; модемные сигналы RTS, DTR, DCD, RI, DSR, CTS; RS-232, RS-485, RS-422 через преобразователи уровней; питание 5 и 3,3 В; CH340C/N/K/E/X/B со встроенным тактом, без кварца; совместим с драйвером VCP CH341
  3. Silicon Labs. CP2102/9 Single-Chip USB-to-UART Bridge, Rev. 1.8 (1/17) — встроенный генератор, внешний кварц не нужен; на первой странице скорость 300 бит/с – 1 Мбит/с, но в табл. 4 максимум — 921 600 бит/с, а в табл. 12 список стандартных скоростей заканчивается на 921 600 (921 600 — только для 7 или 8 бит данных); бесплатные драйверы виртуального COM-порта (VCP) и прямой доступ USBXpress

Нашли ошибку?