Різниця між UART та RS-232?


80

Більшість часу RS-232 та UART збираються разом у теоріях послідовного зв'язку. Вони обоє однакові? З моїх прочитань я зробив висновок, що UART є апаратною формою протоколу RS-232. Я прав?


1
Наведені вище відповіді дали розуміння відмінностей. Але я хотів би додати до цих відповідей, додавши посилання з Національних інструментів, що детально обговорює цю тему. Далі йде посилання: Загальні поняття послідовного зв'язку RS-232, RS-422, RS-485
devangmotwani

Відповіді:


80

Ні, UART та RS-232 - не те саме.

UART відповідає за надсилання та отримання послідовності бітів. На виході UART ці біти зазвичай представлені напругами логічного рівня. Ці біти можуть стати RS-232, RS-422, RS-485 або, можливо, деякими властивостями.

RS-232 визначає рівні напруги . Зауважте, що деякі з цих рівнів напруги є негативними, і вони також можуть досягати ± 15В. Більш великі перепади напруги роблять RS-232 більш стійкими до перешкод (хоча і лише в деякій мірі).

Мікроконтролер UART не може сам генерувати такі рівні напруги. Це робиться за допомогою додаткового компонента: лінійного драйвера RS-232. Класичний приклад лінійного драйвера RS-232 - MAX232 . Якщо ви пройдете таблицю даних, ви помітите, що цей ІС має зарядний насос, який генерує ± 10 В від + 5 В.

введіть тут опис зображення ( джерело )


4
Означення, яке я прочитав RS-232, я зовсім не говорить про послідовність бітів або терміни. Я фактично ніколи не знайшов офіційного стандарту, який описував би асинхронний протокол запуску-зупинки NRZ.
Wouter van Ooijen

1
RS-232 не визначає послідовність бітів.
slebetman

Мабуть, у розробці формату символів UART настільки переважала телефонна компанія Bell, що не з'явилося жодних варіантів. Як результат, формат бітів start / data / parity / stop ніколи не був предметом незалежного стандарту. Загальновиробниче використання було настільки рівномірним, що ніякого "офіційного" визначення не потрібно. Це не стосувалося фізичних зв'язків, і тому RS-232 був розроблений.
WhatRoughBeast

3
Формати символів UART передували модемам Белла, він був у апаратному забезпеченні Teletype (вісім біт з паритетом) в ASCII, а до цього Бодо.
Whit3rd

33

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 у стандарт +/- 12V, який потрібен RS-232. Повний інтерфейс RS-232 зазвичай включає як UART, так і перетворювач рівнів RS-232. Крім того, стандарт RS-232 включає в себе визначення кількох інших сигнальних штифтів , крім TXі RX, що вам може знадобитися для використання в залежності від необхідного Вам обладнання для підключення. Вони також повинні бути перетворені на рівень, і ваш UART може або не може підтримувати ці сигнали. Якщо цього немає, вам доведеться безпосередньо керувати ними за допомогою свого програмного забезпечення / мікропрограмного забезпечення.

Отже, хоча UART може допомогти вам реалізувати інтерфейс RS-232, це не сам інтерфейс RS-232.


Стандартний кабель RS-232? Немає такого. У своїй сумці з обладнанням я перебуваю близько десятка адаптерів для RS-232. RS-232 вказує роз'єм DB-25, але я бачив роз'єми DD-9, RJ45, din8 та інші, окрім підключення модему до ПК, я ніколи не міг використовувати кабель COTS для жодного проекту rs232. На щастя, 90% часу, який робитимуть пару адаптерів або користувальницький кабель, їх легко зробити.
hildred

Тільки для запису: я думаю, що "S" в USART означає "синхронний", а не "послідовний". Дивіться тут . USART - це "відчуття" щодо старих мікросхем UART, які дозволяють також синхронізувати режими зв'язку.
Лоренцо Донаті

14

Функції UART перетворюють паралельні дані з ліній шини ПК в послідовні дані для передачі через драйвери лінії на пристрої RS-232, RS-422 та RS-485 . Годинник штриху мікросхеми UART подається програмованим джерелом годинника. Тактова частота визначається конфігурацією швидкості передачі даних, яку буде використовувати пристрій. Тактова частота становить 16 X. Розміщення зонда осцилографа на тактовому штирі мікросхеми UART та визначення частоти, а потім ділення на 16 - це один із способів визначення невідомої швидкості передачі.


5
+1 для "перетворення паралельних даних у послідовні дані", жодна інша відповідь тут не згадує.
TisteAndii
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.