16550 UART

Exar 16550

16550 UART ( uniwersalny asynchroniczny odbiornik-nadajnik ) to układ scalony przeznaczony do realizacji interfejsu do komunikacji szeregowej . Poprawiona wersja -A została wydana w 1987 roku przez National Semiconductor . Jest często używany do implementacji portu szeregowego w komputerach osobistych kompatybilnych z IBM PC , gdzie często jest podłączony do interfejsu RS-232 dla modemów, myszy szeregowych , drukarek i podobnych urządzeń peryferyjnych. Był to pierwszy układ szeregowy zastosowany w IBM PS/2 , która została wprowadzona w 1987 roku.

Część została pierwotnie wykonana przez firmę National Semiconductor. Podobnie ponumerowane urządzenia, o różnym poziomie kompatybilności z oryginalną częścią National Semiconductor, są produkowane przez innych producentów. Funkcja UART, która jest kompatybilna z rejestrami z 16550, jest zwykle cechą wielofunkcyjnych kart we / wy dla komputerów kompatybilnych z IBM PC i może być zintegrowana z płytą główną innych kompatybilnych komputerów.

Wymiana fabrycznie zainstalowanego 8250 UART była powszechną aktualizacją dla właścicieli komputerów IBM PC, XT i kompatybilnych, gdy pojawiły się szybkie modemy. Powyżej 9600 bodów właściciele odkryli, że porty szeregowe komputerów nie były w stanie obsłużyć ciągłego przepływu danych bez utraty znaków. Wymiana 8250 (posiadającego tylko jednobajtowy bufor danych odebranych) na 16550, a czasami łatanie lub ustawianie oprogramowania systemowego, aby było świadome funkcji FIFO nowego układu, poprawiło niezawodność i stabilność szybkich połączeń.

Cechy

Główne cechy 16550 to:

  • Możliwość konwersji danych z szeregowego na równoległy iz równoległego na szeregowy za pomocą rejestrów przesuwnych .
  • Wbudowany generator przepływności ( szybkości transmisji ) do sterowania szybkością transmisji i odbioru danych.
  • Linie uzgadniania do sterowania zewnętrznym modemem , sterowane przez oprogramowanie.
  • Funkcja przerwania dla mikroprocesora hosta .
  • Wbudowany bufor FIFO dla danych przychodzących i wychodzących; daje to systemowi hosta więcej czasu na odpowiedź na przerwanie generowane przez UART, bez utraty danych.

Zarówno sprzęt komputerowy , jak i interfejs oprogramowania 16550 są wstecznie kompatybilne z wcześniejszymi 8250 UART i 16450 UART . Obecna wersja (od 1995 roku) firmy Texas Instruments , która kupiła National Semiconductor, nosi nazwę 16550D.

Układ 16550A i nowszy jest zgodny pinowo z układem 16450, ale program diagnostyczny firmy Microsoft ( MSD ) dostarczany z systemami MS-DOS 6.x, Windows 9x, Windows Me i Windows 2000 często zgłasza układ 16450 jako układ 8250.

16550 FIFO

Krajowy Semiconductor NS16550AFN

Wadą wcześniejszych układów UART 8250 i UART 16450 było to, że dla każdego odebranego bajtu generowane były przerwania. To generowało wysokie wskaźniki przerwań wraz ze wzrostem prędkości transferu. Co bardziej krytyczne, przy buforze tylko 1-bajtowym istnieje rzeczywiste ryzyko, że odebrany bajt zostanie nadpisany, jeśli wystąpią opóźnienia obsługi przerwań. Aby przezwyciężyć te niedociągnięcia, układy UART serii 16550 zawierały 16-bajtowy bufor FIFO z programowalnym wyzwalaczem przerwania o długości 1, 4, 8 lub 14 bajtów.

Oryginalny 16550 miał błąd, który uniemożliwiał użycie tego FIFO. Firma National Semiconductor wypuściła później model 16550A, który rozwiązał ten problem. Jednak nie wszyscy producenci przyjęli tę nomenklaturę, nadal określając stały układ jako 16550.

Według innego źródła problem FIFO został naprawiony tylko w modelu 16550AF, przy czym model A nadal był wadliwy. (Według tego źródła modele C i CF też są w porządku.) Model 16550AFN dodał transfery DMA.

16550 zawiera również transmisyjne FIFO, chociaż ta funkcja jest mniej istotna, ponieważ opóźnienia w obsłudze przerwań skutkowałyby jedynie nieoptymalnymi prędkościami transmisji, a nie rzeczywistą utratą danych.

Wersja 16550A(F) była niezbędna do korzystania z modemów o szybkości transmisji danych 9600 bodów. Przerwy występowały przy jednostkach 14,4 kbit/s ( v.32bis i wyższe), a po dodaniu kompresji w wersji 42 uzyskanie większej ilości danych na przerwanie było krytyczne, ponieważ prędkość danych nadal rosła.

Zobacz też

Dalsza lektura

Linki zewnętrzne