Перейти к основному содержимому

USB-TTL

Робот подключён к компьютеру через USB-TTL преобразователь

USB-TTL преобразователь нужен, когда компьютер должен обмениваться байтами с микроконтроллером через последовательный порт. Со стороны компьютера это USB-устройство и виртуальный COM-порт, а со стороны платы — сигналы UART логического уровня: TX, RX, GND и иногда DTR, RTS, CTS.

Коротко

USB-TTL адаптер не «делает USB из UART одним проводом». Он переводит USB компьютера в UART логического уровня и обратно. Перед подключением проверяют напряжение логики, перекрёст TX/RX, общий GND, скорость обмена и назначение служебных линий.

Зачем это нужно

Через USB-TTL удобно прошивать Arduino Pro Mini, читать отладочные сообщения, отправлять команды на самодельную плату или проверять Bluetooth/Wi-Fi модуль до установки в робота. На столе это часто самый быстрый способ понять, что устройство вообще отвечает.

Если соединить два TX друг с другом, забыть общий GND или выбрать 5 В для платы с логикой 3,3 В, обмен не заработает или повредит входы. Поэтому USB-TTL — маленькая плата, но важная часть стенда.

Примеры устройств

Примеры USB-TTL преобразователей

УстройствоМикросхемаТипичные линииНа что обратить внимание
CP2102-модульSilicon Labs CP2102TX, RX, GND, 3V3, 5V, DTRудобен для Arduino Pro Mini и консоли
CH340G-адаптерWCH CH340GTX, RX, GND, питаниечасто стоит на недорогих Arduino-клонах
FT232RL-модульFTDI FT232RLTX, RX, DTR, RTS, CTSполезны служебные линии и драйверы FTDI
PL2303HX-адаптерProlific PL2303HXTXD, RXD, GND, VCCчасто используют как сервисную консоль

Главный вопрос: какой уровень логики нужен вашей плате — 5 В или 3,3 В? Название «USB-TTL» не гарантирует безопасное напряжение для всех микроконтроллеров.

Главная идея

Компьютер не подключается к UART напрямую. Между ними стоит мост:

компьютер USB -> USB-TTL преобразователь -> UART микроконтроллера

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

USB-TTL мост между компьютером и микроконтроллером

Как подключать

Контакт адаптераКуда подключатьПочему
TXD или TXOк RX микроконтроллерапередатчик одного устройства идёт на приёмник другого
RXD или RXIк TX микроконтроллераобратное направление данных
GNDк GND платынужна общая точка отсчёта напряжения
VCC / 5V / 3V3только если адаптер должен питать платунельзя подавать неподходящее напряжение
DTRк RESET через конденсатор, если схема это поддерживаетавтоматическая загрузка скетча

Скорость и формат должны совпадать с программой: например, 9600 8N1 означает 9600 бод, 8 бит данных, без чётности, 1 стоповый бит.

Такой мост уже есть во многих Arduino

На Arduino Uno обведён встроенный USB-Serial мост

Когда Arduino Uno подключается к компьютеру обычным USB-кабелем, внутри платы уже работает USB-Serial мост. В оригинальной Arduino Uno Rev3 эту роль выполняет отдельная микросхема ATmega16U2 около USB-разъёма. На многих клонах похожую задачу выполняет CH340G или FT232RL.

Поэтому в Arduino IDE появляется порт COM..., /dev/ttyACM... или /dev/cu.usbmodem...: это не «чистый UART в USB-разъёме», а результат работы встроенного преобразователя или нативного USB-контроллера платы.

Частые ошибки

ОшибкаЧто происходит
TX подключён к TXоба устройства пытаются передавать в одну сторону
нет общего GNDуровни для приёмника становятся неопределёнными
неверная логика 5 В / 3,3 Ввход может быть повреждён
заняты пины 0/1 Arduino Unoзагрузчик и Serial Monitor конфликтуют с внешним модулем
выбран не тот порт в IDEскетч грузится не туда или терминал молчит
питание взято с адаптера без расчёта токаплата перезагружается при нагрузке

Что запомнить про USB-TTL

  • USB-TTL — это мост между USB компьютера и UART логического уровня.
  • TX соединяют с противоположным RX, а GND соединяют обязательно.
  • Логическое напряжение проверяют до подключения.
  • Встроенный USB-Serial мост уже есть во многих Arduino-платах.
  • USB-TTL удобен для прошивки, отладки и проверки модулей связи.

Практика

  1. Найдите на своём USB-TTL адаптере подписи TX, RX, GND, 3V3, 5V, DTR.
  2. Нарисуйте соединение адаптера с Arduino Pro Mini или другой платой.
  3. Проверьте, как меняется список портов компьютера при подключении адаптера.

Проверьте себя

  1. Почему TX адаптера подключают к RX микроконтроллера?
  2. Чем USB отличается от UART в этой цепочке?
  3. Почему опасно выбирать 5 В для 3,3-вольтовой платы?
  4. Зачем у адаптера может быть линия DTR?
Ориентиры для самопроверки

Сначала ответьте без подсказки. Ответ можно считать полным, если вы:

  • формулируете основную мысль своими словами;
  • называете важные условия, ограничения или меры безопасности;
  • для схемы, кода или расчёта показываете ход решения и ожидаемый результат.

Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.

Словарь статьи

  • USB-TTL преобразователь — мост между USB и UART логического уровня.
  • UART — асинхронный последовательный интерфейс с линиями передачи и приёма.
  • TTL-уровень — логический уровень микросхемы, обычно 3,3 В или 5 В.
  • Виртуальный COM-порт — программный последовательный порт, созданный USB-драйвером.
  • DTR — служебная линия, которую часто используют для автосброса перед прошивкой.

Связанные темы

  • Bluetooth — HC-06 использует UART со стороны Arduino.
  • Wi-Fi — ESP-01 можно подключать к Arduino через UART.
  • Выбор способа связи — когда достаточно сервисного кабеля, а когда нужен радиоканал.

Источники