Univerzális aszinkron adóvevő

A Wikipédiából, a szabad enciklopédiából

Az univerzális aszinkron adóvevő (röviden UART) egy olyan hardver, amely fordítást végez a soros és párhuzamos interfészek között. Soros átvitelnél az UART az adatokat aszinkron start-stop kódokkal határolt bitfolyammá alakítja át, és elektromos impulzusokkal továbbítja őket. Az UART-ot gyakran használják együtt az RS-232 és más kommunikációs szabványokkal. Az „univerzális” jelző azt jelenti, hogy az adatformátum és az átviteli sebesség nem kötött, hanem több, szabványos érték közül választható. Leggyakrabban integrált áramkörökben találkozhatunk vele, ahol szükséges a számítógéppel vagy más, soros porttal rendelkező eszközzel való kommunikáció. A mai mikrokontrollerekbe általában be van építve. Dual UART (DUART) esetén egy csipben két UART is található. Sok modern UART már szinkron módon is képes kommunikálni, ezeket USART-oknak nevezzük.

Definíciók[szerkesztés | forrásszöveg szerkesztése]

Soros adatátvitel[szerkesztés | forrásszöveg szerkesztése]

Adatátvitel során a biteket valamilyen közegen kell eljuttatni az úticélhoz. A távolsággal növekszik a vonal kiépítésének költsége, ezért az adatot a lehető legkevesebb csatornán (pl. vezetéken) kell átvinni. Soros kommunikáció során a bájtokat nem párhuzamosan, bitenkénti egy vezetékkel viszik át, hanem a biteket időben egymás után továbbítják egy csatornán. A párhuzamos adatfolyamot az UART alakítja soros adatfolyammá és vissza. Minden UART-ban található egy léptetőregiszter, ami a soros-párhuzamos átalakítás alapvető eszköze.

Az UART általában nem generál vagy fogad közvetlenül olyan jeleket, amiket átviszünk a csatornán. Jellemzően egy külön áramkör szolgál arra, hogy az UART által használt logikai (pl. TTL) szinteket átkonvertálja az átviteli jelszintekre. A jelszintek megmondják, hogy minek az alapján tudjuk megkülönböztetni, hogy az adott bit 0 vagy 1 (ez általában egy adott feszültségszint vagy átmenet, de a régi eszközök áramvezéreltek voltak). Jelszint-szabvány például az RS-232, az RS-422 és az RS-485. A kapcsolódás lehet "full-duplex" (küldés és fogadás egy időben) vagy "half-duplex" (egy időben csak vétel vagy adás). Vezetéken kívül használható optikai kábel, infravörös port, vagy akár Bluetooth (SPP) adatátvitel is. A jelet gyakran modulálják (akár vezetéken, akár vezeték nélkül), mint például a modemek és rádióvezérelt eszközök.

Manapság gyakran használják az UART-ot az RS-232 szabvánnyal beépített rendszerekben, például mikrokontrollereknél. Ekkor az UART TTL szintű jeleit (többek között) a MAX232 nevű IC-vel konvertálják RS-232 szintű jelekre. USB kommunikációra használható az FT232BM chip.

Aszinkron adatátvitel[szerkesztés | forrásszöveg szerkesztése]

Aszinkron adatátvitelnél a távírógép-stílusú UART-ok megyegyezés szerint először küldenek egy "start" bitet, utána 5-8 adatbitet a legkisebb helyiértékűvel először, egy opcionális paritásbitet, és egy, másfél vagy két "stop" bitet. A startbit ellentétes polaritású az alapállapottal, a stopbit azonos (ez a "szünet" jelzi a karakter végét). Mechanikus távírógépeknél a stopbit 2 bit hosszúságú volt, hogy a mechanikának legyen ideje kiírni az adott betűt (az ilyen hosszúságú stopbit a szinkronizációban is segít). A paritásbit gondoskodik róla, hogy az egyesek száma mindig páros vagy páratlan legyen, de el is hagyható. A páratlan paritás megbízhatóbb, mert biztosítja, hogy legalább egy adatátmenet legyen, ezzel is segítve az UART-ot az újraszinkronizálásban.

A szinkron adatátvitelben start-stop bitek helyett órajelet használnak a szinkronizálásra. Ez növeli a bitfolyam információtartalmát, viszont az órajelhez külön kábel szükséges. Ez nagyobb hatékonysággal jár: a bitek nagyobb része szállít információt.

Az UART sebességét a másodpercenként átvitt bitek számával, a bitrátával jellemezhetjük. Ezt gyakran összekeverik a Bauddal, ami az egy másodperc alatt átvitt szimbólumok számát jelenti (habár van átfedés a két mennyiség között). A távírógépek és a régebbi modemek 110-300 bps, a mai számítógépek többnyire 115200 bps-ig terjedő sebességet támogatnak, de vannak olyan alaplapok, külső USB átalakítók amelyek akár az 1 Mbps adatátvitelt is megvalósítják.