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

UART и RS-232

Асинхронная последовательная передача: строение кадра, скорость в бодах, логические и RS-232 уровни и их согласование — простейший интерфейс связи МК с ПК и модулями.

Что такое UART и RS-232

UART (универсальный асинхронный приёмопередатчик) — узел, передающий данные последовательно, бит за битом, без отдельной линии тактирования. RS-232 — электрический стандарт (уровни напряжения, разъём), по которому UART подключают к ПК через COM-порт. Это старейший и простейший последовательный интерфейс, до сих пор массовый в связи МК с ПК, модулями и датчиками. Подробное описание COM-порта и распайки — на странице COM порт (RS-232).

Асинхронная передача

«Асинхронно» значит без общего такта: приёмник сам синхронизируется по стартовому биту, зная заранее скорость. Данные идут кадрами:

[старт] [D0 D1 … D7] [четность?] [стоп]

старт — 1 бит (лог. 0), запускает приём
данные — 5…9 бит (обычно 8)
контроль чётности — опционально
стоп — 1 или 2 бита (лог. 1)

Обе стороны должны быть настроены на одну скорость (бод) и формат кадра, иначе связь рассыплется. Расчёт делителя и ошибки скорости под кварц — в калькуляторе UART.

Уровни: логика МК и RS-232

UART микроконтроллера работает логическими уровнями (0/3,3/5 В), а RS-232 использует двуполярные ±(3…15) В с инверсией. Поэтому для связи с настоящим COM-портом нужен преобразователь уровней (например, MAX232). Для связи с ПК по USB применяют мост USB-UART (CP2102, CH340, FT232).

Скорость и надёжность

Типовые скорости — 9600, 115200 бод и выше. Чем длиннее линия и выше скорость, тем важнее согласование и помехозащищённость; для больших расстояний вместо RS-232 переходят на дифференциальный RS-485.

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

Чем UART отличается от RS-232?

UART — это цифровой узел (логика формирования/приёма кадра), а RS-232 — электрический стандарт уровней и разъёма. UART МК подключают к RS-232 через преобразователь уровней; сам протокол кадра один и тот же.

Почему приходят «кракозябры»?

Чаще всего не совпадает скорость (бод) или формат кадра (число бит, чётность, стоп-биты), либо неверная частота кварца/F_CPU. Проверьте настройки обеих сторон и точность тактирования.

Итоги

UART передаёт данные асинхронно кадрами со стартовым и стоповым битами; RS-232 задаёт для этого электрические уровни и разъём. Ключ к связи — одинаковые скорость и формат кадра на обеих сторонах и правильное согласование уровней. Для дальних линий выбирают дифференциальный RS-485.

Смотрите также: COM порт · SPI · RS-485 · Калькулятор UART.