16550 UART

The 16550 UART (universal asynchronous receiver/transmitter) is an integrated circuit designed for implementing the interface for serial communications. 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.

The part was originally made by National Semiconductor. Similarly numbered devices, with varying levels of compatibility with the original National Semiconductor part, are made by other manufacturers. A UART function that is register-compatible with the 16550 is usually a feature of multifunction I/O cards for IBM PC-compatible computers, and may be integrated on the motherboard of other compatible computers.

Replacement of the factory-installed 8250 UART was a common upgrade for owners of IBM PC, XT, and compatible computers when high-speed modems became available. At speeds higher than 9600 baud, owners discovered that the serial ports of the computers were not able to handle a continuous flow of data without losing characters. Exchange of the 8250 (having only a one-byte received data buffer) with a 16550, and occasionally patching or setting system software to be aware of the FIFO feature of the new chip, improved the reliability and stability of high-speed connections.

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 National Semiconductor is called the 16550D.

Read more about 16550 UART:  The 16550 FIFO