*BSD News Article 14493


Return to BSD News archive

Newsgroups: comp.os.386bsd.questions
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!haven.umd.edu!uunet!psgrain!percy!agora!rgrimes
From: rgrimes@agora.rain.com (Rodney Grimes)
Subject: Re: patch support for Chris' com drivers ?
Message-ID: <C5I67z.3G3@agora.rain.com>
Organization: Open Communications Forum
References: <C5D4sw.B3B@constellation.ecn.uoknor.edu> <1qdio2$mjf@walt.ee.pdx.edu> <duncanC5FMJ4.HD@netcom.com>
Date: Thu, 15 Apr 1993 02:14:23 GMT
Lines: 63

duncan@netcom.com (Donald K. Duncan) writes:

>In article <1qdio2$mjf@walt.ee.pdx.edu>, rgrimes@acacia (Rodney W. Grimes) writes:
>>...
>> The reason I chose IRQ2 and IRQ5 is that is what most COM boards allow as
>> alternates, not so much as what is not used.  The bad thing is that shared
>> interrupts require special hardware design to be done correctly, and I know
>> of no boards that are designed correctly.  This is an electronic level issue,
>> that has to do with the type of driver used to drive the IRQ signal.
>> 
>>...

>It is true that one should drive the IRQ signal correctly.  A very
>simple and inexpensive way of modifying virtually ANY serial card to
>work with a shared interrupt driver such as CGD's is as follows:

>Epoxy a piece of perfboard to the edge of the serial card (remove it from
>the system first :).  On the perfboard place a tristate buffer IC such
>as a 74ls126 quad tristate buffer and wire ALL the outputs of the '126
>to the desired ISA interrupt line such as IRQ5 (on the card - not the
>motherboard!!).  Pull the IRQ line low to ground with a 220 ohm resistor.
>There should only be one resistor per interrupt line.  Next, cut the
>trace coming from the INT pin from each of the serial chips and wire
>the INT pin to an input and its associated enable pin on the '126.
>The 74ls126 will handle upto 4 serial chips as it is a quad buffer.  This
>arrangement is basically a wired-or of the serial IC INT pins.  Note the
>need for a TRISTATE buffer as a normal buffer would cause contention.
>Note further that each buffer must have its own enable.  Otherwise
>additional logic will be required.  I'm currently using such an
>arrangement to support 8 serial ports on two interrupt lines.

>It is an easy modification but just be careful.  I assume no responsibility
>for fried systems.

Easy for someone who knows what they are doing.  This solution is a
"reasonable" one, though I would have to do some quick loading and timing
calculations to see if infact the ls126 and the 220 ohms are "correct"
values.  I have my doubts about the interrupt signal going in active quick
enought with a passive pulldown, but possible the THZ of the ls126 is longer
than the THL, and thus the signal is actually driven low by the ls126 before
it tri states.

My real reason for repling is to ask if their is significant interest in a
properly designed shared IRQ board and a modified driver that would support
8 serial ports on 1 board.  I have such a design in prototype form that uses
an extra on board register that is polled at interrupt time to decide who
interrupt from the board, this saves some time in the driver as it can check
one register to find out which com ports need service.  This board ONLY
works with 386bsd and a modified driver, ONLY ONE of them has been built,
but if the interest is high enough I could have a PC board designed and
boards fabricated.  It can use either 16450's or 16550's (I recomend 550),
and the board would come with schematics, and a programmers spec, someone
could write drivers for other OS/s, even DOS.  It has FULLY assignable
I/O addresses and can use ALL ISA IRQ's, as it uses a full 16-bit bus
connector.

Also in the works from Accurate Automation is a SYNC board based upon the
82530 chip, this would be a dual sync board for upto 1MBit/s operation of
high speed sync modems.  This board is still in the design stages.
-- 
Rod Grimes						rgrimes@agora.rain.com
386BSD patchkit coordinator			      Wish it paid real money!
Accurate Automation Company          All opinions belong to me and my company!