Az UART egy gyakori soros kommunikációs módszer, amelyet sok beágyazott rendszerben használnak. Bitként küld adatokat osztott órajelvonal nélkül, összeillesztett beállításokkal a szinkronizáció fenntartásához. A megbízható UART kapcsolatok a helyes vezetékezéstől, a badássebességtől, a képkockaformátumtól, a feszültségszintektől és a jelidőzítéstől függnek. Ez a cikk információkat nyújt az UART működéséről, beállításáról, felhasználásáról és gyakori problémáiról.

Univerzális aszinkron vevő-adó (UART) alapjai
Az UART az Universal Aszinkron Vevő-Adó rövidítése. Ez egy soros kommunikációs interfész, amely bitről bitre továbbít adatokat a csatlakoztatott eszközök között. Az UART blokk sok mikrovezérlőbe, processzorba, kommunikációs chipbe és beágyazott modulba van beépítve. Átvitel közben párhuzamos adatokat alakít soros adatfolyamgá, és a bejövő soros adatokat visszaalakítja bájttá a vétel során. Az UART nem használ közös órajelvonalat. Ehelyett mindkét eszköz szinkronizált marad a kommunikációs beállítások megfelelő használatával, valamint az adatkeretek kezdetének és végének érzékelésével.
Okok, amiért az UART továbbra is elterjedt
• Csak néhány jelzővonalat használ
• Egyszerű közvetlen kommunikációra beállítani
• Számos beágyazott eszközben található
• Olvasható kimenetet támogat soros terminálokon keresztül
Hogyan működnek az UART keretek és időzítés?
UART keret részei

| Keretelem | Funkció |
|---|---|
| Kezdő rész | Jelzi egy képkocka kezdetét |
| Adatbitek | A küldött értéket hordozd |
| Parititás bit | Használatkor egy alapvető hibaellenőrzést ad hozzá |
| Stop bit | Jelzi a képkocka végét |
| Tétlen állapot | Magasan tartja a vonalat, ha nem küldenek adatot |
Fő UART beállítások
| Helyszín | Mit irányít |
|---|---|
| Baud sebesség | A kommunikáció sebessége |
| Adatbitek | Az értékbitek száma minden keretben |
| Paritét | Hozzáadva-e paritetellenőrzést |
| Megállító részek | A képkocka befejező formátum |
| Áramlásirányítás | Az adatok sebessége a csatlakoztatott eszközök között |
A búd sebesség határozza meg, hogy a bitek milyen gyorsan küldenek. A magasabb baudi sebesség növeli az átviteli sebességet, de pontosabb időzítést és tisztább jelútvonalat igényel. Az UART kommunikáció is attól függ, hogy mindkét oldalon a keretbeállítások egyeznek.
Gyakori baud-díj
| Baud Rate | Tipikus felhasználás |
|---|---|
| 9600 | Alapterminálok, egyszerű modulok és régebbi rendszerek |
| 19200–38400 | Közepes sebességű kommunikáció |
| 57600 | Gyorsabb vezérlési és diagnosztikai kapcsolatok |
| 115200 | Konzolkimenet és hibakeresés |
Képkockahossz és adathatékonyság
A képkocka hossza befolyásolja, mennyi hasznos adat van minden adásban. Két UART link ugyanazt a baud sebességet használhatja, de mégis eltérő hatékony adatátvitelt nyújt, ha a képkockaformátumuk eltér. Például az 8N1 és a 7E1 különböző számú összesített bitet használ keretenként, így a hasznos raher adatmennyisége egy keretenként nem ugyanaz.
UART vezetékezés, feszültségszintek és áramlásszabályozás

Egy alapvető UART kapcsolat három fő jelet használ: TX, RX és GND. Az egyik eszköz TX tűje csatlakozik a másik RX tűjéhez, és mindkét eszköznek ugyanazon a földön kell osztogatnia a jelszintek helyes olvasásához.
Sok mikrovezérlő és modul TTL vagy CMOS UART szinteket használ, gyakran 3,3 V vagy 5 V-on. A régebbi soros rendszerek RS-232-t használhatnak, amelynek eltérő feszültségtartománya és jelzési módszere van, így nem kompatibilis közvetlenül a TTL UART-tal. A szabványok összekapcsolásakor szinteltoló adóvevőt használnak.
Néhány UART link áramlásvezérlést is használ, hogy megakadályozza az adatvesztést, ha az egyik oldal nem tudja elég gyorsan elfogadni a bejövő bájtokat.
UART alapvető vezetékezési szabályok
• Az egyik eszközről származó TX csatlakozik a másik eszközön lévő RX-hez
• Az egyik eszközről érkező RX csatlakozik a másik eszközön lévő TX-hez
• A földet mindkét oldalon kell csatlakoztatni
UART Elektromos Szabványok
| Típus | Tipikus felhasználás | Fő pont |
|---|---|---|
| TTL/CMOS UART | Mikrovezérlők, modulok, fejlesztő panelek | Logikai szintű jeleket használ, mint például 3,3 V vagy 5 V |
| RS-232 | Régi soros portok, ipari kapcsolatok, PC soros kapcsolatok | Más feszültségtartományt és jelzési viselkedést használ |
Gyakori áramlásszabályozási módszerek
• A hardveres áramlásvezérlés RTS és CTS vonalakat használ
• Szoftveres áramlásvezérlés XON és XOFF karaktereket használ
A hardveres áramlásvezérlés külön vezérlővonalakat használ az adatáramlás kezelésére. A szoftveres áramlásvezérlés csökkenti a vezetékek számát, de az adatfolyamon belüli vezérlőkaraktereket használ.
Hogyan működik az UART egy eszközön belül?
Egy eszköz belsejében az UART perifériája több alkatrészt tartalmaz, amelyek az adatok küldését és fogadását kezelik. Ezek a részek gyakran tartalmaznak egy adó szakaszt, egy fogadó szakaszt, eltolóregisztereket, státuszjelzőket és FIFO puffereket. Amikor adatot küldenek, a szoftver egy bájtot helyez az UART-ba, és a hardver hozzáadja a start bitet, opcionális pariitás bitet és stop bitet, mielőtt a teljes képkockát a TX vonalon keresztül küldi.
Amikor adat érkezik, az UART figyeli az RX vonalat érvényes kezdő bitért. Ezután a jelet a megfelelő időben mintázza, újraépíti a bájtot, ellenőrzi a keretformátumot, és tárolja az adatokat, hogy a szoftver később olvashassa azt.
Az UART perifériák állapot- és hibajelentéseket is jelentenek, míg a FIFO pufferek több bájtot tárolnak, hogy csökkentsék az elmaradt adatokat, ha a szoftver nem reagál azonnal.
Gyakori UART státusz és hibazászlók
• Sugárzó puffer üres
• Fogadja a puffert teljes
• Parititási hiba
• Keretrendszer hiba
• Túlfutási hiba
UART gyakori felhasználásai beágyazott rendszerekben
• Soros terminál hibakeresés
• Kommunikáció egy mikrovezérlő és egy modul között
• Bootloader és firmware frissítési linkek
• Egyszerű parancs-válasz interfészek
• Adatnaplózás és diagnosztika
• Beágyazott panel konzolhoz való hozzáférés
UART beállítása, tesztelés és hibaelhárítás
Az UART kapcsolat beállítása a kompatibilis kommunikációs beállítások és jelszintek kiválasztásával kezdődik. A tesztelés segít megerősíteni, hogy a link helyesen van bekötve, megfelelően konfigurálva, és érvényes adatkereteket küld.
Link tervezés és eszköz konfiguráció
A csatlakozás előtt válassza ki a baudi sebességet, a képkocka formátumot, a feszültségszabványt és a áramlásszabályozási módszert. Ezután kapcsold be az UART hardvert a szoftverben, és konfiguráld a szükséges puffereket vagy FIFO beállításokat. Az órajel pontossága, a kábelminőség és a várható adatátviteli sebesség szintén befolyásolja a kapcsolat teljesítményét.
Kommunikációs érvényesítés
Ellenőrizd a linket ismert adatmintát vagy olvasható szöveget küldve. Egy soros terminál, USB-UART adapter, logikai analizátor vagy oszcilloszkóp segíthet megerősíteni, hogy a keretek érvényesek, és hogy a vonal a megfelelő alapjárati állapotban marad az adások között.
UART probléma útmutató
| Tünet | Valószínű ok |
|---|---|
| Véletlenszerű vagy olvashatatlan karakterek | Rossz baudi sebesség vagy képkockabeállítások |
| Nem érkezett adat | TX/RX megfordítva, föld hiányzik, UART kikapcsolva, rossz feszültségszint |
| Időszakos hibák | Zaj, hosszú vezetékezés, időzítési eltérés |
| Keretezési vagy paritetéshibák | Rossz beállítások vagy rossz jelminőség |
| Elvesztett bájtok burstek alatt | Átfutás, gyenge pufferelés, áramlásszabályozás nélkül |
Hibakeresési ellenőrzések
• Ellenőrizd, hogy a TX és RX helyesen keresztezték egymást
• Győződj meg róla, hogy mindkét oldal ugyanazon a talajon osztozza
• Mindkét végén ellenőrizni a baud sebességet és a képkockaformátumot
• Ellenőrizzék, hogy a jelszintek TTL/CMOS vagy RS-232
• Csökkentsék a baud sebességet, ha időzítési hibát vagy zajt gyanítanak
• Tekintse át az UART hibazászlókat a szoftverben
• Tesztelés ismert végeszközökkel vagy adapterekkel
UART, SPI és I2C összehasonlítása

Az UART, SPI és I2C gyakori soros kommunikációs módszerek, de különböző módokon működnek. Az UART közvetlen kapcsolatot használ két eszköz között, és nem igényel órajelvonalat. Az SPI óraidőt és külön adatutakat használ a gyorsabb kommunikáció érdekében. Az I2C szintén órajelet használ, de lehetővé teszi, hogy több eszköz ugyanazon a buszon keresztül osztozzon be a beépített címezéssel.
Felület összehasonlítása
| Feature | UART | SPI | I2C |
|---|---|---|---|
| Óravonal | Nem | Igen | Igen |
| Tipikus topológia | Ponttól pontig | Vezérlő-periféria | Közös busz |
| Komplexitás | Alacsony | Mérsékelt | Mérsékelt |
| Beépített címzés | Nem | Nem | Igen |
| Közös erősség | Egyszerűség | Sebesség | Kevesebb vezeték sok eszköznek |
Az UART egyszerű, közvetlen kapcsolatokat és terminálhozzáférést kínál. Az SPI alkalmas a nagyobb sebességű kommunikációra. Az I2C olyan esetekre szolgál, amikor több eszköz osztozik egy buszt kevesebb jelvonalkal.
Összegzés
Az UART-ot azért használják, mert egyszerű, közvetlen kommunikációt kínál alacsony hardveres összetettséggel. Teljesítménye a megfelelő beállításoktól, a helyes TX és RX vezetékezéstől, a közös földeléstől, a kompatibilis feszültségszintektől, valamint az időzítés, pufferolás és hibazászlók megfelelő kezelésétől függ. A keretszerkezet, a baud sebesség, a folyamatirányítás és a gyakori hibaok megértése segít megmagyarázni, miért hibásodnak az UART kapcsolatok, és hogyan marad fenn stabil kommunikáció beágyazott rendszerekben.
Gyakran Ismételt Kérdések [GYIK]
Képes egy UART egyszerre küldeni és fogadni?
Igen. Az UART támogatja a teljes duplex kommunikációt, így TX-en keresztül is tud adatokat küldeni, miközben egyszerre fogad RX-en.
Mit jelent az 8N1 az UART-ban?
8N1 8 adatbitet jelent, nincs pariitás, és 1 stop bit.
Tud UART több eszközhöz csatlakozni?
Nem közvetlenül. Az UART elsősorban az egy-egy kommunikációra szolgál, és nem tartalmaz beépített címezést.
Ugyanolyan a badásvételi sebesség, mint az UART-ban?
A standard UART-ban igen. Ugyanúgy kezelik őket, mert minden szimbólum egy bitet hordoz.
Miért használunk USB-UART adaptert?
Ez lehetővé teszi, hogy egy számítógép USB-n keresztül kommunikáljon UART interfésszel.
Tartalmaz-e a UART titkosítást vagy fejlett hibajavítást?
Nem. Az UART önmagában nem tartalmaz titkosítást vagy fejlett hibajavítást.