Innholdsfortegnelse:

GRUNNLEGG FOR UART -KOMMUNIKASJON: 16 trinn
GRUNNLEGG FOR UART -KOMMUNIKASJON: 16 trinn

Video: GRUNNLEGG FOR UART -KOMMUNIKASJON: 16 trinn

Video: GRUNNLEGG FOR UART -KOMMUNIKASJON: 16 trinn
Video: BigTreeTech - SKR 3 - TMC2208 UART 2024, November
Anonim
GRUNNLEGG FOR UART -KOMMUNIKASJON
GRUNNLEGG FOR UART -KOMMUNIKASJON

Husker du da skrivere, mus og modemer hadde tykke kabler med de enorme klumpete kontaktene? De som bokstavelig talt måtte skrues inn i datamaskinen din? Disse enhetene brukte sannsynligvis UART for å kommunisere med datamaskinen din. Selv om USB nesten helt har erstattet de gamle kablene og kontaktene, er UART definitivt ikke fortid. Du finner UARTer som brukes i mange DIY -elektronikkprosjekter for å koble GPS -moduler, Bluetooth -moduler og RFID -kortlesermoduler til Raspberry Pi, Arduino eller andre mikrokontrollere.

UART står for Universal asynkron mottaker/sender. Det er ikke en kommunikasjonsprotokoll som SPI og I2C, men en fysisk krets i en mikrokontroller eller en frittstående IC. A UARTs hovedformål er å overføre og motta serielle data.

En av de beste tingene med UART er at den bare bruker to ledninger for å overføre data mellom enheter. Prinsippene bak UART er enkle å forstå, men hvis du ikke har lest del en av denne serien, Grunnleggende om SPI -kommunikasjonsprotokollen, kan det være et godt sted å begynne.

Trinn 1: INNLEDNING TIL UART -KOMMUNIKASJON

I UART -kommunikasjon kommuniserer to UARTer direkte med hverandre. Den overførende UART konverterer parallelle data fra en kontrollenhet som en CPU til serieform, overfører den i serie til den mottakende UART, som deretter konverterer serielle data tilbake til parallelle data for den mottakende enheten. Bare to ledninger trengs for å overføre data mellom to UART -er. Data flyter fra Tx -pinnen til den sendende UART til Rx -pinnen til den mottakende UART:

Trinn 2: Datastrømmer fra Tx -pinnen til den sendende UART til Rx -pinnen til den mottakende UART:

Datastrømmer fra Tx -pinnen til den overførende UART til Rx -pinnen til den mottakende UART
Datastrømmer fra Tx -pinnen til den overførende UART til Rx -pinnen til den mottakende UART

Trinn 3:

UART overfører data asynkront, noe som betyr at det ikke er noe klokkesignal for å synkronisere utdataene fra biter fra den sendende UART til samplingen av biter av den mottakende UART. I stedet for et klokkesignal, legger den sendende UART til start- og stoppbiter til datapakken som overføres. Disse bitene definerer begynnelsen og slutten av datapakken, slik at den mottakende UART vet når den skal begynne å lese bitene.

Når den mottakende UART oppdager en startbit, begynner den å lese de innkommende bitene med en bestemt frekvens kjent som baudhastigheten. Overføringshastighet er et mål på hastigheten på dataoverføring, uttrykt i bits per sekund (bps). Begge UART må operere med omtrent samme overføringshastighet. Overføringshastigheten mellom sendende og mottakende UART kan bare variere med omtrent 10% før timingen av biter blir for langt unna.

Trinn 4:

Bilde
Bilde

Begge UART må også konfigureres til å overføre og motta den samme datapakkestrukturen.

Trinn 5: Slik fungerer UART

UART som skal overføre data mottar dataene fra en databuss. Databussen brukes til å sende data til UART av en annen enhet som en CPU, minne eller mikrokontroller. Data overføres fra databussen til den overførende UART i parallell form. Etter at den sendende UART får parallelle data fra databussen, legger den til en startbit, en paritetsbit og en stoppbit, og oppretter datapakken. Deretter sendes datapakken serielt ut, bit for bit ved Tx -pinnen. Den mottakende UART leser datapakken bit for bit ved sin Rx -pin. Den mottakende UART konverterer deretter dataene tilbake til parallellform og fjerner startbiten, paritetsbiten og stoppbiter. Til slutt overfører den mottakende UART datapakken parallelt med databussen i mottakerenden:

Trinn 6: Bilde hvordan UART fungerer

Bilde Hvordan UART fungerer
Bilde Hvordan UART fungerer

Trinn 7:

UART -overførte data er organisert i pakker. Hver pakke inneholder 1 startbit, 5 til 9 databiter (avhengig av UART), en valgfri paritetsbit og 1 eller 2 stoppbiter:

Trinn 8: UART -overførte data er organisert i et pakkebilde

UART -overførte data er organisert i bilde av pakker
UART -overførte data er organisert i bilde av pakker

Trinn 9:

START BIT

UART -dataoverføringslinjen holdes normalt på et høyt spenningsnivå når den ikke overfører data. For å starte overføringen av data, trekker den overførende UART overføringslinjen fra høy til lav i en klokkesyklus. Når den mottakende UART oppdager overgang til høy til lav spenning, begynner den å lese bitene i datarammen med frekvensen av overføringshastigheten.

DATARAMME

Datarammen inneholder de faktiske dataene som overføres. Den kan være 5 bits opptil 8 bits lang hvis en paritetsbit brukes. Hvis ingen paritetsbit brukes, kan datarammen være 9 bits lang. I de fleste tilfeller blir dataene sendt med den minst signifikante biten først.

PARITET

Paritet beskriver likheten eller oddnessen til et tall. Paritetsbiten er en måte for den mottakende UART å fortelle om noen data har endret seg under overføring. Bitene kan endres ved elektromagnetisk stråling, feiloverføringshastigheter eller dataoverføringer over lange avstander. Etter at den mottakende UART leser datarammen, teller den antall biter med verdien 1 og sjekker om totalen er et partall eller oddetall. Hvis paritetsbiten er en 0 (jevn paritet), bør de 1 bitene i datarammen være et partall. Hvis paritetsbiten er en 1 (oddsparitet), bør de 1 bitene i datarammen være et oddetall. Når paritetsbiten samsvarer med dataene, vet UART at overføringen var fri for feil. Men hvis paritetsbiten er 0, og summen er odd; eller paritetsbiten er en 1, og totalen er jevn, UART vet at biter i datarammen har endret seg.

STOPP BITS

o signalisere slutten av datapakken, sender den sendende UART dataoverføringslinjen fra en lav spenning til en høy spenning i minst to biters varighet.

Trinn 10: TRINN AV UART -TRANSMISJON

1. Den overførende UART mottar data parallelt fra databussen:

Trinn 11: Bildeoverføring av UART mottar data parallelt fra databussen

Bildeoverføring av UART mottar data parallelt fra databussen
Bildeoverføring av UART mottar data parallelt fra databussen

Trinn 12: 2. Sendende UART legger til startbiten, paritetsbiten og stoppbiten (e) i datarammen:

2. Sendende UART legger til startbiten, paritetsbiten og stoppbiten (e) i datarammen
2. Sendende UART legger til startbiten, paritetsbiten og stoppbiten (e) i datarammen

Trinn 13: 3. Hele pakken blir sendt serielt fra den overførende UART til den mottakende UART. den mottakende UART sampler datalinjen med den forhåndskonfigurerte baudhastigheten:

3. Hele pakken blir sendt serielt fra den overførende UART til den mottakende UART. den mottakende UART sampler datalinjen med den forhåndskonfigurerte baudhastigheten
3. Hele pakken blir sendt serielt fra den overførende UART til den mottakende UART. den mottakende UART sampler datalinjen med den forhåndskonfigurerte baudhastigheten

Trinn 14: 4. mottakende UART forkaster startbiten, paritetsbiten og stoppbiten fra datarammen:

4. mottakende UART forkaster startbiten, paritetsbiten og stoppbiten fra datarammen
4. mottakende UART forkaster startbiten, paritetsbiten og stoppbiten fra datarammen

Trinn 15: 5. Mottakende UART konverterer serielle data tilbake til parallell og overfører dem til databussen på mottakerenden:

5. mottaker -UART konverterer serielle data tilbake til parallell og overfører dem til databussen i mottakerenden
5. mottaker -UART konverterer serielle data tilbake til parallell og overfører dem til databussen i mottakerenden

Trinn 16: FORDELER OG FORDELER MED UARTS

Ingen kommunikasjonsprotokoll er perfekt, men UART er ganske gode på det de gjør. Her er noen fordeler og ulemper som hjelper deg å avgjøre om de passer til prosjektets behov eller ikke:

FORDELER

Bruker bare to ledninger Ingen klokkesignal er nødvendig Har en paritetsbit for å muliggjøre feilkontroll Datapakkens struktur kan endres så lenge begge sider er konfigurert for det. Vel dokumentert og mye brukt metode UDELER

Størrelsen på datarammen er begrenset til maksimalt 9 bits Støtter ikke flere slave- eller flere master -systemer Baud -hastighetene for hver UART må være innenfor 10% av hverandre Fortsett til del tre av denne serien, Grunnleggende om I2C Communication Protocol for å lære om en annen måte elektroniske enheter kommuniserer på. Eller hvis du ikke allerede har gjort det, sjekk ut del ett, Grunnleggende om SPI -kommunikasjonsprotokollen.

Og som alltid, gi meg beskjed i kommentarene hvis du har spørsmål eller noe annet å legge til! Hvis du likte denne artikkelen og vil se mer som den, må du følge med

Hilsen

M. Junaid

Anbefalt: