Title: What is the 16550 and How Can it Benefit Communications?
Keywords: 16550, communications
KDB: KDB-039
Revision: 0.00
Author: Support
Distribution: External
The chip, formally known as the NS16550AFN chip, is the heart of your asynchronus serial board. It is the UART chip, or Universal Asynchronous Receiver/Transmitter.
The advantage of the 16550 over the older 16450 and 8250 UARTs is that it has a 16 byte buffer on it. Now, sixteen bytes doesn’t sound like a whole heck of a lot but it is SIXTEEN TIMES the size of the buffer on the older UARTs which only had one a one byte buffer.
The advantages of the 16-byte buffer are two fold:
1) It makes high speed communications more reliable.
On the older chips, with their one-byte-buffer, you would lose data if a second byte came in from the modem before the CPU had a chance to pull the first byte out. The 16550, with its 16-byte-buffer, gives the CPU up to 16 chances to pull the data out before a character is lost.
To realize what this means you can figure that at 19200 bps you are expecting the CPU to service the comm port 1920 times each second or once every .0005 seconds. If the CPU happens to take .0006 seconds to get around to servicing the comm port then in a one-byte buffer UART that first byte is lost. On the 16550 chip, with 16 bytes of buffer space, you have up to .008 seconds to service the comm port.
2) It helps make a multitasking system more efficient.
When PCBoard is transmitting data it has to stop the CPU and fill the UART’s transmitter buffer. That means that if the caller in the background is doing a directory scan his scan will take longer while PCBoard attempts to send data out to the first caller.
In the one-byte-buffer UARTs at 19200 bps PCBoard must stop the CPU 1920 times each second just to send data out the comm port. With the 16550, however, it can stuff up to 16 bytes into the buffer at a time and therefore interrupts the CPU only 120 times each second. That drops the performance hit on the CPU, even at high speeds, to almost that of a 1200 to 2400 bps modem!
To top it off, the older 8250 chips were buggy, making them less reliable, and they were never designed for the high speeds that we expect out of our modems today. The NS16550AFN, on the other hand, is designed with high bus speeds and high modem speeds in mind. When multitasking, even at slower baud rates, the 16550 can be very helpful in providing smooth operation for the entire system.
End of KDB-039