GNU/Linux >> Znalost Linux >  >> Linux

Co je UART (Universal Asynchronous Receiver/Transmitter)

Cílové publikum

Tento článek předpokládá, že čtenář má základní znalosti o elektronických zařízeních, obvodech a terminologii.

Úvod

Ve světě komunikace vestavěných zařízení existuje malá hrstka protokolů, které se používají pro mnoho různých aplikací. Často se stává, že běžnější protokoly, které se běžně používají pro každodenní operace, jako je FTP a TCP, s malými vestavěnými zařízeními buď nefungují, nebo jsou nevhodné (často kvůli požadavkům na napájení nebo prostor). Právě v případech, jako jsou tyto, jsou velmi užitečné základní komunikační standardy „až na kov“, jako je UART.

Co je UART?

Obrázek Exar16550onItronixPCB uživatelem Wikipedie Myself248 / licencováno pod CC BY-SA 3.0

UART (Universal Asynchronous Receiver/Transmitter) je malé, efektivní komunikační zařízení podobné I2C. UART je nejčastěji instalován v kusu hardwaru, vestavěný do IC (integrovaného obvodu), který překládá sdělovaná data mezi sériovou a paralelní formou. Jinými slovy, zařízení UART vezme proud bitů dat (nejčastěji navržený pro paralelní komunikaci), převede je na bity sériových dat pro přenos po jednom vodiči nebo sběrnici a poté je přenese. Na druhém konci drátu přijímá další zařízení UART sériové bity a převádí je zpět na paralelní balíčky dat. „Univerzální“ část názvu odkazuje na konfigurovatelnost jak formátu dat, tak rychlosti, jakou jsou vysílána/přijímána.
.
UART je jedním z nejstarších komunikačních zařízení používaných počítači. jeho počátky sahají do 60. let 20. století, kdy se používal k připojení počítačů ke klávesnicím dálnopisu neboli „dálnopisům“. V 70. letech 20. století to byl protokol používaný ke čtení a zápisu dat na kazety a později byl používán pro komunikaci s modemy během prvních dnů vytáčení služeb BBS (Bulletin Board System) a internetu. Od té doby byla nahrazena složitějšími zařízeními, která používají protokoly jako TCP a IP, ale její design je stále užitečný s vestavěnými zařízeními.
.

Jak UART komunikují

Jak již bylo zmíněno výše, UART funguje na principu překladu mezi paralelní komunikací a sériovou komunikací. Proč to vůbec dělat, když paralelní komunikace je mnohem rychlejší? Zatímco paralelní komunikace je rychlejší, je také mnohem dražší, pokud jde o výkon i přenosové médium. Stejnou dávku dat můžete posílat v sekvenčních sériových bitech, jeden po druhém, po jednom drátu, spíše než v synchronizovaných paralelních bitech, současně po svazku drátů. Pokud například vaše aplikace postrádá místo, může být mnohem smysluplnější použít pouze jeden vodič. Z tohoto důvodu jsou zařízení UART velmi užitečná v situacích s nízkou spotřebou a nízkým profilem, jako jsou vestavěné systémy.
.
Jak to tedy přesně funguje? Na asynchronním přenosu je hezké, že data lze přenášet, aniž by odesílatel a přijímač museli sdílet hodinový signál – signál, který může zabírat cenný datový prostor. Místo toho je načasování mezi oběma jednotkami předem dohodnuto a do každého datového balíčku – každého „slova“ jsou přidány speciální bity. UARTy používají tyto bity k vzájemné synchronizaci. Když se vysílač připravuje k odeslání slova, přidá na začátek balíčku speciální START bit. Tento bit upozorní přijímač, že se blíží datový balíček, a synchronizuje vnitřní hodiny přijímače s hodinami vysílače. (Normálně u jiných párování vysílač/přijímač stačí k synchronizaci hodin dvou zařízení pouze to, aby se dohodly na přenosové rychlosti v bitech za sekundu neboli „baudech“.)
.
Po START bit, vysílač odešle slovo. Většina systémů UART používá délku slova pět až deset bitů. Přenos bitů probíhá v konzistentním čase hodin a časově synchronizovaný přijímač se dívá na sběrnici přesně v polovině určeného času „odeslání“, aby určil, zda se posílá 1 nebo 0 (pokud je sběrnice VYSOKÝ, „1“ se odesílá; jinak je to '0'). Nakonec vysílač odešle paritní bit (pokud byl systém takto nakonfigurován) a END bit. Potom začne další slovo s dalším bitem START a proces pokračuje. Přijímač mezitím zahodí bity START a STOP, v případě potřeby použije paritní bit, zaznamená slovo a pokračuje v naslouchání dalším datům. Pokud je obvod duplexní (obousměrná komunikace), může se stejný proces opakovat v opačném směru. V některých systémech UART nejsou dráty ani nutné; infračervená (IR) a Bluetooth zařízení jsou často nastavena pro vysílání a příjem prostřednictvím signalizačního schématu UART.

Historický kousek :Když se nic nepřenáší, je linka oběma zařízeními držena VYSOKÝ, nikoli NÍZKÝ (bez napájení). Tato konvence je pozůstatkem z dob telegrafu – telegrafní linky byly drženy vysoko, takže každý koncový uživatel mohl poznat, že linka byla neporušené.

.

Použití pro UARTs Persist

Zařízení UART existují již dlouhou dobu a osvědčilo se, že jsou stále užitečná, a to i vedle zařízení schopných vyšší rychlosti komunikace a gigabitových přenosových rychlostí, které dnes umožňují rychlé hostingové servery VPS a hosting spravovaných serverů.
.
Většina moderních mikrokontrolérů obsahuje zařízení UART; jednotlivé integrované obvody mohou obsahovat jeden, dva nebo dokonce 8 UART na jednom čipu (tyto poslední dva návrhy se nazývají DUART a OCTART). Arduino – oblíbené IDE pro amatérské mikrokontroléry – má rozhraní UART vestavěné na každé ze svých desek, dokonce i na té nejmenší z nich. Raspberry Pi, další oblíbené zařízení pro fandy, může také komunikovat se zařízeními UART. Pro každého, kdo se zajímá o práci s malými vestavěnými zařízeními, je to zařízení, které stojí za to se naučit používat.

.


Linux
  1. Co je to relační databáze?

  2. Co jsou bezstavové a stavové modely vývoje webu

  3. Distribuovaná databáze NoSQL Elasticsearch – co to je a měli byste ji používat?

  1. Jaký je rozdíl mezi událostmi řízenými a asynchronními? Mezi epoll a AIO?

  2. Jak rm funguje? Co dělá rm?

  3. Do jaké složky mám nasadit aplikace Rails?

  1. Co je databáze NoSQL? – Vysvětlení NoSQL

  2. Co je Spark DataFrame?

  3. Jaký je doporučený adresář pro ukládání obsahu webových stránek?