16550 UART

Az 16550 UART ( eng.  univerzális aszinkron vevő / adó ) a National Semiconductor Corporation által kifejlesztett integrált áramkör soros interfészen keresztüli kommunikáció szervezésére . Gyakran használják IBM PC - kompatibilis számítógépeken, ahol általában RS-232 interfészhez csatlakozik.

A chipet eredetileg a National Semiconductor Corporation gyártotta . Más gyártók a National Semiconductor eredeti chipjével hasonló nevű és különböző fokú kompatibilitású chipeket gyártottak. Az 16550 regiszterrel kompatibilis UART soros interfész általában megtalálható az IBM PC -k és más számítógépek többfunkciós I/O kártyáin.

A gyárilag telepített 8250 UART chip cseréje általános fejlesztési eljárássá vált az IBM PC, XT és kompatibilis számítógépek tulajdonosai számára, miután a nagy sebességű modemek elkezdtek megjelenni a piacon. Ezeknek a számítógépeknek a tulajdonosai azt tapasztalták, hogy amikor 9600 baud feletti sebességgel kommunikálnak a soros porton, a számítógép nem tud folyamatos adatfolyamot feldolgozni karakterek elvesztése nélkül. A mindössze 1 bájt bemeneti pufferrel rendelkező 8250-es chip lecserélése a 16550-esre, a szoftver újrakonfigurálásával, hogy egy új, FIFO -támogatással rendelkező chippel működjön, megoldotta ezt a problémát: nőtt a kapcsolat stabilitása és megbízhatósága.

Az 16550 főbb jellemzői:

Az 16550 szoftver és hardver visszafelé kompatibilis a korábbi 8250 UART és 16450 UART chipekkel . A chip legújabb verziója, amelyet a National Semiconductor fejlesztett ki 1995-ben, a kódja 16550D.

FIFO

A korábbi 8250 -es és 16450-es chipek fő hátránya az volt, hogy minden fogadott bájthoz megszakítást kellett generálni. Ez nagymértékben növelte a generált megszakítások gyakoriságát. Nagy volt a puffer túlcsordulás valószínűsége is - amikor egy új bájt érkezik a régi beolvasása előtt. A problémák megoldására egy 16 bájtos FIFO puffert építettek be az 16550-es sorozatú chipekbe, 1, 4, 8 vagy 14 bájt fogadása után megszakítással.

Sajnos az eredeti 16550-ben volt egy hardverhiba, amely megakadályozta a hozzáférést ehhez a pufferhez. A következő megvalósításban, az 16550A-ban ezt a hibát kijavították. Sok gyártó nem használta az új nevet, a frissített chipet a korábbi 16550 névvel kódolták.

Hardveres áramlásvezérlésnél FIFO puffert is használnak, de ez nem annyira kritikus: ennek hiányában nem vesznek el adatok, hanem csak késés következik be az átvitelükben, vagyis csökken a tényleges átviteli sebesség.

Lásd még