Serial Boards

pri=-10 Stuart Lynne sl at van-bc.UUCP
Wed Nov 16 04:10:47 AEST 1988


In article <2652 at nuchat.UUCP> steve at nuchat.UUCP (Steve Nuchia) writes:
>From article <139 at wobble.UUCP>, by dlu at wobble.UUCP (Doug Urner):
>> I'm trying to select a multi-port serial card for my '386 machine.
>> One of the board's major responsibilities will be to handle uucp
>> trafic through a high speed modem I am assuming that it will have
>> to be a "smart" board.
>
>> The OS is Interactive's 386/ix.
>
>I am successfully running at 9600bps on a Bell Tech 386 with Bell Tech's
>version of Interactive V.3, using a "dumb" port with a "smart" chip
>retrofitted.
>
>If you can replace the scrummy chip with a National NS16550A
>I have a driver that takes advantage of its on-chip FIFOs and
>performs reasonably.  The driver also includes provisions
>for "dumb" multiport card addressing, and deals with a mix
>of smart and dumb chips.
>
>I am planning to release a version of the driver (as shareware,
>it was an unholy bitch to write) next month but I will send an
>advance copy to anyone who needs it to avoid the expence of a
>"smart" board.

That makes two of us :-)

Sounds like we now have all of the 286/386 Unix's covered. You for microport
286. I've got Xenix 286/386 and SysV 386. (well uPort 286 is being worked on
but only *very* reluctantly!)

>If there is a groundswell of interest in this I would consider
>coordinating a group purchase of the chips - they are not
>stock items in your typical parts shop.

Actually Hamilton Avnet usually has a good supply of these and will drop
ship anywhere via UPS COD. Last time I checked they where about $20 US.

To reinforce what Steve is saying, for one or two lines into your 286 or
386 box, you *DO NOT* need a smart card. The NS16550's with a decent driver
(Steve's or mine) will give you performance in the same range as a smart
card. It is not unreasonable to think of two trailblazers at 9600 for 286
systems or 19.2 for 386 systems.

After two lines a smart card starts to become a much more viable
proposition unless you have lot's of spare interrupts on your system. This
is because of the design limitations of the pc and how it handles
interrupts. Basically with two (or possibly three) serial chips you can put
each one on a separate interrupt. With more than that you have to start
sharing. When you share an interrupt between multiple USARTs you must check 
*all* of them for data on *every* interrupt. This increases your overhead
and interrupt latency dramatically. 

A 386 wouldn't have any problems with 3 lines if they had separate
interrupts though. 

Finally, although my driver has support for the various AT based Unix
systems it is designed to be a generic serial driver for dumb chips for any
System V based Unix system. Allows for easy implementation of serial drivers
by defining a set of macros and the interrupt and config routines. It
currently runs (for example) on 286/386 and 680X0 based systems.


-- 
Stuart.Lynne at wimsey.bc.ca {ubc-cs,uunet}!van-bc!sl     Vancouver,BC,604-937-7532



More information about the Comp.unix.xenix mailing list