Пам'ятайте, коли у принтерів, мишей і модемів булитовсті кабелі з цими величезними незграбними роз'ємами? Ті, які буквально повинні були угвинчуватися в комп'ютер? Мало хто знає, що ці UART-компоненти використовувалися для зв'язку з вашим комп'ютером. Майже повністю замінила ці старі кабелі і роз'єми технологія USB. UART-інтерфейси, опис яких знайдете в цій статті, не пішли в минуле. Їх використовують у багатьох проектах електроніки DIY для підключення GPS, Bluetooth і модулів зчитування карт RFID до Pi, Arduino або іншим мікроконтролерів.
UART-інтерфейс: опис
UART означає універсальний асинхроннийприймач / передавач. Це не комунікаційний протокол, такий як SPI і I2C, а фізична схема в мікроконтролері. Основною метою є передача і отримання інформації. Одне з кращих досягнень технології полягає в тому, що він використовує лише два дроти.
UART-інтерфейс - це два пристрої, якіобмінюються даними один з одним. Передавальний джерело перетворює інформацію з керуючого пристрою, такого як центральний процесор, в послідовну форму, передає його в послідовному порядку на приймаючий UART, який перетворює значення для пристрою одержувача. Для передачі інформації між двома пристроями потрібно тільки два дроти.
Введення в комунікацію UART
UART RS485 передаєт дані асинхронно, що означає відсутністьсигналу для синхронізації виходу бітів від передавального пристрою до приймаючого. Замість тактового сигналу передає UART додає біти початку і закінчення переданого пакета. Ці параметри визначають початок і кінець документа.
Коли приймає UART виявляє стартовийбіт, він починає зчитувати вхідні біти з певною частотою, відомої як швидкість передачі. Швидкість передачі даних є мірою швидкості, вираженої в одиниці виміру, - біт / с. Обидва пристрої повинні працювати приблизно з однаковою швидкістю передачі. Швидкість передачі між передавачем і приймають пристроями може відрізнятися на 10%.
Обидва прилади також повинні бути налаштовані для передачі і отримання тієї ж структури пакета.
UART - що це і як це працює?
UART, який збирається передавати інформацію,отримує її з шини даних. Вона використовується для відправки інформації іншим пристроєм, таким як процесор, пам'ять або мікроконтролер. Після того як передає UART отримує паралельні дані з шини даних, він додає біт початку, парності і стоп-біт, створюючи пакет даних. Потім пакет виводиться послідовно, по частинах. Приймаючий UART зчитує біт даних на свій висновок. Одержує UART перетворює інформацію назад в паралельну форму, видаляє біт початку і степових біти. Нарешті, приймає UART передає пакет даних паралельно шині даних на приймаючій стороні.
Лінія передачі зазвичай утримується на високомурівні напруги, коли вона не передає інформацію. Щоб почати передачу даних передає UART тягне лінію передачі від високого до низького за один такт. Коли приймає UART виявляє перехід від високого до низького напрузі, він починає зчитувати біти в кадрі даних з частотою передачі в бодах.
Технічні особливості
Базова система UART забезпечує надійну,помірну швидкість, полнодуплексную зв'язок з трьома сигналами: Tx (передані послідовні дані), Rx (отримані послідовні дані) і земля. На відміну від інших протоколів, таких як SPI і I2C, ніякого тактового сигналу не потрібно, оскільки користувач надає апаратного забезпечення UART необхідну інформацію про час.
Типовий сигнал даних в описі UART-інтерфейсу- це просто напруга, яке переходить між логічним низьким і логічним високим значенням. Приймач може коректно перетворювати ці логічні стану в цифрові дані тільки в тому випадку, якщо він знає, коли пробувати сигнал. Це можна легко виконати з використанням окремого тактового сигналу. Наприклад, передавач оновлює сигнал даних на кожному фронті фронту, а потім приймач виробляє вибірку даних на кожному задньому фронті.
Ключові терміни
Початковий біт - перший біт однобайтового передачі. Це вказує на те, що лінія даних виходить зі стану бездіяльності. Стан бездіяльності зазвичай має логічну висоту, тому стартовий біт є логічно низьким.
Початковий біт - біт службової інформації. Це означає, що він полегшує зв'язок між приймачем і передавачем, але не передає значущі дані.
Стоповий біт - останній біт однобайтового передачі. Його логічний рівень такої ж, як стан простою сигналу, тобто логічний максимум.
покрокова процедура
Щоб сигналізувати про завершення пакета даних, що відправляє UART підключає лінію передачі даних від низької напруги до високої напруги протягом двох біт тривалості.
Опис інтерфейсу UART:
Передавальний UART приймає дані паралельно від шини даних і додає початковий біт, біт парності і стоп-біт (-и) в кадр даних.
Весь пакет відправляється послідовно від передавального до приймаючого UART, який виробляє вибірку лінії даних з заздалегідь сконфигурированной швидкістю передачі даних.
Приймаючий UART відкидає початковий біт, біт парності і стоповий біт з кадру даних, перетворює послідовні дані назад в паралель, передає їх на шину даних на приймаючій стороні.
Перетворює отримані байти з комп'ютера по паралельним схемами в один послідовний біт-потік для вихідної передачі.
При вхідного передачі перетворює потік послідовного біта в байти, які обробляє комп'ютер.
Додає біт парності (якщо він був обраний) вихідних передач, перевіряє парність входять байтів (якщо вибрано), відкидає біт парності.
Додає роздільники початку і закінчення вихідних, видаляє їх з вхідних передач.
Переваги і недоліки
Протокол зв'язку не є досконалим, але UART досить гарні в тому, що вони роблять. Ось деякі плюси і мінуси, які допоможуть вирішити, чи відповідають вони потребам вашого проекту:
переваги:
Використовується тільки два дроти.
Немає сигналу синхронізації.
Має біт парності для перевірки помилок.
Структура пакета даних може бути змінена, якщо для неї налаштовані обидві сторони.
Добре документований і широко використовуваний метод.
недоліки:
Розмір кадру даних обмежений максимумом в 9 біт.
Не підтримує декількох підлеглих або декількох майстер-систем.
Крім того, швидкість передачі даних кожного UART-інтерфейсу Arduino повинна знаходитися в межах 10% одна від одної.