Съдържание:

ОСНОВИ НА КОМУНИКАЦИЯТА UART: 16 стъпки
ОСНОВИ НА КОМУНИКАЦИЯТА UART: 16 стъпки

Видео: ОСНОВИ НА КОМУНИКАЦИЯТА UART: 16 стъпки

Видео: ОСНОВИ НА КОМУНИКАЦИЯТА UART: 16 стъпки
Видео: #16 DT 06 WIFI Android Modbus HMI | Внешний ПЛК Arduino 2024, Юли
Anonim
ОСНОВИ НА КОМУНИКАЦИЯТА UART
ОСНОВИ НА КОМУНИКАЦИЯТА UART

Помните ли, когато принтерите, мишките и модемите имаха дебели кабели с тези огромни тромави конектори? Тези, които буквално трябваше да бъдат завинтени в компютъра ви? Тези устройства вероятно са използвали UART за комуникация с вашия компютър. Докато USB почти напълно е заменил тези стари кабели и конектори, UART определено не са минало. Ще откриете, че UART се използват в много проекти за електронна електроника за свързване на GPS модули, Bluetooth модули и модули за четене на RFID карти към вашите Raspberry Pi, Arduino или други микроконтролери.

UART означава универсален асинхронен приемник/предавател. Това не е комуникационен протокол като SPI и I2C, а физическа верига в микроконтролер или самостоятелна интегрална схема. Основната цел на UART е да предава и получава серийни данни.

Едно от най -добрите неща за UART е, че използва само два проводника за предаване на данни между устройства. Принципите на UART са лесни за разбиране, но ако не сте прочели първа част от тази поредица, Основи на SPI комуникационния протокол, това може да е добро начало.

Стъпка 1: ВЪВЕДЕНИЕ В UART КОМУНИКАЦИЯ

В UART комуникацията две UART комуникират директно помежду си. Предаващият UART преобразува паралелни данни от управляващо устройство като процесор в серийна форма, предава ги последователно на приемащия UART, който след това преобразува серийните данни обратно в паралелни данни за приемащото устройство. Само два проводника са необходими за предаване на данни между две UART. Данните преминават от Tx щифта на предаващия UART към Rx пина на приемащия UART:

Стъпка 2: Потоци на данни от Tx Pin на предаващия UART към Rx Pin на приемащия UART:

Потоци на данни от Tx Pin на предаващия UART към Rx Pin на приемащия UART
Потоци на данни от Tx Pin на предаващия UART към Rx Pin на приемащия UART

Стъпка 3:

UART предават данни асинхронно, което означава, че няма тактов сигнал за синхронизиране на изхода на битове от предаващия UART към вземане на проби от битове от приемащия UART. Вместо часовник, предаващият UART добавя начален и стоп бит към пакета данни, който се прехвърля. Тези битове определят началото и края на пакета данни, така че получаващият UART да знае кога да започне да чете битовете.

Когато приемащият UART открие стартов бит, той започва да чете входящите битове с определена честота, известна като скорост на предаване. Скоростта на предаване е мярка за скоростта на предаване на данни, изразена в битове в секунда (bps). И двата UART трябва да работят с приблизително еднаква скорост на предаване. Скоростта на обмен между излъчващите и приемащите UART може да се различава само с около 10%, преди времето на битовете да стане твърде далеч.

Стъпка 4:

Образ
Образ

И двата UART също трябва да бъдат конфигурирани да предават и получават една и съща структура от пакети данни.

Стъпка 5: КАК РАБОТИ UART

UART, който ще предава данни, получава данните от шината за данни. Шината за данни се използва за изпращане на данни към UART от друго устройство като процесор, памет или микроконтролер. Данните се прехвърлят от шината за данни към предаващия UART паралелно. След като предаващият UART получи паралелните данни от шината за данни, той добавя начален бит, бит за паритет и стоп бит, създавайки пакет от данни. След това пакетът данни се извежда серийно, по малко по пин на Tx. Получаващият UART чете пакета данни по малко по своя Rx пин. Получаващият UART след това преобразува данните обратно в паралелна форма и премахва началния бит, бита за паритет и стоповете. И накрая, приемащият UART прехвърля пакета данни паралелно на шината за данни на приемащия край:

Стъпка 6: Изображение Как работи UART

Изображение Как работи UART
Изображение Как работи UART

Стъпка 7:

Предаваните UART данни са организирани в пакети. Всеки пакет съдържа 1 стартов бит, 5 до 9 бита данни (в зависимост от UART), незадължителен бит за паритет и 1 или 2 стоп бита:

Стъпка 8: Предаваните от UART данни се организират в изображение на пакети

Предаваните UART данни се организират в изображение на пакети
Предаваните UART данни се организират в изображение на пакети

Стъпка 9:

СТАРТ БИТ

Линията за предаване на данни UART обикновено се държи на високо напрежение, когато не предава данни. За да започне прехвърлянето на данни, предаващият UART издърпва предавателната линия от високо към ниско за един тактов цикъл. Когато приемащият UART открие прехода от високо към ниско напрежение, той започва да чете битовете в рамките на данните с честотата на скоростта на предаване.

РАМКА НА ДАННИТЕ

Рамката с данни съдържа действителните данни, които се прехвърлят. Той може да бъде дълъг от 5 бита до 8 бита, ако се използва бит за паритет. Ако не се използва бит за паритет, кадърът от данни може да бъде с дължина 9 бита. В повечето случаи данните се изпращат първо с най -малкия бит.

ПАРИТЕТ

Паритетът описва четността или нечетността на число. Битът за паритет е начин приемният UART да разбере дали някои данни са се променили по време на предаването. Битовете могат да се променят чрез електромагнитно излъчване, несъответстващи скорости на предаване или пренос на данни на дълги разстояния. След като получаващият UART прочете рамката от данни, той брои броя битове със стойност 1 и проверява дали общата сума е четно или нечетно число. Ако битът за паритет е 0 (четен паритет), 1 битовете в рамката за данни трябва да се изчислят на четно число. Ако битът за четност е 1 (нечетен паритет), 1 битовете в рамката за данни трябва да се изчислят до нечетно число. Когато битът за паритет съвпада с данните, UART знае, че предаването е било без грешки. Но ако битът за паритет е 0 и общата сума е нечетна; или битът за паритет е 1, а общата сума е четна, UART знае, че битовете в рамките на данните са се променили.

СТОП БИТОВЕ

o сигнализира края на пакета с данни, изпращащият UART задвижва линията за пренос на данни от ниско напрежение до високо напрежение за най -малко два бита.

Стъпка 10: СТЪПКИ НА УАРТ ПРЕДАВАНЕ

1. Излъчващият UART получава данни паралелно от шината за данни:

Стъпка 11: Предаване на изображения UART получава данни паралелно от шината за данни

Предаване на изображения UART получава данни паралелно от шината за данни
Предаване на изображения UART получава данни паралелно от шината за данни

Стъпка 12: 2. Предаващият UART добавя началния бит, паритетния бит и стоповия бит (и) към рамката за данни:

2. предаващият UART добавя началния бит, бита за паритет и стопа (ите) към рамката за данни
2. предаващият UART добавя началния бит, бита за паритет и стопа (ите) към рамката за данни

Стъпка 13: 3. Целият пакет се изпраща последователно от предаващия UART към приемащия UART. получаващият UART изважда линията от данни при предварително конфигурираната скорост на предаване:

3. целият пакет се изпраща последователно от предаващия UART към приемащия UART. получаващият UART изважда линията от данни при предварително конфигурираната скорост на предаване
3. целият пакет се изпраща последователно от предаващия UART към приемащия UART. получаващият UART изважда линията от данни при предварително конфигурираната скорост на предаване

Стъпка 14: 4. Получаващият UART изхвърля началния бит, паритетния бит и стоп бита от рамката за данни:

4. получаващият UART изхвърля началния бит, бита за паритет и стоп бита от рамката за данни
4. получаващият UART изхвърля началния бит, бита за паритет и стоп бита от рамката за данни

Стъпка 15: 5. Получаващият UART преобразува серийните данни обратно в паралелни и ги прехвърля към шината за данни на приемащия край:

5. получаващият UART преобразува серийните данни обратно в паралелни и ги прехвърля към шината за данни на приемащия край
5. получаващият UART преобразува серийните данни обратно в паралелни и ги прехвърля към шината за данни на приемащия край

Стъпка 16: ПРЕДИМСТВА И НЕДОСТАТЪЦИ НА UARTS

Никой комуникационен протокол не е перфектен, но UART са доста добри в това, което правят. Ето някои плюсове и минуси, които да ви помогнат да решите дали отговарят на нуждите на вашия проект или не:

ПРЕДИМСТВА

Използва само два проводника Не е необходим часовник сигнал Има бит за паритет, който позволява проверка на грешки Структурата на пакета данни може да се променя, стига и двете страни да са настроени за него Добре документиран и широко използван метод НЕДОСТАТЪЦИ

Размерът на рамката за данни е ограничен до максимум 9 бита Не поддържа множество подчинени или множество главни системи Скоростите на предаване на данни на всеки UART трябва да са в рамките на 10% една от друга Продължете към трета част от тази серия, Основи на I2C Communication Protocol, за да научите за друг начин на комуникация на електронни устройства. Или ако още не сте го направили, вижте първа част, Основи на SPI комуникационния протокол.

И както винаги, уведомете ме в коментарите, ако имате въпроси или нещо друго да добавите! Ако тази статия ви е харесала и искате да видите още подобни, не пропускайте да я следвате

за разбирането

M. Junaid

Препоръчано: