SERIES II INTELLIGENT DATA/FAX MODEMS

3.2.2 The 16550 UART and Windows 3.1

Windows 3.1 may cause a loss of data when communicating at high speed, even with a 16550 UART installed. Because Windows is multitask- ing—it switches between several programs running at the same time— it can make the serial port wait briefly while Windows performs other tasks. Meanwhile, incoming data can be lost. The older 8250A and 16450 UARTs can store data in a one-byte first in-first out (FIFO) buffer (a memory area in the UART in which the first bit in is the first out), but once the buffer is full, the data is lost. The 16550 has a 16-byte FIFO buffer, which accounts for much of its high speed. However, in Windows 3.1, the 16550’s FIFO buffer is disabled by default. To enable the buffer, use Notepad to open the SYSTEM.INI file in your Windows directory, and add the following line to the [386Enh] section:

COMnFIFO=1

where n is the number of the COM port the 16550 is installed on. For example, if the 16550 is installed on COM2, the line should be:

COM2FIFO=1

After you save SYSTEM.INI you must restart Windows for the change to take effect.

However, there is another problem when the FIFO buffer is enabled: Windows cannot recognize the COM port because of a bug in the Windows 3.1 serial port driver, COMM.DRV. The only way around this problem is to replace the COMM.DRV file in the WINDOWS\SYSTEM directory with another driver. Several drivers are available commercially, on the World Wide Web, or on BBSes that will solve this problem.

A freeware driver called CyberCom is available as CYBERC.ZIP on CompuServe in the IBM Communications Forum, Library 0. CyberCom will enable Windows communications at speeds up to 115,200 bps if you have a 16550 UART installed.

28

Page 29
Image 29
Black Box MD1641A, MD1640A manual Uart and Windows, COMnFIFO=1