RXD и TXD — это обозначения линий последовательного асинхронного интерфейса (чаще всего UART), используемого для обмена данными между двумя устройствами на близком расстоянии (до нескольких метров). Вот ключевые моменты:
1. Что это такое?
-
TXD (Transmit Data) — выход передатчика. Устройство отправляет данные через эту линию.
-
RXD (Receive Data) — вход приемника. Устройство принимает данные через эту линию.
-
Общая земля (GND) — обязательный третий провод для согласования уровней напряжения.
2. Как устройства должны сопрягаться?
Главное правило: TXD одного устройства соединяется с RXD другого, и наоборот.
Это называется перекрестное соединение (crossover).
Схема подключения:
[Устройство A] [Устройство B] TXD ---------------> RXD RXD <--------------- TXD GND ---------------- GND
Примеры:
-
Микроконтроллер (Arduino) ↔ Датчик (GPS-модуль):
-
TXD (Arduino) → RXD (GPS)
-
RXD (Arduino) ← TXD (GPS)
-
GND (Arduino) ↔ GND (GPS)
-
-
ПК ↔ Микроконтроллер через USB-UART адаптер:
-
TXD (адаптер) → RXD (МК)
-
RXD (адаптер) ← TXD (МК)
-
GND (адаптер) ↔ GND (МК)
-
3. Критические требования для корректной работы:
-
Совпадение уровней напряжения (например, оба 3.3В или оба 5В).
Если уровни разные — используйте преобразователь (например, логический уровнемер). -
Одинаковые настройки UART:
-
Скорость (бодрейт): 9600, 115200 и т.д. должны совпадать.
-
Биты данных (обычно 8).
-
Стоп-биты (обычно 1).
-
Четность (обычно none).
-
-
Общая земля (GND) — обязательна для корректного распознавания сигналов.
4. Частые ошибки:
-
Прямое соединение TXD-TXD и RXD-RXD → устройства не "услышат" друг друга.
-
Отсутствие GND → данные могут искажаться из-за разности потенциалов.
-
Несовпадение скорости/формата данных → на приемной стороне будет "мусор".
-
Использование без преобразователя для RS-232 (COM-порт) → UART (3.3В/5В) несовместим с RS-232 (±12В). Нужен конвертер (например, MAX3232).
5. Где применяется?
-
Микроконтроллеры (Arduino, STM32, ESP32).
-
Датчики (GPS, RFID, термометры).
-
Модули связи (Bluetooth, Wi-Fi, например HC-05).
-
Отладочная консоль (UART-to-USB для вывода логов).
Итог:
-
Соединяйте перекрестно: TXD → RXD, RXD → TXD, GND → GND.
-
Убедитесь в совпадении: уровней напряжения (3.3В/5В), скорости, формата данных.
-
Всегда подключайте GND!
Если работаете с ПК — используйте USB-UART конвертер (например, CH340, CP2102). Для проверки связи подойдут терминальные программы: Arduino IDE Serial Monitor, Putty, CoolTerm.