Indholdsfortegnelse:

GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: 16 trin
GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: 16 trin

Video: GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: 16 trin

Video: GRUNDLÆGGENDE FOR UART -KOMMUNIKATION: 16 trin
Video: How to use UART COMMUNICATON IN PIC16F877A- Tutorial 2024, Juli
Anonim
GRUNDLÆGGENDE FOR UART -KOMMUNIKATION
GRUNDLÆGGENDE FOR UART -KOMMUNIKATION

Kan du huske, da printere, mus og modemer havde tykke kabler med de enorme klodset stik? Dem der bogstaveligt talt skulle skrues ind i din computer? Disse enheder brugte sandsynligvis UART'er til at kommunikere med din computer. Selvom USB næsten helt har erstattet de gamle kabler og stik, er UART'er bestemt ikke fortid. Du finder UART'er, der bruges i mange DIY -elektronikprojekter til at forbinde GPS -moduler, Bluetooth -moduler og RFID -kortlæsermoduler til din Raspberry Pi, Arduino eller andre mikrokontroller.

UART står for Universal Asynchronous Receiver/Transmitter. Det er ikke en kommunikationsprotokol som SPI og I2C, men et fysisk kredsløb i en mikrokontroller eller en enkeltstående IC. A UARTs hovedformål er at overføre og modtage serielle data.

En af de bedste ting ved UART er, at den kun bruger to ledninger til at overføre data mellem enheder. Principperne bag UART er lette at forstå, men hvis du ikke har læst del et af denne serie, Basics of the SPI Communication Protocol, kan det være et godt sted at starte.

Trin 1: INTRODUKTION TIL UART -KOMMUNIKATION

I UART -kommunikation kommunikerer to UART'er direkte med hinanden. Den transmitterende UART konverterer parallelle data fra en styreenhed som en CPU til seriel form, sender den i serie til den modtagende UART, som derefter konverterer de serielle data tilbage til parallelle data for den modtagende enhed. Kun to ledninger er nødvendige for at overføre data mellem to UART'er. Data flyder fra Tx -stiften på den transmitterende UART til Rx -stiften i den modtagende UART:

Trin 2: Datastrømme fra Tx -pin i den transmitterende UART til Rx -pin i den modtagende UART:

Datastrømme fra Tx -pin i den transmitterende UART til Rx -pin i den modtagende UART
Datastrømme fra Tx -pin i den transmitterende UART til Rx -pin i den modtagende UART

Trin 3:

UARTs overfører data asynkront, hvilket betyder, at der ikke er noget kloksignal til at synkronisere output fra bits fra den transmitterende UART til sampling af bits af den modtagende UART. I stedet for et kloksignal tilføjer den transmitterende UART start- og stopbits til datapakken, der overføres. Disse bits definerer begyndelsen og slutningen af datapakken, så den modtagende UART ved, hvornår bitene skal begynde at læse.

Når den modtagende UART registrerer en startbit, begynder den at læse de indgående bits med en bestemt frekvens, kendt som baudhastigheden. Overførselshastighed er et mål for hastigheden af dataoverførsel, udtrykt i bits pr. Sekund (bps). Begge UART'er skal fungere med omtrent samme baudhastighed. Overførselshastigheden mellem de transmitterende og modtagende UART'er kan kun variere med ca. 10%, før timingen af bits kommer for langt væk.

Trin 4:

Billede
Billede

Begge UART'er skal også konfigureres til at sende og modtage den samme datapakkestruktur.

Trin 5: SÅDAN UART VIRKER

UART'en, der skal overføre data, modtager dataene fra en databus. Databussen bruges til at sende data til UART af en anden enhed som en CPU, hukommelse eller mikrokontroller. Data overføres fra databussen til den transmitterende UART i parallel form. Efter at den transmitterende UART får parallelle data fra databussen, tilføjer den en startbit, en paritetsbit og en stopbit, hvilket skaber datapakken. Derefter udsendes datapakken serielt, bit for bit ved Tx -stiften. Den modtagende UART læser datapakken bit for bit ved sin Rx -pin. Den modtagende UART konverterer derefter dataene tilbage til parallel form og fjerner startbit, paritetsbit og stopbit. Endelig overfører den modtagende UART datapakken parallelt med databussen i den modtagende ende:

Trin 6: Billede, hvordan UART fungerer

Billede Sådan fungerer UART
Billede Sådan fungerer UART

Trin 7:

UART -transmitterede data er organiseret i pakker. Hver pakke indeholder 1 startbit, 5 til 9 databit (afhængigt af UART), en valgfri paritetsbit og 1 eller 2 stopbit:

Trin 8: UART -transmitterede data er organiseret i billedpakker

UART -transmitterede data er organiseret i billedpakker
UART -transmitterede data er organiseret i billedpakker

Trin 9:

START BIT

UART -datatransmissionslinjen holdes normalt på et højspændingsniveau, når den ikke sender data. For at starte overførslen af data trækker den transmitterende UART transmissionslinjen fra høj til lav i en urcyklus. Når den modtagende UART registrerer høj- til lavspændingsovergangen, begynder den at læse bitene i datarammen med frekvensen af baudhastigheden.

DATARAMME

Datarammen indeholder de faktiske data, der overføres. Den kan være 5 bit op til 8 bit lang, hvis der bruges en paritetsbit. Hvis der ikke bruges nogen paritetsbit, kan datarammen være 9 bit lang. I de fleste tilfælde sendes dataene med den mindst betydende bit først.

PARITET

Paritet beskriver et tals lighed eller ulighed. Paritetsbitten er en måde for den modtagende UART at fortælle, om der er ændret data under transmissionen. Bits kan ændres ved elektromagnetisk stråling, uoverensstemmende baudhastigheder eller dataoverførsler over lange afstande. Efter at den modtagende UART har læst datarammen, tæller den antallet af bits med værdien 1 og kontrollerer, om totalen er et lige eller ulige tal. Hvis paritetsbitten er en 0 (lige paritet), skal de 1 bits i datarammen udgøre et lige antal. Hvis paritetsbitten er en 1 (ulige paritet), skal de 1 bits i datarammen udgøre et ulige tal. Når paritetsbiten matcher dataene, ved UART, at transmissionen var fri for fejl. Men hvis paritetsbitten er et 0, og totalen er ulige; eller paritetsbitten er en 1, og totalen er lige, UART ved, at bits i datarammen er ændret.

STOP BITS

o signalerer slutningen af datapakken, den afsendende UART driver datatransmissionslinjen fra en lav spænding til en høj spænding i mindst to bit -varigheder.

Trin 10: TRIN AF UART -TRANSMISSION

1. Den transmitterende UART modtager data parallelt fra databussen:

Trin 11: Billedoverførsel UART modtager data parallelt fra databussen

Billedoverførsel UART modtager data parallelt fra databussen
Billedoverførsel UART modtager data parallelt fra databussen

Trin 12: 2. Transmitterende UART tilføjer startbit, paritetsbit og stopbit (er) til datarammen:

2. Transmitterende UART tilføjer startbit, paritetsbit og stopbit (er) til datarammen
2. Transmitterende UART tilføjer startbit, paritetsbit og stopbit (er) til datarammen

Trin 13: 3. Hele pakken sendes serielt fra den transmitterende UART til den modtagende UART. den modtagende UART sampler datalinjen med den forudkonfigurerede baudrate:

3. Hele pakken sendes serielt fra den transmitterende UART til den modtagende UART. den modtagende UART sampler datalinjen med den forudkonfigurerede baudhastighed
3. Hele pakken sendes serielt fra den transmitterende UART til den modtagende UART. den modtagende UART sampler datalinjen med den forudkonfigurerede baudhastighed

Trin 14: 4. Den modtagende UART kasserer startbit, paritetsbit og stopbit fra datarammen:

4. den modtagende UART kasserer startbit, paritetsbit og stopbit fra datarammen
4. den modtagende UART kasserer startbit, paritetsbit og stopbit fra datarammen

Trin 15: 5. den modtagende UART konverterer serielle data tilbage til parallel og overfører dem til databussen i den modtagende ende:

5. den modtagende UART konverterer serielle data tilbage til parallel og overfører dem til databussen i den modtagende ende
5. den modtagende UART konverterer serielle data tilbage til parallel og overfører dem til databussen i den modtagende ende

Trin 16: FORDELE OG FORDELE MED UARTS

Ingen kommunikationsprotokol er perfekt, men UART'er er ret gode til det, de laver. Her er nogle fordele og ulemper, der hjælper dig med at beslutte, om de passer til dit projekts behov eller ej:

FORDELE

Bruger kun to ledninger Intet kloksignal er nødvendigt Har en paritetsbit for at muliggøre fejlkontrol Datapakkens struktur kan ændres, så længe begge sider er konfigureret til det veldokumenteret og meget udbredt metode UDELE

Datarammens størrelse er begrænset til maksimalt 9 bits Understøtter ikke flere slave- eller flere master -systemer Baudhastighederne for hver UART skal være inden for 10% af hinanden Fortsæt til del tre af denne serie, Grundlæggende om I2C Communication Protocol for at lære om en anden måde, hvorpå elektroniske enheder kommunikerer. Eller hvis du ikke allerede har gjort det, så tjek del et, Grundlæggende om SPI -kommunikationsprotokollen.

Og som altid, lad mig vide det i kommentarerne, hvis du har spørgsmål eller andet at tilføje! Hvis du kunne lide denne artikel og vil se mere som den, skal du følge med

Hilsen

M. Junaid

Anbefalede: