home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / 5 / 550_util.zip / 16550.ZIP / UART.MSG < prev   
Text File  |  1989-03-06  |  7KB  |  121 lines

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