Look RS232 > RS232C Hardware  
fCoder SIA
fCoder SIA Look RS232 Download Order Support Cookie Policy
Look RS232
Online help
Modem Programming
Serial port
RS232 Hardware
  8250 and Compatible UARTs

UART usually stands for Universal Asynchronous Receiver / Transmitter and is a chip located on a serial card, it allows connection with modems and other devices. Most card manufacturers integrate UART into other chips which can also control parallel port, games port, floppy or hard disk drives and are typically surface mount devices. One of such chips is presented in 8250 line, which includes 16450, 16550, 16650, & 16750 UARTS, this line is usually used in PCs.

Pin Diagrams of UARTs - 16550, 16450 & 8250
Pin Diagrams for 16550, 16450 & 8250 UARTs

16550 chip is compatible with 8250 & 16450 chips. The only two differences are pins 24 & 29. 8250 Chip Pin 24 has chip selection which works as chip activity indicator. Pin 29 is not used in 8250/16450 UARTs. These pinouts have different purpose in 16550 chip. Their purpose is: Transmit Ready and Receive Ready. This pinouts allow DMA (Direct Memory Access) usage. These Pins have two different modes of operation. Mode 0 supports single transfer DMA where as Mode 1 supports Multi-transfer DMA.

Mode 0 is also called mode 16450. This mode is selected when FIFO buffers are disabled with the help of b it 0 of the FIFO Control Register or when FIFO buffer is enabled but DMA Mode Select = 0 (Bit 3 of FCR). In this mode RXRDY will have low (active) state, when at least one character byte is present in the Receiver Buffer. RXRDY will have high (inactive) state, when Receiver Buffer is cleared. TXRDY will have active state, when Transmit Buffer contains no data. If there is at least 1 byte in the Transmit Buffer, the inactive state will be set on the TXRDY pinout.

Mode 1is a mode when FIFO buffers are active and DMA Mode Select = 1. In mode 1, RXRDY will be active if the trigger level is reached or when 16550 Time Out occurs and will return to inactive state when no more characters are left in the FIFO. TXRDY will be active if the Transmit Buffer contains no bytes and will return to inactive state when FIFO Transmit Buffer is full.

All the UARTs pins are TTL compatible, including TD, RD, RI, DCD, DSR, CTS, DTR and RTS, so direct usage of pinouts for connecting to serial port is not possible. To provide compliance one should use special converters, such as DS1489 Receiver and the DS1488 as the PC has +12 and -12 volt rails which can be used by these devices. The RS232 Converters will convert the TTL signal into RS232 Logic Levels.

Pin No. Name Notes
Pin 1:8 D0:D7 Data Bus
Pin 9 RCLK Receiver Clock Input. The frequency of this input should equal the receivers baud rate * 16
Pin 10 RD Receive Data
Pin 11 TD Transmit Data
Pin 12 CS0 Chip Select 0 - Active High
Pin 13 CS1 Chip Select 1 - Active High
Pin 14 nCS2 Chip Select 2 - Active Low
Pin 15 nBAUDOUT Baud Output - Output from Programmable Baud Rate Generator. Frequency = (Baud Rate x 16)
Pin 16 XIN External Crystal Input - Used for Baud Rate Generator Oscillator
Pin 17 XOUT External Crystal Output
Pin 18 nWR Write Line - Inverted
Pin 19 WR Write Line - Not Inverted
Pin 20 VSS Connected to Common Ground
Pin 21 RD Read Line - Inverted
Pin 22 nRD Read Line - Not Inverted
Pin 23 DDIS Driver Disable. This pin goes low when CPU is reading from UART. Can be connected to Bus Transceiver in case of high capacity data bus.
Pin 24 nTXRDY Transmit Ready
Pin 25 nADS Address Strobe. Used if signals are not stable during read or write cycle
Pin 26 A2 Address Bit 2
Pin 27 A1 Address Bit 1
Pin 28 A0 Address Bit 0
Pin 29 nRXRDY Receive Ready
Pin 30 INTR Interrupt Output
Pin 31 nOUT2 User Output 2
Pin 32 nRTS Request to Send
Pin 33 nDTR Data Terminal Ready
Pin 34 nOUT1 User Output 1
Pin 35 MR Master Reset
Pin 36 nCTS Clear To Send
Pin 37 nDSR Data Set Ready
Pin 38 nDCD Data Carrier Detect
Pin 39 nRI Ring Indicator
Pin 40 VDD + 5 Volts
Pin Assignments for 16550A UART

The UART requires a Clock to run. For this purpose there's a crystal on the serial card usually designed for 1.8432 MHZ or 18.432 MHZ frequency. The crystal is connected to XIN-XOUT pinouts of the UART chip, this pinouts help set CPU clock speed. These Clock are needed to use the Programmable Baud Rate Generator which directly interfaces into the transmit timing circuits but not directly into the receiver timing circuits. For this an external connection must be made from pin 15 (BaudOut) to pin 9 (Receiver clock in.) Note that the clock signal will be at Baudrate * 16.

If you are serious about pursuing the 16550 UART used in your PC further, then we would suggest downloading a copy of the PC16550D data sheet from National Semiconductors Site. Data sheets are available in .PDF format so you will need Adobe Acrobat Reader to read them. Texas Instruments has released the 16750 UART which has 64 Byte FIFO's. Data Sheets for the TL16C750 are available from the Texas Instruments Site.

  Contact us
© fCoder SIA