Більшість часу RS-232 та UART збираються разом у теоріях послідовного зв'язку. Вони обоє однакові? З моїх прочитань я зробив висновок, що UART є апаратною формою протоколу RS-232. Я прав?
Більшість часу 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 у стандарт +/- 12V, який потрібен 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 X. Розміщення зонда осцилографа на тактовому штирі мікросхеми UART та визначення частоти, а потім ділення на 16 - це один із способів визначення невідомої швидкості передачі.