Market16550 UART
Company Profile

16550 UART

The 16550 UART is an integrated circuit designed for implementing the interface for serial communications. The corrected -A version was released in 1987 by National Semiconductor. It is frequently used to implement the serial port for IBM PC compatible personal computers, where it is often connected to an RS-232 interface for modems, serial mice, printers, and similar peripherals. It was the first serial chip used in the IBM PS/2 line, which were introduced in 1987.

Features
Main features of the 16550 include: • The ability to convert data from serial to parallel, and from parallel to serial, using shift registers. • An on-chip bit rate (baud rate) generator to control transmit and receive data rate. • Handshake lines for control of an external modem, controllable by software. • An interrupt function to the host microprocessor. • An on-chip FIFO buffer for both incoming and outgoing data; this gives the host system more time to respond to an interrupt generated by the UART, without loss of data. Both the computer hardware and software interface of the 16550 are backward compatible with the earlier 8250 UART and 16450 UART. The current version (since 1995) by Texas Instruments which bought National Semiconductor is called the 16550D. The 16550A and newer is pin-compatible with the 16450, but the Microsoft diagnostics program (MSD) supplied with MS-DOS 6.x, Windows 9x, Windows Me, and Windows 2000 often report the 16450 chip as an 8250 chip. == The FIFO buffer ==
The FIFO buffer
One drawback of the earlier 8250 UARTs and 16450 UARTs was that interrupts were generated for each byte received. This generated high rates of interrupts as transfer speeds increased. More critically, with only a 1-byte buffer there is a genuine risk that a received byte will be overwritten if interrupt service delays occur. To overcome these shortcomings, the 16550 series UARTs incorporated a 16-byte FIFO buffer with a programmable interrupt trigger of 1, 4, 8, or 14 bytes. The 16550 also incorporates a transmit FIFO, though this feature is less critical as delays in interrupt service would only result in sub-optimal transmission speeds and not actual data loss. The 16550A(F) version was a must-have to use modems with a data transmit rate of 9600 baud. Dropouts occurred with 14.4 kbit/s (V.32bis and higher) units and as compression was added with V.42 getting more data per interrupt was critical as data speed continued to increase. Issue with the buffer The original 16550 had a bug that prevented this FIFO from being used. National Semiconductor later released the 16550A which corrected this issue. Not all manufacturers adopted this nomenclature, however, continuing to refer to the fixed chip as a 16550. According to another source, the FIFO issue was corrected only in the 16550AF model, with the A model still being buggy. (The C and CF models are okay too, according to this source.) The 16550AFN model added DMA transfers. == See also ==
tickerdossier.comtickerdossier.substack.com