UART - универсальный асинхронный приемник-передатчик

UART - это полнодуплексный последовательный интерфейс. Он позволяет двум устройствам обмениваться данными всего по трем проводам и поддерживает переменную скорость.
Характеристики UART
Как следует из названия, UART - это асинхронный интерфейс. В отличие от SPI или I2C, здесь нет необходимости в выделенном тактовом генераторе. Два устройства просто должны использовать одну и ту же скорость передачи данных. Скорость передачи данных является переменной и диктует, сколько бит шина может передавать каждую секунду (бит/с).

Формат данных также настраивается. Следовательно, еще одним способом измерения скорости передачи данных является скорость передачи (бод/с), где один бод - это один символ или знак. Так, если один бод состоит из 8 бит, то скорость передачи 115200 бит/с равна 14400 бод/с.
UART использует два провода для передачи данных, поэтому в большинстве случаев связь является полнодуплексной (в обоих направлениях одновременно). Кроме того, оба устройства UART нуждаются в проводе для совместного использования опорного напряжения GROUND. В сумме это означает, что вам нужно всего три провода.
Проводка
Для обмена данными устройству UART требуется три вывода. RX для чтения, TX для передачи и GND для подключения к сети GROUND.

Подключите контакты RX обоих устройств к контактам TX другого устройства. Подключите оба штыря GND и закончите настройку оборудования.
Теоретически вы даже можете подключить контакты RX нескольких устройств к контакту TX одного устройства. Таким образом, если вы знаете, что делаете, вы можете позволить одному устройству передавать данные нескольким устройствам. Но RX любого устройства может быть одновременно подключен только к одному контакту TX.
Связь по UART
Необходимо установить одинаковый бодрейт для обоих устройств. Если она отличается более чем на 3%, данные будут повреждены. Обычные скорости передачи данных - 4800, 9600, 19200, 115200 и другие. Кроме того, оба устройства должны быть согласны с одинаковым форматом данных и битом четности. Бит четности - это средство проверки передаваемых данных на наличие ошибок.

Всякий раз, когда устройство хочет передать данные, оно начинает с отправки стартового бита.
В состоянии покоя провод данных имеет высокий уровень, поэтому передатчик переводит его в низкий уровень на один тактовый цикл. Затем он переводит провод в НИЗКОЕ состояние для 0 и ВЫСОКОЕ для 1 в точной частоте скорости передачи данных. После каждого кадра данных он посылает бит четности, если требуется проверка ошибок. Затем он устанавливает высокий уровень провода, чтобы подать сигнал стоп-бита.
Преимущества, недостатки и применение
Преимущества
Наиболее ярким преимуществом является простота UART. Как программное, так и аппаратное обеспечение чрезвычайно легко настраивается. Переменная скорость означает, что вы можете поддерживать очень низкое энергопотребление. И, конечно, интерфейс позволяет осуществлять полнодуплексную связь.
Кроме того, данные могут передаваться на большие расстояния - до 1000 метров.

Недостатки
Интерфейс в основном ограничен двумя устройствами. Также нет тактового генератора для управления и изменения скорости передачи данных во время передачи. В большинстве случаев он медленнее, чем, например, SPI или I2C.

Приложения UART
UART способен пересылать небольшие объемы данных. Он используется во многих GPS-приемниках, модулях Bluetooth, системах беспроводной связи. или RFID-приложений.
Вы также можете использовать интерфейс для подключения Raspberry Pi к Raspberry Pi Pico, как мы показываем в этом видео.
Он также хорошо работает в приложениях с большой дальностью действия, где SPI и I2C не подходят.
[...] UART - универсальный асинхронный приемник-передатчик [...]
[...] UART - универсальный асинхронный приемник-передатчик [...]