16550 UART

16550 UART ( eng.  universal asynchronous receiver/transmitter ) er et integreret kredsløb til at organisere kommunikation via en seriel grænseflade , udviklet af National Semiconductor Corporation . Det bruges ofte i IBM PC- kompatible computere, hvor det normalt er forbundet til et RS-232 interface.

Chippen blev oprindeligt fremstillet af National Semiconductor Corporation . Andre producenter producerede chips med lignende navne og varierende grader af kompatibilitet med den originale chip fra National Semiconductor. Det 16550 register-kompatible UART serielle interface findes almindeligvis på multifunktions I/O-kort til IBM pc'er og andre computere.

Udskiftning af den fabriksinstallerede 8250 UART-chip er blevet en almindelig forbedringsprocedure for ejere af IBM PC, XT og kompatible computere, efter at højhastighedsmodemmer begyndte at dukke op på markedet. Ejerne af disse computere fandt ud af, at når der kommunikeres med hastigheder over 9600 baud over den serielle port, kunne computeren ikke behandle en kontinuerlig strøm af data uden at miste tegn. Udskiftning af 8250-chippen, som kun havde 1 byte inputbuffer, med 16550 med omkonfigurering af softwaren til at fungere med en ny chip med FIFO -understøttelse løste dette problem: stabiliteten og pålideligheden af ​​forbindelsen steg.

Hovedtræk ved 16550:

16550-softwaren og -hardwaren er bagudkompatibel med de tidligere 8250 UART- og 16450 UART-chips . Den seneste version af chippen, udviklet af National Semiconductor i 1995, har koden 16550D.

FIFO

Den største ulempe ved de tidligere 8250 og 16450 chips var, at der skulle genereres interrupts for hver modtaget byte. Dette øgede i høj grad hyppigheden af ​​genererede afbrydelser. Der var også stor sandsynlighed for et bufferoverløb - når en ny byte ankommer før læsning af den gamle. For at løse problemer blev en 16-byte FIFO-buffer indbygget i 16550-seriens chips, med et interrupt-sæt efter at have modtaget 1, 4, 8 eller 14 bytes.

Desværre havde den originale 16550 en hardwarefejl, der forhindrede adgang til denne buffer. I den næste implementering, 16550A, blev denne fejl rettet. Mange producenter brugte ikke det nye navn og kodede den opdaterede chip med det tidligere navn 16550.

Med hardwareflow-kontrol bruges også en FIFO-buffer, men dette er ikke så kritisk: i mangel af denne buffer går data ikke tabt, men der opstår kun en forsinkelse i deres transmission, det vil sige, at den faktiske transmissionshastighed falder.

Se også