Turinys:

UART KOMUNIKACIJOS PAGRINDAI: 16 žingsnių
UART KOMUNIKACIJOS PAGRINDAI: 16 žingsnių

Video: UART KOMUNIKACIJOS PAGRINDAI: 16 žingsnių

Video: UART KOMUNIKACIJOS PAGRINDAI: 16 žingsnių
Video: #16 DT 06 WIFI Android Modbus HMI | Outseal Arduino PLC 2024, Liepa
Anonim
UART KOMUNIKACIJOS PAGRINDAI
UART KOMUNIKACIJOS PAGRINDAI

Prisimeni, kai spausdintuvai, pelės ir modemai turėjo storus kabelius su šiomis didžiulėmis griozdiškomis jungtimis? Tie, kuriuos tiesiogine prasme reikėjo įsukti į kompiuterį? Šie įrenginiai tikriausiai naudojo UART, kad galėtų bendrauti su kompiuteriu. Nors USB beveik visiškai pakeitė tuos senus kabelius ir jungtis, UART tikrai nėra praeitis. Rasite UART, naudojamų daugelyje „pasidaryk pats“elektronikos projektų, norint prijungti GPS modulius, „Bluetooth“modulius ir RFID kortelių skaitytuvo modulius prie „Raspberry Pi“, „Arduino“ar kitų mikrovaldiklių.

UART reiškia universalų asinchroninį imtuvą/siųstuvą. Tai nėra ryšio protokolas, toks kaip SPI ir I2C, bet fizinė grandinė mikrovaldiklyje arba atskiras IC. Pagrindinis UART tikslas yra perduoti ir gauti serijinius duomenis.

Vienas geriausių UART dalykų yra tai, kad jis naudoja tik du laidus duomenims perduoti tarp įrenginių. UART principai yra lengvai suprantami, tačiau jei neskaitėte pirmosios šios serijos dalies „SPI komunikacijos protokolo pagrindai“, tai gali būti gera vieta pradėti.

1 žingsnis: ĮVADAS Į UART KOMUNIKACIJĄ

UART komunikacijoje du UART tiesiogiai bendrauja tarpusavyje. Persiunčiantis UART paverčia lygiagrečius duomenis iš valdančiojo įrenginio, pavyzdžiui, CPU, į serijinę formą, serijiniu būdu perduoda juos priimančiam UART, kuris vėliau serijinius duomenis paverčia lygiagrečiais priimančiojo įrenginio duomenimis. Norint perduoti duomenis tarp dviejų UART, reikia tik dviejų laidų. Duomenys teka iš perduodančio UART Tx kaiščio į priimančio UART Rx kaištį:

2 veiksmas: Duomenų srautai iš perduodančio UART Tx kaiščio į priimančio UART Rx kaištį:

Duomenų srautai iš perduodančio UART Tx kaiščio į priimančio UART Rx kaištį
Duomenų srautai iš perduodančio UART Tx kaiščio į priimančio UART Rx kaištį

3 žingsnis:

UART perduoda duomenis asinchroniškai, o tai reiškia, kad nėra laikrodžio signalo, kuris sinchronizuotų bitų išėjimą iš siunčiančio UART į priimančio UART bitų atranką. Vietoj laikrodžio signalo, perduodantis UART prideda pradžios ir pabaigos bitus prie perduodamo duomenų paketo. Šie bitai apibrėžia duomenų paketo pradžią ir pabaigą, kad gaunantis UART žinotų, kada pradėti skaityti bitus.

Kai priimantis UART aptinka pradžios bitą, jis pradeda skaityti gaunamus bitus tam tikru dažniu, žinomu kaip duomenų perdavimo sparta. Baudų dažnis yra duomenų perdavimo greičio matas, išreikštas bitais per sekundę (bps). Abi UART turi veikti maždaug tuo pačiu duomenų perdavimo greičiu. Spartos greitis tarp perduodančių ir gaunančių UART gali skirtis tik apie 10%, kol bitų laikas nebus per toli.

4 žingsnis:

Vaizdas
Vaizdas

Abi UART taip pat turi būti sukonfigūruotos perduoti ir priimti tą pačią duomenų paketų struktūrą.

5 veiksmas: KAIP UART veikia

UART, kuris ketina perduoti duomenis, gauna duomenis iš duomenų magistralės. Duomenų magistralė naudojama duomenims siųsti į UART kitu įrenginiu, pavyzdžiui, procesoriumi, atmintimi ar mikrovaldikliu. Duomenys lygiagrečiai perduodami iš duomenų magistralės į perduodantį UART. Kai perduodantis UART gauna lygiagrečius duomenis iš duomenų magistralės, jis prideda pradžios bitą, pariteto bitą ir sustabdymo bitą, sukurdamas duomenų paketą. Tada duomenų paketas išvedamas nuosekliai, po truputį prie Tx kaiščio. Priimantis UART nuskaito duomenų paketą po truputį savo Rx kaiščiu. Priimantis UART konvertuoja duomenis atgal į lygiagrečią formą ir pašalina pradžios bitą, pariteto bitą ir sustabdymo bitus. Galiausiai gaunantis UART perduoda duomenų paketą lygiagrečiai duomenų magistralės priėmimo gale:

6 veiksmas: vaizdas, kaip veikia UART

Vaizdas Kaip veikia UART
Vaizdas Kaip veikia UART

7 žingsnis:

UART perduoti duomenys yra suskirstyti į paketus. Kiekviename pakete yra 1 pradžios bitas, nuo 5 iki 9 duomenų bitų (priklausomai nuo UART), pasirenkamas pariteto bitas ir 1 arba 2 sustojimo bitai:

8 veiksmas: UART perduodami duomenys yra suskirstyti į paketų vaizdą

UART perduodami duomenys yra suskirstyti į paketų vaizdą
UART perduodami duomenys yra suskirstyti į paketų vaizdą

9 veiksmas:

START BIT

UART duomenų perdavimo linija paprastai yra aukštos įtampos, kai ji neperduoda duomenų. Norėdami pradėti duomenų perdavimą, perduodantis UART vieną laikrodžio ciklą traukia perdavimo liniją nuo aukštos iki žemos. Kai priimantis UART aptinka perėjimą nuo aukštos iki žemos įtampos, jis pradeda skaityti duomenų rėmo bitus duomenų perdavimo spartos dažniu.

DUOMENŲ RĖMAS

Duomenų rėmelyje yra faktiniai perduodami duomenys. Jis gali būti nuo 5 iki 8 bitų ilgio, jei naudojamas pariteto bitas. Jei nenaudojamas pariteto bitas, duomenų rėmas gali būti 9 bitų ilgio. Daugeliu atvejų duomenys pirmiausia siunčiami su mažiausiai reikšmingu bitu.

PARITY

Paritetas apibūdina skaičiaus lygumą ar nelygumą. Pariteto bitas yra būdas gaunančiam UART pasakyti, ar perdavimo metu pasikeitė kokie nors duomenys. Bitus galima pakeisti dėl elektromagnetinės spinduliuotės, nesuderinamų duomenų perdavimo spartų ar tolimojo duomenų perdavimo. Gavęs UART perskaitęs duomenų rėmelį, jis suskaičiuoja bitų skaičių, kurio vertė yra 1, ir patikrina, ar jų skaičius yra lyginis ar nelyginis. Jei pariteto bitas yra 0 (lyginis paritetas), 1 bitas duomenų rėmelyje turėtų sudaryti lyginį skaičių. Jei pariteto bitas yra 1 (nelyginis paritetas), 1 bitų duomenų rėmelyje turėtų būti nelyginis skaičius. Kai pariteto bitas atitinka duomenis, UART žino, kad perdavimas buvo be klaidų. Bet jei pariteto bitas yra 0, o suma yra nelyginė; arba pariteto bitas yra 1, o suma yra lygi, UART žino, kad duomenų rėmo bitai pasikeitė.

STOP BITS

o signalizuoja apie duomenų paketo pabaigą, siunčiantis UART mažiausiai du bitus laiko duomenų perdavimo liniją nuo žemos įtampos iki aukštos.

10 veiksmas: UART PERDAVIMO ŽINGSNIAI

1. Perduodantis UART gauna duomenis lygiagrečiai iš duomenų magistralės:

11 veiksmas: vaizdų perdavimas UART gauna duomenis lygiagrečiai iš duomenų magistralės

Vaizdo perdavimas UART gauna duomenis lygiagrečiai iš duomenų magistralės
Vaizdo perdavimas UART gauna duomenis lygiagrečiai iš duomenų magistralės

12 veiksmas: 2. Perduodantis UART į duomenų rėmelį prideda pradžios bitą, pariteto bitą ir sustabdymo bitą (-us):

2. perduodantis UART į duomenų rėmelį prideda pradžios bitą, pariteto bitą ir sustabdymo bitą (-us)
2. perduodantis UART į duomenų rėmelį prideda pradžios bitą, pariteto bitą ir sustabdymo bitą (-us)

13 veiksmas: 3. Visas paketas siunčiamas nuosekliai nuo perduodančio UART iki gaunančio UART. priimantis UART mėginiai duomenų linija pagal iš anksto sukonfigūruotą Baud greitį:

3. Visas paketas siunčiamas nuosekliai nuo perduodančio UART iki gaunančio UART. priimantis UART mėginiai duomenų linija pagal iš anksto sukonfigūruotą Baud greitį
3. Visas paketas siunčiamas nuosekliai nuo perduodančio UART iki gaunančio UART. priimantis UART mėginiai duomenų linija pagal iš anksto sukonfigūruotą Baud greitį

14 veiksmas: 4. Priimantis UART pašalina pradžios bitą, pariteto bitą ir sustabdymo bitą iš duomenų rėmo:

4. Priimantis UART pašalina pradžios bitą, pariteto bitą ir sustabdymo bitą iš duomenų rėmo
4. Priimantis UART pašalina pradžios bitą, pariteto bitą ir sustabdymo bitą iš duomenų rėmo

15 veiksmas: 5. Priimantis UART konvertuoja serijinius duomenis į lygiagrečius ir perkelia juos į duomenų magistralę priėmimo pabaigoje:

5. Priimantis UART konvertuoja serijinius duomenis į lygiagrečius ir perkelia juos į duomenų magistralę priėmimo pabaigoje
5. Priimantis UART konvertuoja serijinius duomenis į lygiagrečius ir perkelia juos į duomenų magistralę priėmimo pabaigoje

16 žingsnis: UARTS pranašumai ir trūkumai

Joks ryšio protokolas nėra tobulas, tačiau UART puikiai išmano tai, ką daro. Štai keletas privalumų ir trūkumų, padedančių jums nuspręsti, ar jie atitinka jūsų projekto poreikius:

PRIVALUMAI

Naudoja tik du laidus Laikrodžio signalas nereikalingas Turi pariteto bitą, kad būtų galima patikrinti klaidas Duomenų paketo struktūrą galima keisti tol, kol abi pusės yra tam gerai paruoštos ir plačiai naudojamas metodas TRŪKUMAI

Duomenų rėmo dydis ribojamas iki 9 bitų. Nepalaiko kelių pavaldžių ar kelių pagrindinių sistemų. Kiekvienos UART perdavimo sparta turi būti ne didesnė kaip 10% viena nuo kitos. Tęskite prie šios serijos trečiosios dalies „Pagrindai“„I2C Communication Protocol“, kad sužinotumėte apie kitą elektroninių prietaisų bendravimo būdą. Arba, jei to dar nepadarėte, peržiūrėkite pirmąją dalį „SPI komunikacijos protokolo pagrindai“.

Ir kaip visada, praneškite man komentaruose, jei turite klausimų ar dar ką nors pridėti! Jei jums patiko šis straipsnis ir norite pamatyti daugiau panašių, būtinai sekite

Pagarbiai

M. Junaidas

Rekomenduojamas: