home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 February / PCO_0299.ISO / filesbbs / os2 / s2kb009.arj / S2KB009.ZIP / TECHTALK.TXT < prev    next >
Encoding:
Text File  |  1998-02-26  |  4.4 KB  |  96 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                             Technical Rambling about SIO2K
  10.  
  11.           The SIO2K set of drivers have some interesting new techniques and
  12.           implementations.
  13.  
  14.           Block input and output.
  15.                If the UART is a FIFOed device, the interrupt service
  16.                routines (there are several) always use block input and
  17.                output instructions to read and write characters.  During
  18.                high communications activity, this means the 16550 interrupt
  19.                routine is 5 to 10 times faster (possibly more) than
  20.                previous implementations.  UARTs with larger FIFOs will
  21.                execute even faster.  Now boys and girls, it is the
  22.                interrupt service routines that are faster.  Nothing on
  23.                Earth can make your modem go faster than it is capable of. 
  24.                However, faster interrupt service routines means less
  25.                processor overhead.
  26.  
  27.           Automatic FIFO sizing.
  28.                The SIO2K drivers now support 16650 and 16550A, and 16750
  29.                uarts.  Additional support is being added for the 16850 and
  30.                16950. However, knowing the chip type does not necessarily
  31.                mean the FIFO size is know.  For example, the 16654 is the
  32.                equivalent of four (or more) 16650A UARTS on a single chip. 
  33.                The normal 16650 UARTs have a 32 byte FIFO, but the UARTS on
  34.                the 16654 have 64 byte FIFOs.  Only probing will determine
  35.                this.
  36.  
  37.                The first time a UART is touched by an application the SIO2K
  38.                drivers automatically probe the size of the FIFO and the
  39.                found size is used.  Note that a UART with no FIFOs can be
  40.                thought of as having a FIFO size of 1 byte.  My thanks to
  41.                Sam Detweiler, of IBM, for the idea of probing for FIFO
  42.                size.
  43.  
  44.           Automatic Crystal Frequency.
  45.                Most UARTs are capable of bit rates to 921600bps or
  46.                more.  However, on most serial devices, the bit rate is
  47.                limited to 115200bps by the crystal oscillator attached
  48.                to the UART. Many boards, like those from Lava, offer
  49.                bit rates greater than 115200 by using faster crystal
  50.                oscillator.  The down side is one must tell the driver
  51.                to use a bit rate of 28800 to really get a bit rate of
  52.                115200.
  53.  
  54.                The first time a UART is touched by an app, the SIO2K
  55.                drivers probe the UART to determine if it is using a
  56.                standard crystal oscillator or not.  If the frequency is not
  57.                standard, then the SIO2K drivers automatically adjust so
  58.                that a request of 115200bps yields an actual bit rate of
  59.                115200bps.  In addition, the maximum bit rate is adjusted
  60.                and reported to applications that request the maximum bit
  61.                rate.  Boards like the Blue Heat from CTI use a 12x crystal
  62.                and its top bit rate is 1382.4kbps.
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.           Minimum touch during boot.
  72.                The SIO2K drivers do not touch the UART hardware during
  73.                boot. This was very difficult to do, while maintaining a
  74.                compatible OS/2 serial driver. The "no touch" practically
  75.                eliminates the possibility of traps occurring during the
  76.                boot process when they are difficult to deal with.  This
  77.                does mean that a lot of processing will occur the first time
  78.                a port is opened.
  79.  
  80.           Coming attractions.
  81.                The separation of the standard OS/2 driver into two drivers
  82.                (sio2k.sys and uart.sys) amounts to a virtualization of the
  83.                OS/2 serial driver.  This gives great flexibility in
  84.                redirecting the serial data to destinations other than a
  85.                serial device.
  86.  
  87.                The first major addition planed for the SIO2K driver set is
  88.                remote modems.  Using this feature, OS/2 systems will be
  89.                able to access modems on another OS/2 system across a
  90.                network.  An planed now, the network can be either a Local
  91.                Area Network, or Internet/Intranet.
  92.  
  93.                One will be able to set up an OS/2 system to act as a modem
  94.                pool for other OS/2 systems, and it will be simple.
  95.  
  96.