UART on levinud jadakommunikatsiooni meetod, mida kasutatakse paljudes manussüsteemides. See saadab andmeid bittide kaupa ilma jagatud kellajooneta, kasutades sobitatud seadeid sünkrooni säilitamiseks. Usaldusväärsed UART-ühendused sõltuvad õigest juhtmestusest, baudikiirusest, kaadriformaadist, pingetasetest ja signaali ajastusest. See artikkel annab teavet UART-i toimimise, ülesseadmise, kasutusviiside ja levinud probleemide kohta.

Universaalne asünkroonne vastuvõtja-saatja (UART) alused
UART tähendab universaalset asünkroonset vastuvõtja-saatjat. See on jadakommunikatsiooniliides, mis edastab andmeid bittide kaupa ühendatud seadmete vahel. UART-plokk on integreeritud paljudesse mikrokontrolleritesse, protsessoritesse, kommunikatsioonikiipidesse ja sisseehitatud moodulitesse. See teisendab paralleelandmed edastuse ajal jadavooluks ja teisendab saabuvad seriaalandmed tagasi baitideks vastuvõtu ajal. UART ei kasuta jagatud kellajoont. Selle asemel jäävad mõlemad seadmed sünkroniseerituks, kasutades sobivaid suhtlusseadeid ning tuvastades iga andmeraami alguse ja lõpu.
Põhjused, miks UART on endiselt levinud
• See kasutab vaid mõnda signaaliliine
• Otseseks suhtluseks on lihtne seadistada
• See on kaasatud paljudesse manusseadmetesse
• See toetab loetavat väljundit seriaalterminalide kaudu
Kuidas töötavad UART raamid ja ajastus?
UART-raami osad

| Raamielement | Funktsioon |
|---|---|
| Start bit | Tähistab kaadri algust |
| Andmebitid | Kanna saadetav väärtus |
| Pariteedibitt | Lisab lihtsa veakontrolli kasutamisel |
| Stop-bit | Tähistab kaadri lõppu |
| Tühiseisk | Hoiab liini kõrgel, kui andmeid ei saadeta |
Peamised UART seaded
| Keskkond | Mida see kontrollib |
|---|---|
| Baudi kiirus | Suhtluse kiirus |
| Andmebitid | Igas kaadris olevate väärtusbittide arv |
| Pariteet | Kas lisatakse pariteedikontroll |
| Stop-bitid | Kaadri lõpu formaat |
| Voolu juhtimine | Andmete tempo ühendatud seadmete vahel |
Baudi kiirus määrab, kui kiiresti bitid saadetakse. Kõrgemad baudikiirused suurendavad ülekandekiirust, kuid nõuavad täpsemat ajastust ja puhtamat signaaliteed. UART-i kommunikatsioon sõltub ka raami seadistuste sobitusest mõlemal poolel.
Tavalised Baudi määrad
| Baudi määr | Tüüpiline kasutus |
|---|---|
| 9600 | Põhiterminalid, lihtsad moodulid ja vanemad süsteemid |
| 19200–38400 | Keskmise kiirusega side |
| 57600 | Kiirem juhtimis- ja diagnostikaühendus |
| 115200 | Konsooli väljund ja silumine |
Kaadri pikkus ja andmete efektiivsus
Kaadri pikkus mõjutab, kui palju kasulikke andmeid igas ülekandes kantakse. Kaks UART-linki võivad kasutada sama baudi kiirust, kuid pakkuda siiski erinevat efektiivset andmeedastust, kui nende kaadriformaadid erinevad. Näiteks kasutavad 8N1 ja 7E1 erinevaid bittide arvu kaadri kohta, seega ei ole koormuse andmemaht kaadri kohta sama.
UART juhtmestik, pingetasemed ja voolujuhtimine

Põhiline UART-ühendus kasutab kolme peamist signaali: TX, RX ja GND. Ühe seadme TX-pinn ühendub teise seadme RX-tihvtiga ning mõlemad seadmed peavad jagama sama maandust, et signaalitasemed saaksid õigesti loetavad.
Paljud mikrokontrollerid ja moodulid kasutavad TTL või CMOS UART tasemeid, sageli 3,3 V või 5 V juures. Vanemad jadasüsteemid võivad kasutada RS-232, millel on erinev pingevahemik ja signalisatsioonimeetod, mistõttu see ei ühildu otseselt TTL UART-iga. Nende standardite ühendamisel kasutatakse tasemenihutavat saatjat.
Mõned UART-lingid kasutavad ka voohaldust, et vältida andmete kadumist, kui üks pool ei suuda saabuvaid baite piisavalt kiiresti vastu võtta.
UART-i põhilised juhtmestiku reeglid
• Ühe seadme TX ühendub teise seadme RX-iga
• Ühe seadme RX ühendub teise seadme TX-iga
• Maandus peab olema ühendatud mõlemalt poolt
UART elektristandardid
| Tüüp | Tüüpiline kasutus | Peamine punkt |
|---|---|---|
| TTL/CMOS UART | Mikrokontrollerid, moodulid, arendusplaadid | Kasutab loogikatasemel signaale, nagu 3,3 V või 5 V |
| RS-232 | Pärandseeria pordid, tööstuslingid, PC seriaalühendused | Kasutab erinevat pingevahemikku ja signalisatsioonikäitumist |
Levinumad voolukontrolli meetodid
• Riistvaraline voolujuhtimine kasutab RTS ja CTS liine
• Tarkvaraline voolujuhtimine kasutab XON ja XOFF märke
Riistvaraline voolujuhtimine kasutab andmevoogude haldamiseks eraldi juhtliine. Tarkvaraline voolujuhtimine vähendab juhtmete arvu, kuid kasutab andmevoos juhtmärke.
Kuidas UART töötab seadme sees?
Seadme sees sisaldab UART lisaseade mitut osa, mis haldavad andmete saatmist ja vastuvõtmist. Need osad sisaldavad sageli saatjasektsiooni, vastuvõtuosa, nihutusregistreid, olekulippe ja FIFO puhvreid. Kui andmed saadetakse, paigutab tarkvara UART-i baidi ning riistvara lisab start-bitti, valikulise pariteedibiti ja stop-biti enne täiskaadri saatmist TX liini kaudu.
Kui andmed on saadud, jälgib UART RX-liini, et leida kehtivat algusbitti. Seejärel proovib see signaali õigel ajal, ehitab baidi uuesti üles, kontrollib kaadriformaati ja salvestab andmed, et tarkvara saaks neid hiljem lugeda.
UART-i perifeerseadmed edastavad samuti oleku- ja veatingimusi, samas kui FIFO puhvrid hoiavad mitut baiti, et vähendada andmete puudumist, kui tarkvara ei reageeri kohe.
Levinud UART staatus ja veamärgid
• Edasta puhver tühi
• Vastuvõtupuhver täis
• Pariteediviga
• Raamimisviga
• Ülejooksu viga
UART-i levinud kasutusalad manussüsteemides
• Seeriaterminali silumine
• Suhtlus mikrokontrolleri ja mooduli vahel
• Bootloader ja püsivara uuenduse lingid
• Lihtsad käskude ja vastuse liidesed
• Andmete logimine ja diagnostika
• Manustatud plaadi konsooli ligipääs
UART-i seadistus, testimine ja tõrkeotsing
UART-ühenduse seadistamine algab ühilduvate kommunikatsiooniseadete ja signaalitasemete valimisest. Testimine aitab kinnitada, et ühendus on korrektselt ühendatud, õigesti seadistatud ja saadab kehtivaid andmeraame.
Lingi planeerimine ja seadme konfiguratsioon
Vali enne ühenduse tegemist baudi kiirus, kaadri formaat, pingestandard ja voolukontrolli meetod. Seejärel luba UART riistvara tarkvaras ja seadista vajalikud puhvrid või FIFO seaded. Taktsageduse täpsus, kaabli kvaliteet ja oodatav andmeedastuskiirus mõjutavad samuti lingi jõudlust.
Kommunikatsiooni valideerimine
Kontrolli linki, saates teadaoleva andmemustri või loetava teksti. Jadaterminal, USB-UART adapter, loogikaanalüsaator või ostsilloskoop aitavad kinnitada, et kaadrid on kehtivad ja liin püsib õiges tühikäigus edastuste vahel.
UART probleemijuhend
| Sümptomid | Tõenäoline põhjus |
|---|---|
| Juhuslikud või loetamatud märgid | Vale baudi kiirus või kaadriseaded |
| Andmeid ei saadud | TX/RX tagurpidi, maandus puudub, UART on välja lülitatud, vale pingetase |
| Vahelduvad vead | Müra, pikk juhtmestik, ajastuse sobimatus |
| Raamimis- või pariteedivead | Halvad seaded või halb signaali kvaliteet |
| Kadunud baitid purskete ajal | Ülekoormus, nõrk puhverdamine, voolukontrolli puudumine |
Tõrkeotsingud
• Veendu, et TX ja RX on õigesti ristatud
• Veendu, et mõlemad pooled jagavad sama maad
• Kontrollida baudi kiirust ja kaadri formaati mõlemal otsal
• Kontrolli, kas signaalitasemed on TTL/CMOS või RS-232
• Baudi kiiruse vähendamine, kui kahtlustatakse ajastusviga või müra
• Vaata üle UART veamärgid tarkvaras
• Testimine tuntud heade terminalitööriistade või adapteritega
UART, SPI ja I2C võrdlus

UART, SPI ja I2C on levinud järjestikuse suhtluse meetodid, kuid need toimivad erinevalt. UART kasutab otsest ühendust kahe seadme vahel ega vaja kellaliini. SPI kasutab kiiremaks suhtluseks kella ja eraldi andmeteid. I2C kasutab samuti kella, kuid võimaldab mitmel seadmel jagada sama bussi sisseehitatud aadressimise kaudu.
Liidese võrdlus
| Funktsioon | UART | SPI | I2C |
|---|---|---|---|
| Kellajoon | Ei | Jah | Jah |
| Tüüpiline topoloogia | Punktist punkti | Kontroller-perifeerne seade | Jagatud buss |
| Keerukus | Madal | Mõõdukas | Mõõdukas |
| Sisseehitatud aadressimine | Ei | Ei | Jah |
| Ühine tugevus | Lihtsus | Kiirus | Vähem juhtmeid paljudele seadmetele |
UART sobib lihtsate, otseste ühenduste ja terminalijuurdepääsuga. SPI sobib kiiremaks suhtluseks. I2C sobib olukordadesse, kus mitu seadet jagavad ühte bussi vähemate signaaliliinidega.
Kokkuvõte
UART on endiselt kasutusel, kuna pakub lihtsat ja otsest suhtlust madala riistvaralise keerukusega. Selle jõudlus sõltub sobitatud seadistustest, õigest TX ja RX juhtmestikust, jagatud maandusest, ühilduvatest pingetasemetest ning ajastuse, puhverdamise ja vealippude nõuetekohasest käsitlemisest. Raami struktuuri, baudikiiruse, voolukontrolli ja levinud rikete põhjuste mõistmine aitab selgitada, miks UART-lingid ebaõnnestuvad ja kuidas stabiilne suhtlus manussüsteemides säilib.
Korduma kippuvad küsimused [KKK]
Kas UART saab saata ja vastu võtta samaaegselt?
Jah. UART toetab täisdupleksühendust, nii et see saab saata andmeid TX-is ja samal ajal vastuvõtta RX-is.
Mida tähendab 8N1 UART-is?
8N1 tähendab 8 andmebitti, pole pariteeti ja 1 stop-bitti.
Kas UART saab ühendada mitme seadmega?
Mitte otseselt. UART on peamiselt mõeldud üks-ühele suhtluseks ega sisalda sisseehitatud aadressimist.
Kas baudi kiirus on sama mis UART-is?
Tavalises UART-is jah. Neid käsitletakse samamoodi, sest iga sümbol kannab ühte bitti.
Miks kasutada USB-UART adapterit?
See võimaldab arvutil suhelda UART-liidesega USB kaudu.
Kas UART sisaldab krüpteerimist või täpsemat veaparandust?
Ei. UART ei sisalda iseseisvalt krüpteerimist ega täpset veaparandust.