16550 UART ( anglicky universal asynchronous receiver / transmitter ) je integrovaný obvod pro organizaci komunikace přes sériové rozhraní vyvinutý společností National Semiconductor Corporation . Často se používá v počítačích kompatibilních s IBM PC , kde je obvykle připojen k rozhraní RS-232.
Čip byl původně vyroben společností National Semiconductor Corporation . Jiní výrobci vyráběli čipy s podobnými názvy a různou mírou kompatibility s původním čipem od National Semiconductor. Sériové rozhraní UART kompatibilní s registrem 16550 se běžně nachází na multifunkčních I/O deskách pro IBM PC a další počítače.
Výměna továrně instalovaného čipu 8250 UART se stala běžnou procedurou zlepšování pro majitele IBM PC, XT a kompatibilních počítačů poté, co se na trhu začaly objevovat vysokorychlostní modemy. Majitelé těchto počítačů zjistili, že při komunikaci rychlostí nad 9600 baudů přes sériový port počítač nedokáže zpracovat nepřetržitý proud dat bez ztráty znaků. Výměna čipu 8250, který měl pouze 1 bajt vstupní vyrovnávací paměti, za čip 16550 s překonfigurováním softwaru pro práci s novým čipem s podporou FIFO tento problém vyřešila: zvýšila se stabilita a spolehlivost připojení.
Hlavní vlastnosti 16550:
Software a hardware 16550 jsou zpětně kompatibilní s dřívějšími čipy 8250 UART a 16450 UART . Nejnovější verze čipu, vyvinutá společností National Semiconductor v roce 1995, má kód 16550D.
Hlavní nevýhodou dřívějších čipů 8250 a 16450 bylo to, že přerušení muselo být generováno pro každý přijatý bajt. To značně zvýšilo frekvenci generovaných přerušení. Byla zde také vysoká pravděpodobnost přetečení vyrovnávací paměti – když přijde nový bajt před čtením starého. K vyřešení problémů byla do čipů řady 16550 zabudována 16bajtová vyrovnávací paměť FIFO s nastavením přerušení po přijetí 1, 4, 8 nebo 14 bajtů.
Bohužel původní 16550 měl hardwarovou chybu, která znemožňovala přístup k tomuto bufferu. V další implementaci, 16550A, byla tato chyba opravena. Mnoho výrobců nepoužilo nový název a kóduje aktualizovaný čip s dřívějším názvem 16550.
Při hardwarovém řízení toku se používá také FIFO buffer, ale to není tak kritické: při absenci tohoto bufferu nedochází ke ztrátě dat, ale dochází pouze ke zpoždění jejich přenosu, to znamená, že se snižuje skutečná přenosová rychlost.
UART | |||||||
---|---|---|---|---|---|---|---|
Fyzické vrstvy |
| ||||||
Protokoly |
| ||||||
Oblasti použití | |||||||
Implementace |
|