home *** CD-ROM | disk | FTP | other *** search
- * * * THE UBIQUITOUS UART * * *
-
- There has been much talk on the Fido-Net echo conference
- "HST" about a new UART chip. A UART chip is the 40 pin chip on your
- serial prort. UART means Universal Asynchronous Receiver Transmitter.
- This chip converts an 8 bit byte from parallel to serial and from
- serial to parallel. Your computer sends the byte on a PARALLEL 8 bit
- bus to the serial card. The serial card has to send it SERIALLY to
- the modem. And at the same time it adds a START BIT and a STOP BIT.
- If you are using a 7 bit format, the UART chip can also add the parity
- bit, which can be even, odd, zero, forced to 0, or forced to 1. It
- can also add 2 stop bits instead of 1 stop bit. And in the case of
- certain baud rates, it can add 1.5 stop bits instead of 1 stop bit.
-
- Well, a problem cropped up with the HST modem. To gain the
- maximum efficiency of this modem, you have to set your serial port to
- 19,200 baud. Yes, that is 16 times faster than your normal 1200 baud
- modem. Now most computers, even XT's, can keep up with that. But
- there is a problem caused by some EXPANSION boards like Perstor disk
- controllers, and Network Interface cards (like Ethernet) that hog, or
- tie up, the interrupts, or IRQ's. If the other board hogs the
- interrupts longer than one character time (1/1920th of a second) then
- the character that is coming in over the serial port is LOST and gone
- forever. With a 2400 baud modem, you have a 1/240th of a second
- 'slack' between characters. (Remember, 8 bits, plus one start bit,
- plus one stop bit, give you 10 bits (not 8) when talking about modems
- and serial ports. So you divide bits per second (bps) by 10 to give
- CHARACTERS per second (cps). So these problems didn't crop up with
- modems up to 2400 baud. But when running 9600 baud and 19200 baud,
- they did show up.
-
- What was needed was a way to "hold" those characters until the
- computer could catch up with the serial port. One way of doing that
- was making an expensive INTELLIGENT serial card. You could put some
- local memory on there and a small microprocessor like a 6052 or 8088.
- But National Semiconducter went even better! Instead of making the
- whole card smarter and a whole lot more expensive, they put all the
- smarts on the UART CHIP! The new UART chip, called the 16550, has a
- 16 byte FIFO buffer. FIFO stands for "first-in-first-out". With this
- buffer, the computer can be busy doing something else for up to 16
- character times, and no characters will be lost.
-
- The original UART used in XT computers was the 8250. This was
- kind of slow, but adequate for the 4.77 Mhz bus speed of the XT. With
- the 8 Mhz bus speed of the AT, a faster chip was needed so they used
- the 16450. These 2 chips are functionally identical, and are pin
- compatible. They have 40 pins each. Actually, you will see many AT
- computers with a 8250 UART on their serial port.
-
- The 16550 will work on any serial port that now has an 8250 or
- 16450. You just replace it. But you also need some special software
- to activate the buffer. Otherwise, the 16550 will act like a 16450
- without the buffer.
-
- There is a program called 16550.EXE which tells the UART to turn
- on the FIFO buffer, and then the UART is just transparant to whatever
- communication program you are using. I have been told, on a TELIX
- support conference, that Telix 3.11 has 16550 support built in. I
- don't know if other popular telecom programs such as Procomm+, Qmodem,
- and other have it or not. If not, just run 16550.EXE before you bring
-
- If you are running a Fido-Net <tm> compatible bulletin board, you
- won't need the 16550.EXE program if your FOSSIL already knows how to
- handle it. X00.sys version 1.11b has 16550 support, version 1.10a did
- not. I am not sure of Opuscomm. The latest version is supposed to
- support it, but according to some messages that I read in the HST echo
- conference, some sysops had trouble with it and went back to an older
- version of Opuscomm and used 16550.EXE. As is common, not all things
- work for all people.
-
- There was a user on a local BBS who was having problems even
- downloading at 2400 baud because he was using Desqview, and running
- several programs simultaneously. He installed the 16550, and his
- problems went away. Another local sysop using an HST with
- QBBS/X00/Binkley on his 4.77 Mhz XT couldn't get successfull transfers
- at 19.2K baud. He didn't even have any of the "problem boards"
- mentioned later in this article. He installed the 16550, and then was
- able to consistently use 19.2K baud with no problems. His transfer
- efficiency rose from 96% to 115%.
-
- You can obtain the new 16550 UART chip from Arrow Electronics.
- ($25.00 plus s/h) Their number is in any phone book. Also from Fry's
- Electronics, 1-415-770-FRYS. ($16.99 + 3.00 s/h) The exact part
- number is "NS16550AN". This is the 40-pin DIP (dual in-line package)
- version. If your serial board has the "surface mount" version, you
- probably won't be able to change it yourself. If your serial board
- has the UART chip in a socket, just pop it out with a small
- screwdriver and carefully put in the 16550 chip. If your UART is
- soldered into place, desolder it (Radio Shack has your basic [de-
- ]soldering tools), but solder in a 40-Pin SOCKET first, then put the
- 16550 into the socket.
-
- Here are some situations where you *might* benefit from a 16550
- UART while doing high speed transfers with the serial port:
-
- 1) You have a Perstor controller with an older ROM on it. I have
- read that some rom versions take care of the IRQ hog problem.
-
- 2) Your computer is on any kind of network. Network interface
- cards are notorious for hogging interrupts. (Tho' not all do.)
-
- 3) Your computer is an AT and you are using EXTENDED memory. The
- AT has to do a reset and takes a lot of time to switch from
- protected mode to real mode when its done with accessing extended
- memory. (Tho' not all AT's have this problem.)
-
- 4) You are running a multi-tasking software like Desqview or
- DoubleDos and are trying to do communications in the background,
- and lose characters when switching windows, or have too many
- background tasks/windows active at the same time.
-
- 5) You are a Fido-Net <tm> sysop with an HST modem and are getting
- less than 100% efficiency on your mail transfers. Many factors
- affect this, so a 16550 *may* or *may-not* increase your
- efficiency to over 100%.
-
- Standard disclaimer goes here. Your mileage may vary. Void
- where taxed or prohibited by law.
- Dave Appel, Node 231/30. Western Union Easylink: 62877725
- FoReM Net Node: 21 GEnie: DAVE.APPEL