This page has been designed for printability. To print this document, click the Print button on your browser's toolbar. When you are finished, click the Close Window button located at the upper-right or bottom of the page to close this window and return to the previous page.
A UART chip is an electronic circuit that transmits and receives data through the serial port. It converts bytes into serial bits for transmission, and vice versa. It also generates and strips the start and stop bits appended to each character.
Once a connection is established, the UART then reconstructs a byte of data based on the receiving line. If parity is in use, the UART will also check the parity for correctness and strip the parity bit off the byte being passed to the computer.
SingleByte FlFO Buffers
If the computer can not retrieve the data at the above speeds, then it will be overwritten. If this occurs, then that character will be lost. The UART does not only handle serial communications, it also takes care of other tasks, like disk interrupts, keyboard interrupts, screen refresh cycles, and many other items that involve timing with your system. So, as you can see, the UART is doing a lot of other things that can limit how much incoming data it can handle. If the system can not keep up, this is when you see block errors and UART overrun errors. If you receive these errors, it's time to start looking into a buffered UART, such as a 16550.
16 Byte FIFO
You may be wondering why you need a 16550 UART. Have you ever been on a bulletin board system and found that characters were dropping from the text being displayed? Or had UART overruns, or SubPacket to long errors when downloading files? If this is the case, chances are you need a better UART. DOS is less graphic intensive then Windows or OS/2, so the 16550 UART is not as important, but can still be needed, depending on the speed of your modem. If you are running Windows or OS/2, and have background tasks running while doing data communication or faxing, chances are you will need a 16550 UART. In general, if you have a 28.8 Kbps modem or faster, you will need a 16550 UART. Also, the slower the machine, the more need there is for a 16550 UART; for as stated before, the UART frees the computer to do other tasks.
At some point you are going to be asking "What type of UART is in my system?". With USRobotics internal modems, the UARTs on the modem boards are all 16550s. External modems do not have UARTs on them. With an external modem, you need to have a serial controller in the system, with the appropriate UART on it. Now a days, motherboards come with the UART on the main board. If you are not sure what type of UART is in your system, you can run Microsoft Diagnostics (MSD) and that will tell you what type of UART is in your system. To run this program, assuming you have DOS 6.0 or higher, just type MSD<enter> and it should come up. If not, then go into your DOS directory and run it from there. If you do not have DOS, consult your operating system manual for information on how to check this.
The early non 'A' 16550 UART chips (UARTs without an 'A' after the 16550) chips, are known to be buggy, so try and avoid using them. There were problems with the FIFO not working correctly. Nowadays, it's common to refer to a 16550AFN as a 16550 (without the revision letters).
Windows 3.x Changes
There are several communication drivers available that can help fully utilize your 16550 UART in the Windows 3.x environment. One of these is WFXCOMM.