Hardware PropertiesInterfacing devices
Types of UARTs
Loop Back Plug
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.
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.
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.
fCoder © 1998 - 2002