UART (Universal Asynchronous Receiver/Transmitter) — это универсальный асинхронный приемопередатчик, который является частью микроконтроллеров и других устройств связи данных. Он обеспечивает передачу данных между двумя устройствами в виде последовательных битов без использования внешнего тактового сигнала.
UART является одним из наиболее распространенных методов связи, используемых во встраиваемых системах и компьютерной периферии. Он позволяет передавать данные в двух направлениях — от передатчика к приемнику (трансляция) или от приемника к передатчику (инверсия) — с помощью двух проводов: линии передачи данных (TX) и линии приема данных (RX).
UART выполняет следующие функции:
- Преобразование параллельных данных в последовательные для передачи по серийному интерфейсу.
- Преобразование последовательных данных, полученных от приемника, в параллельный формат для дешифровки и использования.
- Определение скорости передачи данных, известной как битовая скорость (baud rate).
- Контроль ошибок, таких как контроль четности (parity), контроль бита остановки (stop bit) и контроль потока данных (flow control), в зависимости от установленных параметров.
UART может использоваться для связи между микроконтроллерами, персональными компьютерами и другими устройствами в различных приложениях, включая передачу данных через последовательные порты, обмен данными между сенсорами и контроллерами, а также программирование и отладку встраиваемых систем.
Вы должны управлять передачей данных и правильными протоколами данных в своем коде или платформе, чтобы гарантировать правильный обмен информацией.
Как это работает?
Он может работать между устройствами 3 способами:
- Симплекс = передача данных в одном направлении
- Полудуплекс = передача данных в любом направлении, но не одновременно
- Полный дуплекс = передача данных в обоих направлениях одновременно
После подключения данные переходят от TX передающего UART к RX принимающему UART. Поскольку UART является асинхронным последовательным протоколом передачи, он не имеет функции clock (часы). Передача UART превращает параллельные данные из главного устройства (например, центрального процессора) в последовательную форму и передает их последовательно в приемный UART. Затем он преобразует последовательные данные в параллельные данные для принимающего устройства. Поскольку UART не имеет часов, UART добавляет исходные и стоповые биты, которые передаются для представления начала и конца сообщения. Это помогает принимающему UART знать, когда начинать и останавливать чтение битов. Когда принимающий UART обнаруживает исходный бит, он считывает биты с определенной скоростью передачи данных. Скорость передачи данных UART называется BAUD Rate и установлена на 115 200 по умолчанию (скорость BAUD базируется на скорости передачи символов, но сходна с битовой скоростью). Оба UART должны работать примерно с одинаковой скоростью передачи данных. Если разница в скорости передачи данных превышает 10%, хронометраж битов может быть выключен, и данные станут непригодными для использования, поэтому пользователь должен убедиться, что UART сконфигурирован на передачу и получение из одного пакета данных.
Что такое SPI (Serial Peripheral Interface)?