Univerzální asynchronní přijímač -vysílač - Universal asynchronous receiver-transmitter

Blokové schéma pro UART

Univerzální asynchronní přijímač-vysílač ( UART / ju ɑːr t / ) je počítačový hardware zařízení pro asynchronní sériovou komunikaci , ve kterém formát dat a přenosové rychlosti jsou nastavitelné. Odesílá datové bity jeden po druhém, od nejméně významných po nejvýznamnější, orámované počátečními a zastavovacími bity, takže přesné načasování je řešeno komunikačním kanálem. Úrovně elektrické signalizace jsou ovládány obvodem řidiče mimo UART. Dvě běžné úrovně signálu jsou RS-232 , 12voltový systém a RS-485 , 5voltový systém.

Bylo to jedno z prvních počítačových komunikačních zařízení, které se používalo k připojení dálnopisů pro operátorskou konzolu . Byl to také raný hardwarový systém pro internet .

UART je obvykle jednotlivec (nebo část) integrovaného obvodu (IC) používaný pro sériovou komunikaci přes sériový port počítače nebo periferního zařízení . V čipech mikrokontroléru je běžně integrována jedna nebo více periferních zařízení UART . Specializované UART se používají pro automobily , čipové karty a SIM karty . Raní dálnopisci používali aktuální smyčky .

Související zařízení, univerzální synchronní a asynchronní přijímač-vysílač (USART) také podporuje synchronní provoz.

Přenos a příjem sériových dat

Univerzální asynchronní přijímač-vysílač (UART) bere bajty dat a vysílá jednotlivé bity sekvenčně. V místě určení druhý UART znovu sestaví bity do úplných bytů. Každý UART obsahuje posuvný registr , což je základní metoda převodu mezi sériovými a paralelními formami. Sériový přenos digitálních informací (bitů) přes jeden vodič nebo jiné médium je méně nákladný než paralelní přenos přes více vodičů.

UART obvykle přímo negeneruje ani nepřijímá externí signály používané mezi různými položkami zařízení. K převodu signálů logické úrovně UART na a z externích signalizačních úrovní, kterými mohou být standardizované napěťové úrovně, proudové úrovně nebo jiné signály, se používají samostatná rozhraní .

Komunikace může být jednostranná (pouze v jednom směru, bez přijímacího zařízení pro odesílání informací zpět do vysílacího zařízení), plně duplexní (obě zařízení odesílají a přijímají současně) nebo poloduplexní (zařízení střídavě vysílají a přijímají ).

Rámování dat

Diagram zobrazující časování UART

Nečinný stav bez dat je vysokonapěťový nebo napájený. Jedná se o historický odkaz z telegrafie, ve kterém je linka držena vysoko, aby ukázala, že linka a vysílač nejsou poškozeny. Každý znak je zarámován jako logický nízký počáteční bit, datové bity, případně paritní bit a jeden nebo více stop bitů. Ve většině aplikací je nejméně významný datový bit (ten vlevo v tomto diagramu) přenášen jako první, ale existují výjimky (například tiskový terminál IBM 2741 ).

Počáteční bit signalizuje přijímači, že přichází nová postava. Dalších pět až devět bitů, v závislosti na použité sadě kódů, představuje znak. Pokud je použit paritní bit, bude umístěn za všechny datové bity. Další jeden nebo dva bity jsou vždy ve stavu značky (logická výška, tj. '1') a nazývají se stop bit (y). Signalizují přijímači, že postava je kompletní. Protože počáteční bit je logicky nízký (0) a zastavovací bit je logicky vysoký (1), mezi znaky vždy existují alespoň dvě zaručené změny signálu.

Pokud je řádek držen v logickém nízkém stavu déle než znakový čas, je to podmínka přerušení, kterou může detekovat UART.

Přijímač

Všechny operace hardwaru UART jsou řízeny interním hodinovým signálem, který běží na násobku datové rychlosti, typicky 8 nebo 16násobku bitové rychlosti. Přijímač testuje stav příchozího signálu na každém hodinovém impulsu a hledá začátek počátečního bitu. Pokud zdánlivý počáteční bit trvá alespoň polovinu bitového času, je platný a signalizuje začátek nového znaku. Pokud ne, je to považováno za falešný impuls a je ignorováno. Po dalším čekání se stav řádku znovu vzorkuje a výsledná hladina se vloží do posuvného registru. Po uplynutí požadovaného počtu bitových period pro délku znaků (obvykle 5 až 8 bitů) je obsah posuvného registru (paralelně) zpřístupněn přijímacímu systému. UART nastaví příznak označující, že jsou k dispozici nová data, a může také generovat přerušení procesoru, aby požadoval, aby hostitelský procesor přenesl přijatá data.

Komunikující UARTy nemají kromě komunikačního signálu žádný sdílený systém časování. UART obvykle synchronizují své vnitřní hodiny při každé změně datové linky, která není považována za podvržený impuls. Tímto způsobem získávají informace o načasování a spolehlivě je přijímají, když vysílač odesílá trochu jinou rychlostí, než by měl. Zjednodušující UART to nedělají; místo toho se znovu synchronizují na sestupné hraně počátečního bitu a poté čtou střed každého očekávaného datového bitu a tento systém funguje, pokud je přenosová rychlost dat dostatečně přesná, aby bylo možné spolehlivě vzorkovat stop bity.

Je to standardní funkce pro UART pro uložení nejnovější postavy při přijímání další. Toto "dvojité ukládání do vyrovnávací paměti" dává přijímajícímu počítači celý přenosový čas znaku k načtení přijatého znaku. Mnoho UARTů má malou mezipaměť first-in, first-out ( FIFO ) mezi posuvným registrem přijímače a rozhraním hostitelského systému. To umožňuje hostitelskému procesoru ještě více času zvládnout přerušení z UART a předchází ztrátě přijatých dat vysokou rychlostí.

Vysílač

Operace přenosu je jednodušší, protože časování nemusí být určeno ze stavu linky, ani není vázáno na žádné pevné intervaly časování. Jakmile odesílající systém uloží znak do posuvného registru (po dokončení předchozího znaku), UART vygeneruje počáteční bit, přesune požadovaný počet datových bitů na řádek, vygeneruje a odešle paritní bit (pokud je použit) ) a odešle stop bity. Protože plně duplexní provoz vyžaduje odesílání a přijímání znaků současně, používají UART pro vysílané a přijímané znaky dva různé posuvné registry. Vysoce výkonné UARTy mohou obsahovat vyrovnávací paměť pro přenos FIFO (první v prvním výstupu), která umožní řadiči CPU nebo DMA ukládat více znaků v dávce do FIFO, než aby musely ukládat jeden znak najednou do posuvného registru. Protože přenos jednoho nebo více znaků může trvat relativně dlouho vzhledem k rychlosti CPU, UART udržuje příznak zobrazující obsazenost, takže hostitelský systém ví, zda je ve vyrovnávací paměti nebo posuvném registru alespoň jeden znak; „Připraveno na další znak (y)“ může být také signalizováno přerušením.

aplikace

Vysílací a přijímací UART musí být nastaveny na stejnou bitovou rychlost, délku znaku, paritu a stop bity, aby správně fungovaly. Přijímající UART může detekovat některá neodpovídající nastavení a nastavit bit příznaku "chyba rámování" pro hostitelský systém; ve výjimečných případech bude přijímající UART produkovat nestálý proud zmrzačených znaků a přenese je do hostitelského systému.

Typické sériové porty používané u osobních počítačů připojených k modemům používají osm datových bitů, bez parity a jeden stop bit; u této konfigurace se počet znaků ASCII za sekundu rovná bitové rychlosti děleno 10.

Některé velmi levné domácí počítače nebo vestavěné systémy upustí od UART a používají CPU k vzorkování stavu vstupního portu nebo přímo manipulují s výstupním portem pro přenos dat. I když je procesor velmi náročný na procesor (protože časování procesoru je kritické), čip UART může být vynechán, což šetří peníze a místo. Tato technika je známá jako bit-bumping .

Dějiny

Některá raná telegrafní schémata používala k přenosu abecedních znaků pulzy s proměnnou délkou (jako v Morseově abecedě ) a rotující hodinové mechanismy . První sériová komunikační zařízení (s pulsy pevné délky) byly otočné mechanické spínače ( komutátory ). Různé znakové kódy využívající 5, 6, 7 nebo 8 datových bitů se staly běžnými u dálnopisů a později jako počítačových periferií. Dálnopisný stroj vytvořil vynikající univerzální I/O zařízení pro malý počítač.

Gordon Bell of DEC navrhl první UART, která zabírá celou desku zvanou linka jednotka , pro PDP řady počítačů začínající PDP-1 . Podle Bella bylo hlavní inovací UART použití vzorkování k převodu signálu do digitální domény, což umožnilo spolehlivější časování než předchozí obvody, které používaly analogová časovací zařízení s ručně upravenými potenciometry . Aby se snížily náklady na kabeláž, propojovací desku a další komponenty, tyto počítače také propagovaly řízení toku pomocí znaků XON a XOFF místo hardwarových vodičů.

DEC zkondenzoval design linkové jednotky na raný jednočipový UART pro vlastní použití. Western Digital to vyvinul na první široce dostupný jednočipový UART, WD1402A, kolem roku 1971. Toto byl raný příklad středního integrovaného obvodu . Dalším oblíbeným čipem byl SCN2651 z rodiny Signetics 2650 .

Příkladem začátku 80. let minulého století byl UART National Semiconductor 8250, který byl použit na původní kartě asynchronního komunikačního adaptéru IBM PC . V devadesátých letech byly vyvinuty novější UART s vyrovnávací pamětí na čipu. To umožnilo vyšší přenosovou rychlost bez ztráty dat a bez vyžadování tak časté pozornosti počítače. Například populární National Semiconductor 16550 má 16 bajtů FIFO a vytvořil mnoho variant, včetně 16C550, 16C650, 16C750 a 16C850 .

V závislosti na výrobci se pro identifikaci zařízení, která vykonávají funkce UART, používají různé termíny. Společnost Intel nazvala své zařízení 8251 „programovatelným komunikačním rozhraním“. Technologie MOS 6551 byla známá pod názvem „Adaptér asynchronního komunikačního rozhraní“ (ACIA). Termín „Serial Communications Interface“ (SCI) byl poprvé použit u společnosti Motorola kolem roku 1975 pro označení jejich zařízení asynchronního sériového rozhraní typu start-stop, které ostatní nazývali UART. Společnost Zilog vyrobila řadu řadičů sériové komunikace nebo SCC.

Počínaje rokem 2000 většina počítačů kompatibilních s IBM PC odstranila externí porty RS-232 COM a používaly porty USB, které mohou odesílat data rychleji. Pro uživatele, kteří stále potřebují sériové porty RS-232, se nyní běžně používají externí mosty USB-UART . Kombinují hardwarové kabely a čip pro převod USB a UART. Cypress Semiconductor a FTDI jsou dva z významných komerčních dodavatelů těchto čipů. Přestože porty RS-232 již nejsou uživatelům na vnější straně většiny počítačů k dispozici, mnoho interních procesorů a mikroprocesorů má ve svých čipech zabudovány UARTy, které návrhářům hardwaru umožňují propojení s jinými čipy nebo zařízeními, která používají RS-232 nebo RS- 485 pro komunikaci.

Struktura

UART obvykle obsahuje následující komponenty:

  • generátor hodin, obvykle násobek bitové rychlosti, který umožňuje vzorkování uprostřed bitové periody
  • vstupní a výstupní posuvné registry
  • ovládání přenosu/příjmu
  • logika řízení čtení/zápisu
  • Měření autobaud (volitelně)
  • vyrovnávací paměti pro vysílání/příjem (volitelně)
  • vyrovnávací paměť systémové datové sběrnice (volitelně)
  • Vyrovnávací paměť First-in, First-Out ( FIFO ) (volitelně)
  • Signály potřebné řadičem DMA třetí strany (volitelně)
  • Integrovaný řadič DMA pro správu sběrnice (volitelně)

Speciální podmínky transceiveru

Chyba při doběhu

"Chyba přetečení" nastane, když příjemce nemůže zpracovat postavu, která právě přišla, než přijde další. Různá zařízení mají různé množství vyrovnávací paměti pro uložení přijatých znaků. Řadič CPU nebo DMA musí obsluhovat UART, aby odstranil znaky ze vstupní vyrovnávací paměti. Pokud řadič CPU nebo DMA neobsluhuje UART dostatečně rychle a vyrovnávací paměť se zaplní, dojde k chybě Overrun a příchozí znaky budou ztraceny.

Chyba podběhu

„Chyba podtečení“ nastane, když vysílač UART dokončil odeslání znaku a vyrovnávací paměť přenosu je prázdná. V asynchronních režimech je to považováno za indikaci, že nezůstávají žádná data k přenosu, spíše než za chybu, protože lze připojit další stop bity. Tato chybová indikace se běžně vyskytuje v USARTech, protože podtečení je v synchronních systémech vážnější.

Chyba rámování

UART detekuje chybu rámování, když nevidí bit „stop“ v očekávané bitové době „stop“. Protože bit "start" slouží k identifikaci začátku příchozího znaku, je jeho načasování referencí pro zbývající bity. Pokud datová linka není v očekávaném stavu (vysoká), když se očekává bit „stop“ (podle počtu datových a paritních bitů, pro které je nastaven UART), bude UART signalizovat chybu rámování. Stav "přestávky" na lince je také signalizován jako chyba rámování.

Chyba parity

K chybě parity dojde, když parita počtu jednobitů nesouhlasí s paritou určenou paritním bitem. Kontrola parity se často používá k detekci chyb přenosu. Použití paritního bitu je volitelné, takže k této chybě dojde, pouze pokud je povolena kontrola parity.

Podmínka přestávky

K přerušení dochází, když je vstup přijímače na úrovni „mezery“ (logická nízká, tj. „0“) déle než po určitou dobu, obvykle déle než znakový čas. Nejedná se nutně o chybu, ale příjemci se jeví jako znak všech nulových bitů s chybou rámování. Termín „zlom“ pochází ze signalizace aktuální smyčky , což byla tradiční signalizace používaná pro dálnopisy . Stav „rozteče“ proudové smyčky je indikován tím, že neteče proud, a velmi dlouhá doba, kdy žádný proud neproudí, je často způsobena přerušením nebo jinou poruchou vedení.

Některá zařízení budou záměrně vysílat „vesmírnou“ úroveň déle než znak jako signál pozornosti. Když se neshodují signální rychlosti, nelze odesílat žádné smysluplné znaky, ale dlouhý signál „přestávky“ může být užitečným způsobem, jak upoutat pozornost neodpovídajícího přijímače, aby něco udělal (například sám resetoval). Počítačové systémy mohou používat úroveň dlouhého „přerušení“ jako požadavek na změnu rychlosti signalizace, aby podporovaly telefonický přístup při různých rychlostech signalizace. DMX512 protokol používá stav přerušení signalizovat začátek nového paketu.

Modely UART

Duální UART nebo DUART kombinuje dva UARTy do jednoho čipu. Podobně čtyřnásobný UART nebo QUART kombinuje čtyři UARTy do jednoho balíčku, například NXP 28L194. Osmičkový UART nebo OCTART kombinuje osm UARTů do jednoho balíčku, například Exar XR16L788 nebo NXP SCC2698.

Modelka Popis
WD1402A První jednočipový UART ve všeobecném prodeji. Představený kolem roku 1971. Kompatibilní čipy zahrnovaly Fairchild TR1402A a General Instruments AY-5-1013.
Exar XR21V1410
Intersil 6402
CDP 1854 (RCA, nyní Intersil)
Zilog Z8440 Univerzální synchronní a asynchronní přijímač-vysílač . 2 000 kbit/s. Asynchronní, Bisync , SDLC , HDLC , X.25 . CRC . 4bajtová vyrovnávací paměť RX. 2bajtová vyrovnávací paměť TX. Poskytuje signály potřebné řadičem DMA třetí strany k provádění přenosů DMA.
Z8530/Z85C30 Tento univerzální synchronní a asynchronní přijímač-vysílač má 3bajtovou vyrovnávací paměť pro příjem a 1bajtovou přenosovou vyrovnávací paměť. Má hardware pro urychlení zpracování HDLC a SDLC. Verze CMOS (Z85C30) poskytuje signály, které umožňují řadiči DMA jiného výrobce provádět přenosy DMA. Může provádět asynchronní, synchronní komunikaci na úrovni bajtů a synchronní bitovou úroveň.
8250 Zastaralé s 1bajtovými vyrovnávacími paměťmi. Maximální standardní rychlost sériového portu těchto UARTů je 9600 bitů za sekundu, pokud má operační systém latenci přerušení 1 milisekundu . V počítačích IBM PC 5150 a IBM PC/XT bylo použito 8250 UART , zatímco v počítačích řady IBM PC/AT bylo použito 16450 UART .
8251
Motorola 6850
6551
Rockwell 65C52
16450
82510 Tento UART umožňuje asynchronní provoz až 288 kbit/s, se dvěma nezávislými čtyřbajtovými FIFO. Byl vyroben společností Intel nejméně od roku 1993 do roku 1996 a Innovastic Semiconductor má datový list 2011 pro IA82510.
16550 FIFO tohoto UARTu je rozbité, takže nemůže bezpečně běžet rychleji než 16450 UART. 16550A a novější verze tuto chybu opravují.
16550A Tento UART má 16bajtové vyrovnávací paměti FIFO. Úroveň spouštění přerušení přijímání lze nastavit na 1, 4, 8 nebo 14 znaků. Jeho maximální standardní rychlost sériového portu, pokud má operační systém latenci přerušení 1 milisekundu, je 128 kbit/s. Systémy s nižší latencí přerušení nebo s řadiči DMA by mohly zvládnout vyšší přenosové rychlosti. Tento čip může poskytovat signály, které jsou potřebné k tomu, aby řadič DMA mohl provádět přenosy DMA do az UART, pokud je povolen režim DMA, který tento UART zavádí. Byl představen společností National Semiconductor, která byla prodána společnosti Texas Instruments. National Semiconductor tvrdil, že tento UART může běžet rychlostí až 1,5 Mbit/s.
16C552
16650 Tento UART byl představen společností Startech Semiconductor, která je nyní ve vlastnictví společnosti Exar Corporation a nesouvisí se společností Startech.com. Starší verze mají nefunkční vyrovnávací paměť FIFO, a proto nemohou bezpečně běžet rychleji než 16450 UART. Verze tohoto UART, které nebyly zlomeny, mají 32 znakové vyrovnávací paměti FIFO a mohly by fungovat při standardních rychlostech sériového portu až 230,4 kbit/s, pokud má operační systém latenci přerušení 1 milisekundu. Aktuální verze tohoto UART od Exar tvrdí, že jsou schopné zvládnout až 1,5 Mbit/s. Tento UART zavádí funkce Auto-RTS a Auto-CTS, ve kterých je signál RTS# řízen UART, aby signalizoval externímu zařízení, aby zastavilo vysílání, když je vyrovnávací paměť UART plná nebo mimo uživatelsky nastavený spouštěcí bod a aby přestal vysílat k zařízení, když zařízení pohání signál CTS# vysoko (logika 0).
16750 64bajtové vyrovnávací paměti. Tento UART zvládne maximální standardní rychlost sériového portu 460,8 kbit/s, pokud je maximální latence přerušení 1 milisekunda. Tento UART představila společnost Texas Instruments. TI tvrdí, že rané modely mohou běžet až 1 Mbit/s a novější modely této řady mohou běžet až 3 Mbit/s.
16850 128bajtové vyrovnávací paměti. Tento UART zvládne maximální standardní rychlost sériového portu 921,6 kbit/s, pokud je maximální latence přerušení 1 milisekunda. Tento UART představila společnost Exar Corporation. Exar tvrdí, že dřívější verze mohou běžet až 2 Mbit/s a novější mohou běžet až 2,25 Mbit/s podle data výroby.
16C850
16950 128bajtové vyrovnávací paměti. Tento UART zvládne maximální standardní rychlost sériového portu 921,6 kbit/s, pokud je maximální latence přerušení 1 milisekunda. Tento UART podporuje 9bitové znaky navíc k 5 až 8bitovým znakům, které podporují jiné UARTy. To představil Oxford Semiconductor, který je nyní ve vlastnictví PLX Technology. Oxford/PLX tvrdí, že tento UART může běžet až 15 Mbit/s. Varianty PCI Express od společnosti Oxford/PLX jsou integrovány s řadičem PCIe DMA řadiče první strany. Tento řadič DMA používá signály režimu UMA DART, které byly definovány pro 16550. Řadič DMA vyžaduje, aby CPU nastavil každou transakci a po spuštění transakce vyzvedl stavový registr, aby určil, zda je transakce provedena. Každá transakce DMA může přenášet mezi 1 a 128 bajty mezi vyrovnávací pamětí a UART. Varianty PCI Express mohou také umožnit CPU přenášet data mezi sebou a UART pomocí 8-, 16- nebo 32bitových přenosů při použití programovaných I/O.
16C950
16954 Čtyřportová verze 16950/16C950. 128bajtové vyrovnávací paměti. Tento UART zvládne maximální standardní rychlost sériového portu 921,6 kbit/s, pokud je maximální latence přerušení 1 milisekunda. Tento UART podporuje 9bitové znaky a navíc 5–8bitové znaky, které podporují jiné UARTy. To představil Oxford Semiconductor, který je nyní ve vlastnictví PLX Technology. Oxford/PLX tvrdí, že tento UART může běžet až 15 Mbit/s. Varianty PCI Express od Oxford/PLX jsou integrovány s řadičem PCIe DMA, který ovládá sběrnici první strany. Tento řadič DMA je řízen signály režimu DMA UART, které byly definovány pro 16550. Řadič DMA vyžaduje, aby CPU nastavil každou transakci a po spuštění transakce vyzvedl stavový registr, aby určil, zda je transakce provedena. Každá transakce DMA může přenášet mezi 1 a 128 bajty mezi vyrovnávací pamětí a UART. Varianty PCI Express mohou také umožnit CPU přenášet data mezi sebou a UART pomocí 8-, 16- nebo 32bitových přenosů při použití programovaných I/O.
16C954
16C1550/16C1551 UART s 16bajtovými FIFO buffery. Až 1,5 Mbit/s. ST16C155X není kompatibilní s průmyslovým standardem 16550 a nebude fungovat se standardním ovladačem sériového portu v systému Microsoft Windows.
16C2450 Duální UART s 1bytovým FIFO buffery.
16C2550 Duální UART s 16bajtovými FIFO buffery. Pin-to-pin a funkční kompatibilní s 16C2450. Software kompatibilní s INS8250 a NS16C550.
SCC2691 V současné době vyrábí NXP , 2691 je jednokanálový UART, který také obsahuje programovatelný čítač/časovač. 2691 má jednobajtový přijímací registr vysílače a 4bajtový příjem FIFO . Maximální standardní rychlost 2692 je 115,2 kbit/s.

28L91 je vzestupně kompatibilní verze 2691 s volitelnými 8 nebo 16 bajtovými FIFO vysílače a přijímače, vylepšenou podporou rozšířených datových rychlostí a rychlejšími charakteristikami časování sběrnice, díky čemuž je zařízení vhodnější pro použití s ​​vysoce výkonnými mikroprocesory.

2691 i 28L91 lze provozovat v režimech TIA-422 a TIA-485 a lze je také naprogramovat tak, aby podporovaly nestandardní přenosové rychlosti. Zařízení jsou vyráběna v balíčcích PDIP-40, PLCC-44 a 44 pinů QFP a lze je snadno přizpůsobit autobusům Motorola i Intel . Byly také úspěšně přizpůsobeny autobusům 65C02 a 65C816 . 28L91 bude pracovat na 3,3 nebo 5 voltech.

SCC28L91
SCC2692 V současné době jsou vyráběna společností NXP, tato zařízení jsou duální UART (DUART), skládající se ze dvou komunikačních kanálů, přidružených řídicích registrů a jednoho čítače/časovače. Každý komunikační kanál je nezávisle programovatelný a podporuje nezávislé přenosové a přijímací datové rychlosti.

2692 má jednobajtový vysílací registr a 4bajtový přijímač FIFO pro každý kanál. Maximální standardní rychlost obou kanálů 2692 je 115,2 kbit/s.

26C92 je vzestupně kompatibilní verze 2692 s 8-bajtovými FIFO vysílače a přijímače pro lepší výkon při nepřetržitém obousměrném asynchronním přenosu (CBAT) na obou kanálech při maximální standardní rychlosti 230,4 kbit/s. Písmeno C v čísle dílu 26C92 nemá nic společného s výrobním procesem; všechny NXP UART jsou zařízení CMOS .

28L92 je vzestupně kompatibilní verze 26C92 s volitelnými 8 nebo 16 bajtovými FIFO vysílače a přijímače, vylepšenou podporou prodloužených datových rychlostí a rychlejšími charakteristikami časování sběrnice, díky čemuž je zařízení vhodnější pro použití s ​​vysoce výkonnými mikroprocesory.

2692, 26C92 a 28L92 lze provozovat v režimech TIA-422 a TIA-485 a lze je také naprogramovat tak, aby podporovaly nestandardní datové rychlosti. Zařízení jsou vyráběna v balíčcích PDIP-40, PLCC-44 a 44 pinů QFP a lze je snadno přizpůsobit autobusům Motorola i Intel. Byly také úspěšně přizpůsobeny autobusům 65C02 a 65C816. 28L92 bude pracovat na 3,3 nebo 5 voltech.

SC26C92
SC28L92
SCC28C94 V současné době vyrábí NXP, čtyřnásobný UART (QUART) 28C94 je funkčně podobný dvojici SCC26C92 DUART namontovaných ve společném balíčku, s přidáním arbitrárního přerušovacího systému pro efektivní zpracování během období intenzivní kanálové aktivity. Některé další signály jsou k dispozici pro podporu funkcí správy přerušení a pomocné vstupně/výstupní piny jsou uspořádány odlišně než u 26C92. Jinak je programovací model pro 28C94 podobný modelu 26C92 a vyžaduje pouze drobné změny kódu, aby bylo možné plně využívat všechny funkce. 28C94 podporuje maximální standardní rychlost 230,4 kbit/s, je k dispozici v balíčku PLCC-52 a je snadno přizpůsobitelný autobusům Motorola i Intel. Úspěšně byl také přizpůsoben autobusu 65C816.
SCC2698B V současné době vyrábí NXP, 2698 osmičkový UART (OCTART) jsou v podstatě čtyři SCC2692 DUART v jednom balení. Specifikace jsou stejné jako u SCC2692 (nikoli u SCC26C92). Kvůli nedostatku vysílačů FIFO a malé velikosti přijímačů FIFO může 2698 způsobit "bouři" přerušení, pokud jsou všechny kanály současně zapojeny do kontinuální obousměrné komunikace. Zařízení je vyráběno v obalech PDIP-64 a PLCC-84 a je snadno přizpůsobitelné sběrnicím Motorola a Intel. 2698 byl také úspěšně přizpůsoben autobusům 65C02 a 65C816.
SCC28L198 V současné době vyrábí NXP, 28L198 OCTART je v podstatě upscalovaným vylepšením výše popsaného SCC28C94 QUART s osmi nezávislými komunikačními kanály a také arbitrárním přerušovacím systémem pro efektivní zpracování během období intenzivní kanálové aktivity. 28L198 podporuje maximální standardní rychlost 460,8 kbit/s, je k dispozici v balících PLCC-84 a LQFP-100 a je snadno přizpůsobitelný sběrnicím Motorola i Intel. 28L198 bude pracovat na 3,3 nebo 5 voltech.
Z85230 Synchronní/asynchronní režimy, 2 porty. Poskytuje signály potřebné řadičem DMA jiného dodavatele potřebným k provádění přenosů DMA. 4bajtová vyrovnávací paměť pro odesílání, 8bajtová vyrovnávací paměť pro příjem na kanál. Režimy SDLC/HDLC. 5 Mbit/s v synchronním režimu.
Hayes ESP 1 kB vyrovnávací paměti, 921,6 kbit/s , 8 portů.
Exar XR17V352, XR17V354 a XR17V358 Dual, Quad a Octal PCI Express UART s 16550 kompatibilní sadou registrů, 256 bajtů TX a RX FIFO, programovatelné úrovně spouštění TX a RX, čítače úrovní TX/RX FIFO, generátor frakční přenosové rychlosti, automatický hardware RTS/CTS nebo DTR/DSR řízení toku s programovatelnou hysterezí, automatická kontrola toku softwaru Xon/Xoff, poloviční duplexní řídící výstup RS-485 s programovatelným zpožděním otočení, vícenásobný pokles s automatickou detekcí adresy, infračervený (IrDA 1.1) kodér/dekodér dat. Jsou specifikovány až do 25 Mbit/s. Datové listy pocházejí z roku 2012.
Exar XR17D152, XR17D154 a XR17D158 Dual, Quad and Octal PCI bus UARTs with 16C550 Compatible 5G Register Set, 64-byte Transmit and Receive FIFOs, Transmit and Receive FIFO Level Counters, Programmable TX and RX FIFO Trigger Level, Automatic RTS/CTS or DTR/DSR Flow Control, Automatic Softwarové řízení toku softwaru Xon/Xoff, výstup ovládání RS485 HDX s volitelným zpožděním zapnutí, infračervený (IrDA 1.0) datový kodér/dekodér, programovatelná rychlost přenosu dat s předzesilovačem, rychlost sériového přenosu až 6,25 Mbit/s. Datové listy pocházejí z let 2004 a 2005.
Exar XR17C152, XR17C154 a XR17C158 Dual, Quad and Octal 5 V PCI bus UARTs with 16C550 Compatible Registers, 64-byte Transmit and Receive FIFOs, Transmit and Receive FIFO Level Counters, Automatic RTS/CTS or DTR/DSR Flow Control, Automatic Xon/Xoff Software Flow Control, RS485 Poloviční duplexní ovládání s volitelným zpožděním, infračervený (IrDA 1.0) datový kodér/dekodér, programovatelná datová rychlost s předzesilovačem, sériová datová rychlost až 6,25 Mbit/s. Datové listy pocházejí z let 2004 a 2005.
Exar XR17V252, XR17V254 a XR17V258 Dual, Quad and Octal 66 MHz PCI bus UARTs with Power Management Support, 16C550 compatible register set, 64-byte TX and RX FIFOs with level counters and programmable trigger levels, Fractional baud rate generator, Automatic RTS/CTS or DTR/DSR hardware flow ovládání s programovatelnou hysterezí, automatické řízení toku softwaru Xon/Xoff, poloviční duplexní řídící výstup RS-485 s volitelným zpožděním otáčení, kodér/dekodér infračerveného (IrDA 1.0) dat, programovatelný datový tok s předzměňovačem. Datové listy pocházejí z let 2008 a 2010.

UART v modemech

Modemy pro osobní počítače, které se připojují do slotu základní desky, musí také obsahovat funkci UART na kartě. Původní čip 8250 UART dodávaný s osobním počítačem IBM měl jednu znakovou vyrovnávací paměť pro přijímač i vysílač, což znamenalo, že komunikační software fungoval špatně při rychlostech nad 9600 bit/s, zvláště pokud pracoval v systému s více úkoly nebo zpracovával přerušení z řadičů disku. Vysokorychlostní modemy používaly UART, které byly kompatibilní s původním čipem, ale které obsahovaly další vyrovnávací paměti FIFO, což poskytovalo softwaru další čas na reakci na příchozí data.

Pohled na požadavky na výkon při vysokých bitových rychlostech ukazuje, proč je 16, 32, 64 nebo 128 bajtů FIFO nutností. Specifikace společnosti Microsoft pro systém DOS vyžaduje, aby přerušení nebyla zakázána na více než 1 milisekundu najednou. Některé jednotky pevných disků a řadiče videa tuto specifikaci porušují. 9600 bitů/s dodá znak přibližně každou milisekundu, takže 1 bajtový FIFO by měl v této rychlosti stačit v systému DOS, který splňuje maximální načasování deaktivace přerušení. Ceny nad tuto hodnotu mohou získat novou postavu dříve, než byla načtena stará, a tím dojde ke ztrátě staré postavy. Toto se označuje jako chyba přetečení a výsledkem je jeden nebo více ztracených znaků.

16bitový FIFO umožňuje přijmout až 16 znaků, než bude počítač muset opravit přerušení. To zvyšuje maximální přenosovou rychlost, kterou může počítač spolehlivě zpracovat z 9600 na 153 000 bitů/s, pokud má dobu přerušení přerušení 1 milisekundu. 32bitový FIFO zvyšuje maximální rychlost na více než 300 000 bitů/s. Druhou výhodou FIFO je, že počítač musí obsluhovat pouze asi 8 až 12% tolika přerušení, což umožňuje více času CPU na aktualizaci obrazovky nebo provádění jiných úkolů. Zlepší se tedy i reakce počítače.

Viz také

Reference

Další čtení

  • Kompletní sériový port: COM porty, USB virtuální COM porty a porty pro vestavěné systémy ; 2. vydání; Jan Axelson; Lakeview Research; 380 stran; 2007; ISBN  978-1-931-44806-2 .
  • Kompletní sériový port: Programování a obvody pro spoje a sítě RS-232 a RS-485 ; 1. vydání; Jan Axelson; Lakeview Research; 306 stran; 1998; ISBN  978-0-965-08192-4 .
  • Sériový port a mikrokontroléry: principy, obvody a zdrojové kódy ; 1. vydání; Grzegorz Niemirowski; CreateSpace; 414 stran; 2013; ISBN  978-1-481-90897-9 .
  • Sériové programování (Wikibook) .

externí odkazy