В большинстве случаев RS-232 и UART объединяются в теориях последовательной связи. Они оба одинаковы? Из моих чтений я пришел к выводу, что UART — это аппаратная форма протокола RS-232. Я прав?
Нет, UART и RS-232 — это не одно и то же.
UART отвечает за отправку и получение последовательности битов. На выходе UART эти биты обычно представлены напряжениями логического уровня. Эти биты могут стать RS-232, RS-422, RS-485 или, возможно, какой-либо частной спецификацией.
RS-232 определяет уровни напряжения . Обратите внимание, что некоторые из этих уровней напряжения являются отрицательными и могут достигать ±15 В. Больший размах напряжения делает RS-232 более устойчивым к помехам (хотя и лишь в некоторой степени).
Микроконтроллер UART не может сам по себе генерировать такие уровни напряжения. Это делается с помощью дополнительного компонента: драйвера линии RS-232. Классическим примером драйвера линии RS-232 является MAX232 . Если вы просмотрите техническое описание, вы заметите, что эта ИС имеет зарядный насос, который генерирует ± 10 В из + 5 В.
( источник )
UART (или USART) — универсальный (синхронный) асинхронный приемник/передатчик
По сути, это последовательный интерфейс связи. «Универсальная» часть означает, что его можно настроить для поддержки множества различных конкретных последовательных протоколов. Термин является общим и не представляет собой конкретный стандарт. Как минимум это означает, что он имеет TX
и RX
линию, которая отправляет последовательный поток данных и получает последовательный поток данных.
RS-232 — стандарт, определяющий сигналы между двумя устройствами, определяющий названия сигналов, их назначение, уровни напряжения, разъемы и распиновку.
Это специальный стандарт интерфейса, обеспечивающий совместимость оборудования. Хотя два элемента оборудования могут иметь UART, вы не можете быть уверены, что они будут подключаться без повреждений или правильно обмениваться данными, если вы не знаете, что они имеют одинаковую распиновку и стандарты напряжения, или не включаете преобразователь или специально подключенный кабель, специфичный для соединения. эти два конкретных устройства. Чтобы избежать необходимости в специальных преобразователях или кабелях, производители могут выбрать стандарт RS-232. Вы знаете, что стандартный кабель RS-232 соединит их.
Однако ни стандарт UART, ни стандарт RS-232 не определяют, что отправляется по линиям TX
и . RX
Как правило, когда люди используют RS-232, они используют простую 8-битную кодировку NRZ с одним стартовым битом и одним стоповым битом. Большинство производимого сегодня оборудования использует эту кодировку, но это не обязательно. Вы можете найти более старое оборудование, которое включает биты четности или использует 7 или 9 бит. UART можно настроить для поддержки этих различных протоколов на своих линиях TX
и .RX
UART обычно не взаимодействуют напрямую с RS-232. Вам нужно будет преобразовать выход UART в стандарт +/-12 В, который требуется для RS-232. Полный интерфейс RS-232 обычно включает в себя как UART, так и преобразователь уровня RS-232. Кроме того, стандарт RS-232 включает определение нескольких других сигнальных контактов помимо TX
и RX
, которые вам могут понадобиться в зависимости от оборудования, к которому вам нужно подключиться. Они также должны быть преобразованы по уровню, и ваш UART может поддерживать или не поддерживать эти сигналы. Если это не так, вам придется управлять ими напрямую с помощью вашего программного обеспечения/прошивки.
Таким образом, хотя UART может помочь вам реализовать интерфейс RS-232, сам по себе он не является интерфейсом RS-232.
Функция UART преобразует параллельные данные с линий шины ПК в последовательные данные для передачи через линейные драйверы на устройства RS-232, RS-422 и RS-485 . Тактовый вывод микросхемы UART питается от программируемого источника тактового сигнала. Тактовая частота определяется конфигурацией скорости передачи, которую будет использовать устройство. Тактовая скорость в 16 раз превышает скорость передачи. Размещение щупа осциллографа на тактовом выводе микросхемы UART и определение частоты, а затем деление на 16 — это один из способов определить неизвестную скорость передачи данных.
RS-232 является только спецификацией. Он определяет требования к сигнализации для последовательной связи, излагая правила и рекомендации, касающиеся:
RS-232 не распространяется на цифровое электронное оборудование, которое вы используете для реализации и соответствия этим спецификациям, и, что важно , он не распространяется на кадрирование данных или исправление ошибок или какие-либо аспекты типа «канального уровня». Другими словами, RS-232 наиболее близок к спецификации «физического уровня» в модели OSI .
Иногда вы слышите термин «протокол RS-232», но это не протокол, а стандарт сигнализации.
Фактическое оборудование, которое вы используете для реализации связи, совместимой с RS-232, в целом делится на две категории, ни одна из которых не является частью спецификации RS-232 (за исключением того, что если они делают что-либо, нарушающее RS-232, вы не можете законно вызовите вашу систему "RS-232"):
Линейные приемопередатчики . Это устройства, которые будут транслировать между сигналами, совместимыми с RS-232, которые являются надежными, биполярными (напряжения становятся как отрицательными, так и положительными по отношению к земле), и чувствительной цифровой логической схемой внутри коммуникационного устройства, которое обычно представляет собойработающий UART . со стандартными логическими уровнями 3,3 В или 5 В. Линейные приемопередатчики также подпадают под «физический уровень» модели OSI.
УАРТ . Это сложная цифровая логика, обычно работающая со стандартными логическими уровнями 5 В или 3,3 В и отвечающая за кодирование и декодирование параллельных данных в последовательную форму и обратно. Он отвечает за кадрирование (стартовые и стоповые биты), исправление ошибок (биты четности), скорость передачи данных (скорость передачи), управление потоком (управление такими сигналами, как DCD, CTS, RTS и т. д.) и многие другие аспекты. Таким образом, его можно рассматривать как часть «уровня канала передачи данных» в модели OSI.
RS-232 перед UART.
UART — это устройство, которое может определять логический протокол для связи, а RS-232 — это устройство, которое служит физической средой для связи.
Когда мы говорим UART + RS232
, это на самом деле означает a communication protocol runs on some media
, что микросхемы, такие как MAX232, адаптируют напряжения.
Мы также можем использовать (редактировать). Мы также можем использовать микросхемы на базе USB, чтобы обеспечить некоторую функциональность виртуального UART (редактировать), с микросхемами от Prolific Technology, FTDI, Microchip и т. д., где мы заменяем простой носитель RS-232 на более сложный/недавний USB-носитель. UART + USB
Нам даже не нужен аппаратный UART, потому что его можно реализовать через USB чисто программно.
См. рисунок ниже. Обратите внимание, что на правой стороне нет аппаратного UART, а есть только аппаратный USB (редактировать), аппаратный UART интегрирован в такие микросхемы, а на встроенной стороне используется новый драйвер USB UART (редактировать). И с некоторыми дополнительными драйверами.
Изображение отсюда .
Девангмотвани
Дэвид С.