UART, или универсальный асинхронный приемник/передатчик, представляет собой универсальную последовательную шину данных, обычно используемую для асинхронной последовательной связи между микроконтроллерами и другими периферийными устройствами. UART — это часть компьютерного оборудования, передающая данные посредством последовательной связи. Он выполняет преобразование параллельно-последовательных данных на передающей стороне и преобразование последовательно-параллельных данных на принимающей стороне. Он универсален, поскольку такие параметры, как скорость передачи данных, скорость передачи данных и т. д., можно настроить. UART обычно используется в сочетании с другими интерфейсами связи (например, EIA RS-232).
Принцип работы UART заключается в передаче каждого символа отправляемых данных по одному биту за раз. Он реализует последовательную связь путем преобразования полученных параллельных данных в последовательные данные для передачи. Во время передачи данных UART использует две линии для полнодуплексной связи, а именно линию передачи (Tx) и линию приема (Rx). Тактовый сигнал для передачи данных предоставляется принимающим устройством, а передающему устройству не требуются никакие другие тактовые сигналы.
Буква «А» в UART означает асинхронный, т. е. нет тактового сигнала для синхронизации или проверки данных, отправленных от передатчика и полученных приемником (асинхронная последовательная связь). В этом отличие от синхронной последовательной связи, которая использует тактовый сигнал, общий для передатчика и приемника, для «синхронизации» данных между ними. В UART передатчик и приемник должны заранее согласовать параметры синхронизации. Кроме того, UART использует специальные биты в начале и конце каждого слова данных для синхронизации передатчика и приемника.
Конкретным физическим проявлением является независимая модульная микросхема или внутреннее периферийное устройство (периферия) в микропроцессоре. Обычно он работает в паре со стандартным чипом преобразования амплитуды сигнала со спецификацией RS-232C, аналогичным MAX232 компании Maxim, в качестве интерфейса для подключения внешних устройств. Продукт, который добавляет схему преобразования сигнала синхронной последовательности к UART, называется USART (универсальный синхронный асинхронный приемник-передатчик).
Как работает УАРТ?
При последовательной связи UART данные передаются асинхронно, т. е. между отправителем и получателем не используется тактовый или другой синхронизирующий сигнал. UART использует не тактовый сигнал, а некоторые специальные биты, называемые стартовыми и стоповыми битами.
Эти биты добавляются к началу и концу фактического пакета соответственно. Эти дополнительные биты позволяют принимающему UART идентифицировать фактические данные.
UART добавляет к данным стартовый бит, бит четности и стоповый бит, чтобы преобразовать их в пакет. Затем пакет преобразуется из параллельного в последовательный с помощью сдвигового регистра и передается побитно с вывода TX.
Принимающий UART получает эти последовательные данные на вывод RX и обнаруживает фактические данные, определяя стартовый и стоповый биты. Бит четности используется для проверки целостности данных.
После отделения из пакета стартовых битов, битов четности и стопа данные преобразуются в параллельные данные с помощью сдвигового регистра. Эти параллельные данные передаются контроллеру на принимающей стороне через шину данных.
принцип
Универсальный асинхронный приемник-передатчик (UART) отправляет байты данных в битовом порядке. UART на другом конце объединяет биты в байты. Каждый UART содержит сдвиговый регистр, который является основным методом преобразования между последовательной и параллельной формами. Последовательная связь по одному проводу или другой среде обходится дешевле, чем параллельная связь по нескольким проводам. UART обычно не генерируют и не принимают внешние сигналы напрямую, используемые между различными устройствами. Отдельное интерфейсное устройство используется для преобразования сигналов логического уровня UART в уровни внешних сигналов, которые могут быть стандартизованными уровнями напряжения, уровнями тока или другими сигналами.
UART обычно не генерируют и не принимают внешние сигналы напрямую от других устройств. Для преобразования логических уровней сигнала в UART используется отдельное интерфейсное устройство.
Возможны 3 способа связи:
Симплекс (только в одном направлении, принимающее устройство не может отправлять информацию обратно на отправляющее устройство)
Полный дуплекс (два устройства передают и принимают одновременно)
Полудуплекс (устройства по очереди отправляют и принимают)
получатель
Аппаратное обеспечение UART управляется внутренним тактовым сигналом. Этот тактовый сигнал кратен скорости передачи данных, обычно в 8 или 16 раз превышает скорость передачи данных. Приемник при каждом тактовом импульсе проверяет, является ли состояние принятого сигнала стартовым битом. Если низкий уровень стартового бита сохраняется более половины времени, необходимого для передачи одного бита, считается, что передача кадра данных началась; в противном случае это считается импульсом сбоя и игнорируется. По истечении следующего бита состояние линии считывается и передается в сдвиговый регистр. После того, как все биты данных, согласованные для представления символа (обычно от 5 до 8 бит), получены, принимающая система может использовать сдвиговый регистр. UART установит флаг, указывающий, что доступны новые данные, и сгенерирует прерывание процессора, запрашивающее хост-процессор для получения полученных данных.
Упрощенный UART начинает ресинхронизацию времени по заднему фронту стартового бита, а затем производит выборку в центральный момент каждого бита данных.
Одной из стандартных функций UART является сохранение последнего полученного символа в буфере при получении следующего символа. Эта «двойная буферизация» позволяет принимающему компьютеру использовать период передачи одного символа для получения предыдущего символа в буфере. Многие UART имеют буферы FIFO большего размера, что позволяет хосту обрабатывать несколько символов одновременно. Это особенно полезно для последовательной связи с высокой скоростью передачи данных и ограниченной частотой прерываний процессора (обычно интервалы прерываний превышают 1 миллисекунду).
Передатчик
UART помещает символ в сдвиговый регистр и начинает генерировать кадр данных. Для полнодуплексной связи для передачи и приема используются разные сдвиговые регистры. Использование большего FIFO позволяет хост-процессору или DMA (прямой доступ к памяти) размещать несколько байтов, а затем UART самостоятельно завершает передачу. UART использует бит флага для обозначения занятости.
В UART передатчик и приемник должны заранее согласовать параметры синхронизации. Кроме того, UART использует специальные биты в начале и конце каждого слова данных для синхронизации передатчика и приемника.
При последовательной связи на основе UART передатчик и приемник взаимодействуют следующим образом. UART на передающем устройстве Передающий UART получает параллельные данные от ЦП (микропроцессора или микроконтроллера) и преобразует их в последовательные данные.
Эти последовательные данные передаются в UART на принимающем устройстве, принимающем UART. После получения последовательных данных принимающий UART преобразует их обратно в параллельные данные и передает их в ЦП. Поскольку UART включает преобразование данных из параллельного в последовательное и последовательное в параллельное, сдвиговые регистры являются важной частью аппаратного обеспечения UART (в частности, два сдвиговых регистра: сдвиговый регистр передатчика и сдвиговый регистр приемника).
Правила UART
Как упоминалось ранее, в UART нет тактового сигнала, и передатчик и приемник должны согласовать определенные правила последовательной связи, чтобы обеспечить безошибочную передачу данных. Правила включают в себя:
Биты синхронизации (стартовый бит и стоповый бит)
бит четности
Сумма битов данных
скорость передачи данных
Мы рассмотрели биты синхронизации, биты четности и биты данных. Еще одним важным параметром является скорость передачи данных.
Скорость передачи данных: Скорость передачи данных используется для обозначения скорости передачи данных. Передающий и принимающий UART должны согласовать скорость передачи данных для успешной передачи данных.
Скорость передачи данных измеряется в битах в секунду. Некоторые стандартные скорости передачи данных составляют 4800 бит/с, 9600 бит/с, 19200 бит/с, 115200 бит/с и т. д. Скорость передачи данных 9600 бит/с является наиболее часто используемой.
Давайте посмотрим на пример кадра данных, в котором необходимо передать два блока данных, а именно 00101101 и 11010011. Формат кадра — 9600 8N1, что составляет 9600 бит/с, с 8 битами данных, без контроля четности и 1 стоповым битом. В этом примере мы не используем биты четности.
Для более подробной информации о продукции и информации посетите наш официальный сайт:
https://www.ru-ebyte.com
Ebyte — национальное высокотехнологичное предприятие, специализирующееся на исследованиях и разработках беспроводных модулей и промышленных IoT-терминалов.