Чем отличается uart от usart

от admin

USART и UART: в чем различие

Поправлял ли вас когда-нибудь коллега, говоря, что это не UART, а USART? Иногда взаимозаменяемость этих терминов может быть вполне допустимой, но во многих случаях будет ошибкой. Давайте же рассмотрим внимательнее, что представляют собой USART и UART, и в чем их основные различия.

Большинство разработчиков встраиваемых систем знают, что такое UART: Universal Asynchronous Receiver/Transmitter (универсальный асинхронный приемник/передатчик). Это периферийное устройство микроконтроллера, преобразующее входящие и исходящие байты в последовательный поток данных. Стартовый бит инициирует начало передачи потока битов, а стоповый бит (или два) завершает слово данных. Кроме того, для выявления ошибок при передаче данных UART может вставлять в поток контрольный бит. На Рисунке 1 показан стандартный пример того, что ожидают увидеть инженеры при передаче данных через UART.

USART – Universal Synchronous/Asynchronous Receiver/Transmitter (универсальный синхронный /асинхронный приемник/передатчик) – ‘это периферийное устройство микроконтроллера, преобразующее входящие и исходящие байты в последовательный поток данных. Хм. Определение USART ничем не отличается от UART, за исключением одного добавленного слова «синхронный». Но должны же быть какие-то более значимые различия? Иначе USART был бы известен просто как UART.

Да, различия есть, причем весьма существенные. Первое отличие USART от UART определяется тем, каким образом могут синхронизироваться последовательные данные. Сигналы тактирования UART генерируются внутри микроконтроллера и синхронизируются с потоком данных по переходу стартового бита. Каких-либо входящих синхросигналов, связанных с данными, здесь нет, поэтому для правильной обработки принимаемых данных приемник должен заранее знать, какой будет скорость передачи.

Напротив, USART может быть настроен для работы в синхронном режиме. В этом режиме отправляющая данные периферия генерирует сигнал синхронизации, который периферией приемной стороны может быть извлечен из потока данных без априорной информации о скорости передачи. Возможен и другой вариант, когда для сигнала синхронизации выделяется отдельная линия. Использование внешнего сигнала синхронизации позволяет USART работать на скоростях до 4 Мбит/с – недостижимых для стандартных UART.

Другое важное отличие USART от UART заключается в количестве поддерживаемых периферийных протоколов. UART прост, и может предложить лишь небольшие вариации базового формата – количество стоповых бит и способ контроля ошибок (по четности или нечетности). USART намного сложнее и способен формировать потоки данных, совместимые со многими стандартными протоколами; IrDA, LIN, Smart Card, Driver Enable для RS-485 и Modbus – лишь несколько из них. При этом USART может, как и UART, работать в асинхронном режиме, что позволяет ему генерировать точно такие же типы последовательных данных, какие показаны на Рисунке 1.

Рисунок 1. Поток последовательных данных UART.

Периферийные устройства USART и UART имеют определенно различные возможности и могут быть полезны в различных ситуациях, поэтому в стандартном микроконтроллере разработчик может обнаружить оба интерфейса. К примеру, возьмем микроконтроллеры семейства STM32, основной областью применения которых являются микромощные приложения. Среди периферийных устройств на кристаллах этих приборов есть как USART, так и UART. USART предназначен для выполнения «тяжелой работы» по последовательному обмену в периоды «большого» расхода энергии. Когда же микроконтроллер находится в спящем режиме или в режиме с пониженным потреблением, используется UART, способный выполнять низкоскоростной обмен, не выходя за рамки допустимого лимита энергии.

Так можно ли говорить, что USART и UART – это одно и тоже? Технически правильный ответ – «нет». USART, как правило, имеет набор функций, расширенный по сравнению с UART, и способен обрабатывать синхронизированные потоки данных на скоростях, во много раз превышающих скорости UART. Действительно, USART может выполнять все функции UART, и, возможно, поэтому во многих приложениях разработчики, имея в руках всю мощь USART, используют их как простые UART, игнорируя преимущества синхронного тактирования. Неудивительно, что очень многие используют эти термины так, будто они являются синонимами.

Difference Between USART and UART

USART (Universal Synchronous/Asynchronous Receiver/Transmitter)

The half-duplex mode is used.

The speed of USART is more in comparison to UART.

It uses data signals as well as clock to work.

The data is transmitted in the format of blocks.

It can work similar to UART.

It is more complex in comparison to UART.

The receiver doesn’t require to know the baud-pace of the transmitter.

This is because it gets information by the master and the clock signal.

The data is transmitted at a definite (specific) rate.

UART (Universal Asynchronous Receiver/Transmitter)

It uses full-duplex mode.

Its speed is less in comparison to USART.

It uses data signals for its functioning only.

The data is transmitted using bytes, one byte at a time.

It can’t function similar to USART.

It is relatively simple.

It doesn’t have an approaching clock signal which would be related to the information.

This means the recipient is required to know the baud-pace of the transmitter before gathering.

Aticleworld

aticleworld offer c tutorial,c programming,c courses, c++, python, c#, microcontroller,embedded c, embedded system, win32 API, windows and linux driver, tips

Difference between UART and USART(UART vs USART)

Uart vs Usart difference uart usart

In this blog post, you will know the difference between UART and USART (UART vs USART). Both UART and USART chips are made by manufacturers to convert incoming and outgoing bytes of data into a serial bitstream.

UART_block_diagram

As an embedded engineer it is good to know the actual differences between UART and USART.

Why I am saying this because there are many newbies who think that UART and USART both are the same. But in reality, both are different from each other and they have different properties. UART stands for Universal Asynchronous Receiver Transmitter while USART stands for Universal Synchronous Asynchronous Receiver Transmitter.

The main difference between the UART and USART peripheral is that the UART peripheral supports only asynchronous mode, whereas USART supports both synchronous and asynchronous modes.

If you don’t know what asynchronous and synchronous communication mode is. Don’t worry before explaining the difference between UART and USART I will explain these communication modes.

Asynchronous Serial Transmission:

In asynchronous communication, there is no common clock between the sender and receiver. It is widely used for byte-oriented transmission which means it can send 1 byte or character at a time. Asynchronous communication is slow as compared to synchronous and also it has the overhead of start and stops bits. That means, in asynchronous communication, each frame is wrapped with start and stop bit. Let’s see the frame structure of asynchronous communication.

Frame structure in Asynchronous Communication:

Mainly it consists of 5 elements:

Start Bit (logic low (0)): Each frame starts with a START Bit and it is always low. The start bit signals the receiver that a new byte is coming.

Data Bits: Data bits can be 5 to 9 bits packets. Normally we use 8 data bit packet, which is always sent after the START bit.

Parity Bit: If a parity bit is used, it would be placed after all of the data bits.

Stop Bit (logic high (1)): It can be one or two bits. It is sent after the data bits packet to indicate the end of the frame. The stop bit is always logic high.

Idle (logic high (1)): It is no data state always high.

See the below example of a UART frame. In which, one byte is sent, consisting of a start bit, followed by eight data bits (D0-7), an optional parity bit, and one stop bit. It starts with the “start bit” and ends with the “stop bit”.

Synchronous Serial Transmission:

In synchronous communication, the clock is shared by the sender and receiver. In which we can transmit a block of data and for the block of data only one start and stop bit. it is the reason synchronous communication has less overhead.

Difference between UART and USART (UART vs USART):

Let’s see some other common differences between the UART and USART (UART vs USART) step by step.

UART ПРОТОКОЛ: ОПИСАНИЕ РАБОТЫ

UART (Universal Asynchronous Transmitter Receiver) это наиболее распространенный протокол, используемый для полнодуплексной последовательной связи. Устройство отправляет и получает данные из одной системы в другую. В этом мануале мы подробно изучим основы связи и работу протокола UART, подробное описание интерфейса и распиновку разъёмов..

Что такое UART

UART означает универсальный асинхронный приемник-передатчик. Это периферийное оборудование, которое находится внутри микроконтроллера. Функция UART заключается в преобразовании входящих и исходящих данных в последовательный двоичный поток. Восьмибитные последовательные данные, полученные от периферийного устройства, преобразуются в параллельную форму с использованием последовательного преобразования в параллельное, а параллельные данные, полученные от ЦП, преобразуются с помощью преобразования из последовательного в параллельный. Эти данные представлены в модулирующей форме и передаются с определенной скоростью передачи.

Читать:
Как поменять щетки на ms5525n

Почему используют UART

Для быстрой связи используются такие протоколы, как SPI (последовательный периферийный интерфейс) и USB (универсальная последовательная шина). Но когда высокоскоростная передача данных не требуется, применяют протокол UART. Это дешевое устройство связи с одним передатчиком и приемником. Тут требуется лишь один провод для передачи данных и один для приема. О конвертере USB-ART прочитайте по ссылке.

Его можно подключить к персональному компьютеру с помощью преобразователя RS232-TTL или USB-TTL. Сходство между RS232 и UART заключается в том, что им обоим не нужен таймер для передачи и приема данных. Кадр UART состоит из 1 стартового бита, 1 или 2 стоповых битов и бита четности для последовательной передачи данных.

Блок-схема UART

UART состоит из следующих основных компонентов: передатчик и приемник. Передатчик состоит из регистра удержания передачи, регистра сдвига передачи и логики управления. Точно так же приемник состоит из регистра удержания приема, регистра сдвига приемника и логики управления. Обычно и передатчик, и приемник снабжены генератором скорости передачи данных.

Генератор скорости передачи данных формирует скорость, с которой передатчик и приемник должны отправлять и получать данные. Регистр удержания передачи содержит передаваемый байт данных. Регистр сдвига передачи и регистр сдвига приемника сдвигают биты влево или вправо, пока байт данных не будет отправлен или получен.

В дополнение к этому, предусмотрена логика управления чтением или записью, указывающая когда читать и записывать. Генератор скорости передачи данных формирует скорости в диапазоне от 110 бит / с до 230400. В большинстве случаев микроконтроллеры предлагают более высокие скорости передачи, такие как 115200 и 57600 бит / с, но такие устройства как GPS и GSM, используют более низкую скорость в 4800 и 9600 бод.

Как работает UART

Передатчик и приемник используют стартовый бит, стоповый бит и параметры синхронизации для взаимодействия друг с другом. Исходные данные находятся в параллельной форме. Например есть 4-х битные данные, и чтобы преобразовать их в последовательную форму нужен преобразователь из параллельного в последовательный. Обычно для проектирования преобразователей используются D-триггеры.

D-триггер, также известный как триггер данных, сдвигает один бит со стороны входа на сторону выхода только тогда, когда таймер изменяет переход из высокого состояния в низкое или из низкого состояния в высокое. Точно так же, если надо передать 4 бита данных, понадобится 4 триггера.

  • D – входные данные.
  • CLK – тактовые импульсы.
  • Q – выходные данные.

Теперь спроектируем преобразователь из параллельного в последовательный и из последовательного в параллельный.

Параллельное преобразование в последовательное

Шаг 1: Возьмем 4 триггера. Количество триггеров эквивалентно количеству передаваемых битов. Точно так же поставим мультиплексоры перед каждым триггером, но исключая первый. Установлен мультиплексор для объединения данных и преобразования их в последовательные биты. Он имеет два входа: один параллельный бит данных, а другой – от предыдущего триггера.

Шаг 2: Теперь загружаем данные за раз в D-триггеры. Он будет извлекать параллельные данные и перемещать последний бит последнего триггера – четвёртый, затем третий бит, второй и, наконец, первый бит. Теперь для преобразования параллельных данных в последовательную форму используется другой преобразователь.

Последовательное преобразование в параллельное

Шаг 1: Возьмем 4 триггера. Количество триггеров совпадает с количеством передаваемых битов.

Шаг 2: Сначала отключим параллельную шину. Не включаем пока не будут загружены все биты. Сохраним данные на входе первого триггера. Теперь установим высокий уровень тактовой частоты, это сдвинет младший бит на вход второго триггера и выход первого. Точно так же сдвинем все биты один за другим, сделав тактовый импульс высоким. Преобразователь находится в состоянии удержания до тех пор, пока все биты не будут переданы на выход.

Шаг 3: Теперь каждый триггер содержит один бит последовательных данных. Пока все биты передаются на выход триггера, активируем шину. Это заставит конвертер отправлять все биты за раз.

Формат протокола UART

Начинается связь со стартовым битом «0». Стартовый бит инициирует передачу последовательных данных, а стоповый бит завершает транзакцию данных.

Он также имеет бит четности (четный или нечетный). Бит четности представлен как «0» (четное количество единиц), а бит нечетной четности представлен как «1» (нечетное количество).

Передача данных

Передача данных осуществляется по одной линии передачи (TxD). Здесь «0» рассматривается как пробел, а «1» – как состояние отметки.

Передатчик отправляет по одному биту за раз. После отправки одного бита отправляется следующий. Таким образом, все биты данных отправляются на приемник с заранее определенной скоростью передачи. При передаче каждого бита будет определенная задержка. Например, чтобы отправить один байт данных со скоростью 9600 бод, каждый бит отправляется с задержкой 108 мкс. Данные добавляются с битом четности. Таким образом для отправки 7 бит требуется 10 бит данных.

При передаче всегда сначала передается LSB (Least Significant Bit – младший значащий бит).

Прием данных

Для приема данных используется приёмная линия RxD.

Пример интерфейса UART

Этот пример демонстрирует взаимодействие ESP8266 UART с MAX232. Микросхема MAX232 питается от источника 5 В, и включает в себя генератор емкостного напряжения для управления напряжением 232 уровня. Она поставляется с двумя передатчиками, также называемыми драйвером (Tin, Tout) и приемниками (Rin и Rout).

Здесь использовался ESP8266 (32-битный микроконтроллер) со встроенным UART. Связь может осуществляться с ESP8266 с использованием AT-команд через преобразователь уровня RS232 в TTL (MAX232). На схеме показано подключение ESP8266 к компьютеру.

Запрашивая действительные AT-команды через ПК, микросхема Wi-Fi ответит подтверждением. Вот шаги для реализации последовательной связи с ПК.

  1. Подключить передатчик (TX) ESP8266 к приемнику (RX) преобразователя уровня RS232 в TTL (MAX232) и приемника ПК.
  2. Подключить приемник (RX) ESP8266 к TX ПК и RX преобразователя TTL.

Команды ESP8266

Далее показан ответ модуля ESP8266.

UART и USART

USART – это основная форма UART. Технически это не одно и то же, но определение для них одинаково. Это периферийные устройства микроконтроллера, которые преобразуют параллельные данные в последовательные биты и наоборот.

UART USART
Тайминги генерируются внутри микроконтроллера. Отправляющее устройство сгенерирует тайминг.
Скорость передачи данных низкая. Скорость передачи данных выше из-за внешних таймингов.
Автономный протокол Поддерживает несколько протоколов, таких как LIN, RS-485, IrDA, смарт-карта и т. д.
Перед передачей необходимо знать скорость передачи. Нет необходимости знать скорость передачи заранее.
Подходит для низкоскоростной связи Подходит для высокоскоростной связи.
Сниженный энергетический след. Обеспечивает последовательную связь при высоком энергопотреблении

Основное различие между UART и USART заключается в том, что UART поддерживает только асинхронную связь, тогда как USART поддерживает как синхронную, так и асинхронную. Вот сравнение между USART и UART:

RS232 и UART

Логические уровни представляют собой уровни рабочего напряжения, которые устройство может выдержать для работы в безопасной зоне. Вот уровни напряжения для RS232 и TTL:

В большинстве случаев уровни RS232 находятся в диапазоне от -12 В до +12 В. Например, значение ASCII для символа «A» в RS232 составляет 65 и 41 в шестнадцатеричном формате. Таким образом, в 8-битном двоичном формате это 0100 0001. Здесь показано представление логических уровней RS232 для ASCII «A».

Логика TTL / CMOS

UART работает по TTL логике.

Первоначально последовательная линия находится в состоянии ожидания, обычно называемом статусом отметки (логическая 1). Теперь передача данных начинается со стартового бита (логический 0). Кроме того, по последовательной линии один за другим отправляются 8 бит данных, причем сначала младший бит LSB (Least significant bit – младший значащий бит). После завершения всей передачи идёт стоповый бит (логическая 1).

Преимущества и недостатки UART

  • Преимущество UART в том, что протокол поддерживает полнодуплексную связь по двум проводам. Кроме того, для передачи данных не требуются внешний таймер. Он поддерживает проверку ошибок с помощью бита четности, а длину данных можно легко изменить.
  • Основным недостатком является то, что он не поддерживает конфигурацию с несколькими ведомыми или несколькими ведущими устройствами. И размер пакета данных ограничен 9 битами. UART не подходит для сложной последовательной связи при высоком энергопотреблении.

Области применения протокола

Последовательный порт отладки использует драйвер UART для печати данных, поступающих извне. Можем использовать этот протокол для отправки и получения команд на встроенные устройства и от них. Также выполняется связь в GPS, модеме GSM / GPRS, чипах Wi-Fi и других модулях работающих с UART. Используется в доступе к мэйнфрейму для подключения разных компьютеров.

Похожие публикации