From: "Norm Dresner"
Subject: Re: ISA IRQ signal active how long?
X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
Date: Sat, 05 Oct 2002 21:06:45 GMT
NNTP-Posting-Date: Sat, 05 Oct 2002 21:06:45 GMT
Organization: AT&T Worldnet
Ralph Wade Phillips wrote in message
> "Norm Dresner" wrote in message
> > > You've not worked much with the ISA IRQ crap design, have
> > It's
> > > active HIGH. It's SUPPOSED to be totem-pole.
> > >
> > > Yes, it's crap. It's worse than crap, it's what happens when
> > > feed crap to a horse - you get double-crap. But it IS. Sigh.
> > >
> > > (Yes, the proper way to handle IRQs is active-low
> > > with open-collector drivers. Not how IBM did it, however.)
> > >
> > Regardless of your opinion of the design, it is what it is.
> > Also, if the interrupt is to be shared -- and it *does* work --
> > is the only way.
> OK. So - you have device A and device B both using IRQ 4, say.
> Both are OC devices. So, both turn on the outputs so that they can pull
> line low (remember - PC ISQ IRQs are active-high edge-triggered!).
> Exactly HOW does device A signal an IRQ? Device B has the line
> LOW - so there's no edge to trigger the PIC.
> "Well, reset it!"
> And promptly screw up OTHER cards on the ISA bus.
> I don't disagree that OC is the way to go for shared IRQs. But
> you go OC, you just destroyed ANY possibility of having the IRQ work
> if it IS shared ... TriState, and activate ONLY when not being IRQed is
> way to do it. That, or forget ISA and use something with a rational
> interrupt design ...
When I've used shared interrupts on an ISA-bus they were devices that were
_never_, _ever_ active at the same time. Perhaps a serial line and an
industrial counter/timer card or some other such combination. I'm not
advocating setting all of your ISA devices to IRQ9 the way Windoze does it,
but it is possible to share. In practice it works with edge-triggered
IRQ's where the line is pulled high by a resistor and either device can
pull it low momentarily and then let it go high to trigger the interrupt.