Cuprins:

BAZELE COMUNICĂRII UART: 16 pași
BAZELE COMUNICĂRII UART: 16 pași

Video: BAZELE COMUNICĂRII UART: 16 pași

Video: BAZELE COMUNICĂRII UART: 16 pași
Video: SAIP, curs 7- ADC cu aproximatii succesive si transmisia prin UART 2024, Noiembrie
Anonim
BAZELE COMUNICĂRII UART
BAZELE COMUNICĂRII UART

Vă amintiți când imprimantele, șoarecii și modemurile aveau cabluri groase cu acei conectori uriași? Cele care trebuiau literalmente înșurubate în computer? Aceste dispozitive foloseau probabil UART-uri pentru a comunica cu computerul dvs. În timp ce USB-ul a înlocuit aproape complet acele cabluri și conectori vechi, UART-urile nu sunt cu siguranță un lucru din trecut. Veți găsi că UART-urile sunt utilizate în multe proiecte electronice DIY pentru a conecta module GPS, module Bluetooth și module de citire a cardurilor RFID la Raspberry Pi, Arduino sau alte microcontrolere.

UART înseamnă Receptor / Transmițător Universal Asincron. Nu este un protocol de comunicație precum SPI și I2C, ci un circuit fizic într-un microcontroler sau un IC de sine stătător. Scopul principal al UART este de a transmite și primi date seriale.

Unul dintre cele mai bune lucruri despre UART este că folosește doar două fire pentru a transmite date între dispozitive. Principiile din spatele UART sunt ușor de înțeles, dar dacă nu ați citit prima parte a acestei serii, Bazele protocolului de comunicare SPI, ar putea fi un loc bun pentru a începe.

Pasul 1: INTRODUCERE ÎN COMUNICAREA UART

În comunicarea UART, două UART comunică direct între ele. UART-ul care transmite convertește datele paralele de la un dispozitiv de control, cum ar fi un procesor, în formă serială, le transmite în serie către UART-ul de recepție, care apoi convertește datele seriale înapoi în date paralele pentru dispozitivul de recepție. Sunt necesare doar două fire pentru a transmite date între două UART-uri. Fluxurile de date de la pinul Tx al UART-ului de transmisie la pinul Rx al UART-ului receptor:

Pasul 2: Fluxuri de date de la pinul Tx al UART-ului de transmisie la pinul Rx al UART-ului de recepție:

Fluxuri de date de la pinul TX al UART-ului de transmisie la pinul Rx al UART-ului de recepție
Fluxuri de date de la pinul TX al UART-ului de transmisie la pinul Rx al UART-ului de recepție

Pasul 3:

UART-urile transmit date în mod asincron, ceea ce înseamnă că nu există semnal de ceas care să sincronizeze ieșirea de biți de la UART-ul de transmisie la eșantionarea de biți de către UART-ul receptor. În locul unui semnal de ceas, UART-ul care transmite adaugă biți de pornire și oprire la pachetul de date transferat. Acești biți definesc începutul și sfârșitul pachetului de date, astfel încât UART-ul care primește știe când începe să citească biții.

Când UART-ul de recepție detectează un bit de pornire, acesta începe să citească biții de intrare la o frecvență specifică cunoscută sub denumirea de baud rate. Rata de transmisie este o măsură a vitezei de transfer a datelor, exprimată în biți pe secundă (bps). Ambele UART trebuie să funcționeze la aproximativ aceeași rată de transmisie. Rata de transmisie între UART-uri de transmisie și recepție poate diferi doar cu aproximativ 10% înainte ca timpul de biți să fie prea departe.

Pasul 4:

Imagine
Imagine

Ambele UART trebuie, de asemenea, să fie configurate pentru a transmite și primi aceeași structură de pachete de date.

Pasul 5: CUM FUNCȚIONEAZĂ UART

UART-ul care va transmite date primește datele de la o magistrală de date. Magistrala de date este utilizată pentru a trimite date către UART de către un alt dispozitiv, cum ar fi un procesor, memorie sau microcontroler. Datele sunt transferate din magistrala de date către UART-ul de transmisie în formă paralelă. După ce UART care transmite obține datele paralele din magistrala de date, adaugă un bit de pornire, un bit de paritate și un bit de oprire, creând pachetul de date. Apoi, pachetul de date este afișat în serie, bit cu bit la pinul Tx. UART-ul de recepție citește pachetul de date bit cu bit la pinul său Rx. UART-ul de recepție convertește apoi datele înapoi în formă paralelă și elimină bitul de început, bitul de paritate și biții de oprire. În cele din urmă, UART-ul de recepție transferă pachetul de date în paralel cu magistrala de date de pe capătul de recepție:

Pasul 6: imagine Cum funcționează UART

Imagine Cum funcționează UART
Imagine Cum funcționează UART

Pasul 7:

Datele transmise de UART sunt organizate în pachete. Fiecare pachet conține 1 bit de pornire, 5 până la 9 biți de date (în funcție de UART), un bit de paritate opțional și 1 sau 2 biți de oprire:

Pasul 8: Datele transmise UART sunt organizate în imaginea pachetelor

Datele transmise UART sunt organizate în imaginea pachetelor
Datele transmise UART sunt organizate în imaginea pachetelor

Pasul 9:

START BIT

Linia de transmisie a datelor UART este menținută în mod normal la un nivel ridicat de tensiune atunci când nu transmite date. Pentru a începe transferul de date, UART-ul care transmite trage linia de transmisie de la mare la scăzut pentru un ciclu de ceas. Când UART-ul receptor recepționează tranziția de înaltă la joasă tensiune, începe să citească biții din cadrul de date la frecvența ratei de transmisie.

CADRU DE DATE

Cadrul de date conține datele reale transferate. Poate avea 5 biți până la 8 biți dacă este utilizat un bit de paritate. Dacă nu se utilizează niciun bit de paritate, cadrul de date poate avea o lungime de 9 biți. În majoritatea cazurilor, datele sunt trimise mai întâi cu cel mai puțin semnificativ bit.

PARITATE

Paritatea descrie uniformitatea sau ciudățenia unui număr. Bitul de paritate este o modalitate prin care UART de recepție poate spune dacă s-au schimbat date în timpul transmiterii. Biții pot fi schimbați prin radiații electromagnetice, rate de transmisie necorespunzătoare sau transferuri de date pe distanțe lungi. După ce UART-ul de recepție citește cadrul de date, acesta numără numărul de biți cu valoarea 1 și verifică dacă totalul este un număr par sau impar. Dacă bitul de paritate este 0 (paritate pară), cei 1 biți din cadrul de date ar trebui să însumeze un număr par. Dacă bitul de paritate este 1 (paritate impar), cei 1 biți din cadrul de date ar trebui să însumeze un număr impar. Când bitul de paritate se potrivește cu datele, UART știe că transmisia a fost lipsită de erori. Dar dacă bitul de paritate este 0, iar totalul este impar; sau bitul de paritate este 1, iar totalul este egal, UART știe că biții din cadrul de date s-au schimbat.

STOP BITS

o semnalează sfârșitul pachetului de date, UART-ul care transmite conduce linia de transmisie a datelor de la o tensiune joasă la o tensiune înaltă pentru cel puțin doi biți de durată.

Pasul 10: ETAPELE TRANSMISIEI UART

1. UART-ul care transmite primește date în paralel de la magistrala de date:

Pasul 11: UART care transmite imagini primește date în paralel din magistrala de date

Transmiterea imaginilor UART primește date în paralel din magistrala de date
Transmiterea imaginilor UART primește date în paralel din magistrala de date

Pasul 12: 2. UART-ul de transmisie adaugă bitul de pornire, bitul de paritate și bitul (bitii) de oprire în cadrul de date:

2. UART-ul de transmisie adaugă bitul de pornire, bitul de paritate și bitul (bitii) de oprire în cadrul de date
2. UART-ul de transmisie adaugă bitul de pornire, bitul de paritate și bitul (bitii) de oprire în cadrul de date

Pasul 13: 3. Întregul pachet este trimis în serie de la UART care transmite la UART de recepție. UART-ul de primire eșantionează linia de date la rata de transmisie preconfigurată:

3. întregul pachet este trimis în serie de la UART care transmite la UART de recepție. UART-ul de recepție eșantionează linia de date la rata de transmisie preconfigurată
3. întregul pachet este trimis în serie de la UART care transmite la UART de recepție. UART-ul de recepție eșantionează linia de date la rata de transmisie preconfigurată

Pasul 14: 4. UART-ul de primire renunță la bitul de pornire, bitul de paritate și bitul de oprire din cadrul de date:

4. UART-ul de primire renunță la bitul de pornire, bitul de paritate și bitul de oprire din cadrul de date
4. UART-ul de primire renunță la bitul de pornire, bitul de paritate și bitul de oprire din cadrul de date

Pasul 15: 5. UART-ul de recepție convertește datele seriale înapoi în paralel și le transferă la magistrala de date de la capătul de recepție:

5. UART-ul de recepție convertește datele seriale înapoi în paralel și le transferă la magistrala de date de la capătul de recepție
5. UART-ul de recepție convertește datele seriale înapoi în paralel și le transferă la magistrala de date de la capătul de recepție

Pasul 16: AVANTAJE ȘI DEZVANTAJE A UARTS

Niciun protocol de comunicare nu este perfect, dar UART-urile sunt destul de bune în ceea ce fac. Iată câteva argumente pro și contra pentru a vă ajuta să decideți dacă se potrivesc sau nu nevoilor proiectului dumneavoastră:

AVANTAJE

Folosește doar două fire Nu este necesar un semnal de ceas Are un bit de paritate pentru a permite verificarea erorilor Structura pachetului de date poate fi modificată atâta timp cât ambele părți sunt configurate pentru acesta Metodă bine documentată și larg utilizată DEZVANTAȚI

Dimensiunea cadrului de date este limitată la maximum 9 biți Protocol de comunicare I2C pentru a afla despre un alt mod de comunicare a dispozitivelor electronice. Sau dacă nu ați făcut-o deja, consultați prima parte, Bazele protocolului de comunicare SPI.

Și ca întotdeauna, anunțați-mă în comentarii dacă aveți întrebări sau orice altceva de adăugat! Dacă ți-a plăcut acest articol și vrei să vezi mai multe ca acesta, asigură-te că urmărești

Salutari

M. Junaid

Recomandat: