Obsah:

ZÁKLADY UARTOVEJ KOMUNIKÁCIE: 16 krokov
ZÁKLADY UARTOVEJ KOMUNIKÁCIE: 16 krokov

Video: ZÁKLADY UARTOVEJ KOMUNIKÁCIE: 16 krokov

Video: ZÁKLADY UARTOVEJ KOMUNIKÁCIE: 16 krokov
Video: БОЛИ В ПОЯСНИЦЕ И МЕТАБОЛИЧЕСКИЙ СИНДРОМ 3 день 2024, Júl
Anonim
ZÁKLADY UARTOVEJ KOMUNIKÁCIE
ZÁKLADY UARTOVEJ KOMUNIKÁCIE

Pamätáte si, keď mali tlačiarne, myši a modemy hrubé káble s tými obrovskými neohrabanými konektormi? Tie, ktoré museli byť doslova zaskrutkované do vášho počítača? Tieto zariadenia pravdepodobne používali na komunikáciu s vašim počítačom UART. Kým USB takmer úplne nahradilo tieto staré káble a konektory, UART rozhodne nie sú minulosťou. Nájdete tu UART, ktoré sa používajú v mnohých projektoch elektroniky pre domácich majstrov na pripojenie modulov GPS, modulov Bluetooth a modulov čítačky kariet RFID k vašim Raspberry Pi, Arduino alebo iným mikrokontrolérom.

UART znamená univerzálny asynchrónny prijímač/vysielač. Nie je to komunikačný protokol ako SPI a I2C, ale fyzický obvod v mikrokontroléri alebo samostatný integrovaný obvod. Hlavným účelom UART je prenášať a prijímať sériové údaje.

Jednou z najlepších vecí na UART je, že na prenos údajov medzi zariadeniami používa iba dva vodiče. Princípy UART sú ľahko pochopiteľné, ale ak ste si neprečítali prvú časť tejto série, Základy komunikačného protokolu SPI, mohlo by to byť dobré miesto na začiatok.

Krok 1: ÚVOD DO UARTOVEJ KOMUNIKÁCIE

Pri komunikácii UART komunikujú dva UART priamo medzi sebou. Vysielací UART prevádza paralelné údaje z riadiaceho zariadenia, ako je CPU, do sériovej podoby, prenáša ich sériovo do prijímajúceho UART, ktorý potom prevádza sériové údaje späť na paralelné údaje pre prijímacie zariadenie. Na prenos údajov medzi dvoma UART sú potrebné iba dva vodiče. Údaje toky z kolíka Tx vysielacieho UART na kolík Rx prijímajúceho UART:

Krok 2: Tok údajov z kolíka Tx vysielacieho UART do kolíka Rx prijímajúceho UART:

Tok údajov z kolíka Tx vysielacieho UART do kolíka Rx prijímajúceho UART
Tok údajov z kolíka Tx vysielacieho UART do kolíka Rx prijímajúceho UART

Krok 3:

UART prenášajú údaje asynchrónne, čo znamená, že neexistuje žiadny hodinový signál na synchronizáciu výstupu bitov z vysielacieho UART na vzorkovanie bitov prijímajúcim UART. Vysielací UART namiesto hodinového signálu pridáva štartovacie a zastavovacie bity do prenášaného dátového paketu. Tieto bity definujú začiatok a koniec dátového paketu, takže prijímajúci UART vie, kedy má začať bity čítať.

Keď prijímajúci UART zistí štartovací bit, začne čítať prichádzajúce bity na konkrétnej frekvencii známej ako prenosová rýchlosť. Prenosová rýchlosť je mierou rýchlosti prenosu údajov vyjadrenou v bitoch za sekundu (bps). Oba UARTy musia pracovať približne pri rovnakej prenosovej rýchlosti. Prenosová rýchlosť medzi vysielacím a prijímacím UART sa môže líšiť iba asi o 10%, kým sa načasovanie bitov nedostane príliš ďaleko.

Krok 4:

Obrázok
Obrázok

Oba UARTy musia byť tiež nakonfigurované na prenos a prijímanie rovnakej štruktúry dátových paketov.

Krok 5: AKO FUNGUJE UART

UART, ktorý bude prenášať údaje, prijíma údaje z dátovej zbernice. Dátová zbernica sa používa na odosielanie údajov do UART iným zariadením, ako je CPU, pamäť alebo mikrokontrolér. Dáta sa prenášajú z dátovej zbernice do vysielacieho UART paralelne. Potom, čo vysielací UART získa paralelné dáta z dátovej zbernice, pridá štartovací bit, paritný bit a stop bit, čím sa vytvorí dátový paket. Ďalej je dátový paket vyvedený sériovo, bit po bite na Tx pine. Prijímajúci UART číta dátový paket bit po bite na svojom pine Rx. Prijímajúci UART potom prevedie údaje späť do paralelnej formy a odstráni počiatočný bit, paritný bit a zastavovacie bity. Prijímajúci UART nakoniec prenáša dátový paket paralelne s dátovou zbernicou na prijímajúcom konci:

Krok 6: Obrázok Ako funguje UART

Obrázok Ako funguje UART
Obrázok Ako funguje UART

Krok 7:

UART prenášané dáta sú organizované do paketov. Každý paket obsahuje 1 štartovací bit, 5 až 9 dátových bitov (v závislosti od UART), voliteľný paritný bit a 1 alebo 2 stop bity:

Krok 8: UART prenášané údaje sú usporiadané do obrazu paketov

Prenesené údaje UART sú usporiadané do obrazu paketov
Prenesené údaje UART sú usporiadané do obrazu paketov

Krok 9:

ZAČNITE BIT

Keď práve neprenáša údaje, prenosová linka UART je bežne udržiavaná na úrovni vysokého napätia. Na spustenie prenosu údajov vysielací UART potiahne prenosové vedenie z vysokého na nízke počas jedného hodinového cyklu. Keď prijímajúci UART detekuje prechod vysokého a nízkeho napätia, začne čítať bity v dátovom rámci pri frekvencii prenosovej rýchlosti.

DÁTOVÝ RÁMEC

Dátový rámec obsahuje aktuálne prenášané údaje. Ak je použitý paritný bit, môže mať dĺžku 5 bitov až 8 bitov. Ak nie je použitý žiadny paritný bit, dátový rámec môže mať 9 bitov. Vo väčšine prípadov sa údaje najskôr odošlú s najmenej významným bitom.

RODINA

Parita opisuje párnosť alebo nepárnosť čísla. Paritný bit je spôsob, akým prijímajúci UART dokáže zistiť, či sa počas prenosu nejaké údaje zmenili. Bity je možné meniť elektromagnetickým žiarením, nezhodnými prenosovými rýchlosťami alebo prenosmi údajov na dlhé vzdialenosti. Potom, čo prijímajúci UART načíta dátový rámec, spočíta počet bitov s hodnotou 1 a skontroluje, či je súčet párne alebo nepárne číslo. Ak je paritný bit 0 (párna parita), 1 bit v dátovom rámci by mal byť súčet párneho čísla. Ak je paritný bit 1 (nepárna parita), 1 bit v dátovom rámci by mal byť celkom nepárne číslo. Keď sa paritný bit zhoduje s údajmi, UART vie, že prenos neobsahoval chyby. Ale ak je paritný bit 0 a súčet je nepárny; alebo je paritný bit 1 a súčet je párny, UART vie, že bity v dátovom rámci sa zmenili.

ZASTAVTE BITY

o signalizuje koniec dátového paketu, vysielací UART poháňa dátovú prenosovú linku z nízkeho napätia na vysoké napätie najmenej po dobu dvoch bitov.

Krok 10: KROKY UARTOVEJ PRENOSU

1. Vysielací UART prijíma údaje súbežne z dátovej zbernice:

Krok 11: Prenos obrazu UART prijíma údaje paralelne z dátovej zbernice

Prenos obrazu UART prijíma údaje súbežne z dátovej zbernice
Prenos obrazu UART prijíma údaje súbežne z dátovej zbernice

Krok 12: 2. Vysielací UART pridá počiatočný bit, paritný bit a stop bit (y) do dátového rámca:

2. Vysielací UART pridá počiatočný bit, paritný bit a zastavovací bit (y) do dátového rámca
2. Vysielací UART pridá počiatočný bit, paritný bit a zastavovací bit (y) do dátového rámca

Krok 13: 3. Celý paket je odoslaný sériovo z vysielacieho UART do prijímajúceho UART. Prijímajúci UART vzorkuje dátový riadok vo vopred nakonfigurovanej prenosovej rýchlosti:

3. Celý paket je odoslaný sériovo z vysielacieho UART do prijímajúceho UART. Prijímajúci UART vzorkuje dátový riadok vo vopred nakonfigurovanej prenosovej rýchlosti
3. Celý paket je odoslaný sériovo z vysielacieho UART do prijímajúceho UART. Prijímajúci UART vzorkuje dátový riadok vo vopred nakonfigurovanej prenosovej rýchlosti

Krok 14: 4. Prijímajúci UART vymaže počiatočný bit, paritný bit a zastavovací bit z dátového rámca:

4. Prijímajúci UART vymaže počiatočný bit, paritný bit a zastavovací bit z dátového rámca
4. Prijímajúci UART vymaže počiatočný bit, paritný bit a zastavovací bit z dátového rámca

Krok 15: 5. Prijímajúci UART konvertuje sériové údaje späť na paralelné a prenesie ich do dátovej zbernice na prijímajúcom konci:

5. Prijímajúci UART konvertuje sériové údaje späť na paralelné a prevedie ich na dátovú zbernicu na prijímajúcom konci
5. Prijímajúci UART konvertuje sériové údaje späť na paralelné a prevedie ich na dátovú zbernicu na prijímajúcom konci

Krok 16: VÝHODY A NEVÝHODY UARTS

Žiadny komunikačný protokol nie je dokonalý, ale UART sú v tom, čo robia, celkom dobrí. Tu je niekoľko výhod a nevýhod, ktoré vám pomôžu rozhodnúť sa, či vyhovujú potrebám vášho projektu:

VÝHODY

Používa iba dva vodiče Nie je potrebný žiadny hodinový signál Má paritný bit, ktorý umožňuje kontrolu chýb Štruktúru dátového paketu je možné zmeniť, pokiaľ sú na to nastavené obe strany Dobre zdokumentovaná a široko používaná metóda NEVÝHODY

Veľkosť dátového rámca je obmedzená na maximálne 9 bitov. Nepodporuje viacnásobné podradené alebo viacnásobné hlavné systémy. Prenosové rýchlosti každého UART musia byť navzájom v rozmedzí 10%. Pokračujte na časť tri tejto série, Základy Komunikačný protokol I2C s cieľom dozvedieť sa o inom spôsobe komunikácie elektronických zariadení. Alebo ak ste to ešte neurobili, pozrite sa na prvú časť, Základy komunikačného protokolu SPI.

A ako vždy, dajte mi vedieť v komentároch, ak máte otázky alebo niečo ďalšie, čo chcete pridať! Ak sa vám tento článok páčil a chcete vidieť viac podobných, určite ho sledujte

S pozdravom

M. Junaid

Odporúča: