Searching \ for 'More ISA bus questions [OT]' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/index.htm?key=
Search entire site for: 'More ISA bus questions [OT]'.

Truncated match.
PICList Thread
'More ISA bus questions [OT]'
1997\10\05@142021 by Herbert Graf

picon face
-----Original Message-----
From: Sean Breheny <spam_OUTshb7TakeThisOuTspamCORNELL.EDU>
To: .....PICLISTKILLspamspam@spam@MITVMA.MIT.EDU <PICLISTspamKILLspamMITVMA.MIT.EDU>
Date: Sunday, October 05, 1997 13:13
Subject: More ISA bus questions


>Hi again guys,
>
>I've got two more ISA bus questions for the ISA card I am working on. #1)
>When I don't want to cause an IRQ, must I tri-state my lines that go to the
>IRQ pins or can I just hold it low? #2) How can I cause an IRQ greater than
>IRQ7?


   Well, my guess would be to hold it low, since you're device is supposed
to be the only one that touches the IRQ line, however for the sake of
designing something that will help in conflict resolution, try leaving it
tri-stated, if it still works fine leave it, if on the other hand you start
getting spurious IRQs then keep it low, there might be noise on the line. As
for an IRQ greater than 7, you have to access the 16 bit portion of the ISA
bus, meaning you actually need a 16 bit connection, if you're card is 8 bit
you won't have access to the higher IRQs. If you do have a 16 bit card, then
I believe the higher IRQ lines operate almost identically to the lower
lines.

>Also, It would be great if someone could point me to a web site with info
>on the ISA bus.

   Ask IBM, they should have something. Although it might take a while for
them to find it.

>BTW The ISA card I am building is a high speed bidirectional 8bit parallel
>interface card, specifically designed to interface with digital circuits
>that I build, such as PIC based circuits.

   If by 8bit connection to the ISA bus, then no, you can't use the higher
IRQs, if OTOH you change you're card to the 16 bit size it should work, if
fact I don't think you even have to do data transfers with 16 bit, I beleive
it will still allow you to do 8 bit transfers if that is what you want. TTYL

1997\10\05@145146 by Sean Breheny

face picon face
At 02:10 PM 10/5/97 -0400, you wrote:
{Quote hidden}

Thanks for the info.

I know that this is not the ideal design, but I'm not sure that my device
will be the only one touching the IRQ line. But this ought to work
(sort-of) because it is possible to have two com ports (1 and 3 or 2 and 4)
on the same IRQ but on different cards, right? I know they won't work well
simultaneously, but they should be able to be in the machine at the same
time. (I hope) Actually, at the present time, I think that I do have one
free IRQ below IRQ8.

I've already started soldering parts onto my board, and it has only an
8-bit ISA edge card, so that's the way I have to go. I only need to do
8-bit transfers at a time anyway.

Thanks again,

Sean

Sean Breheny,KA3YXM
Electrical Engineering Student

1997\10\05@153126 by Herbert Graf

picon face
-----Original Message-----
From: Sean Breheny <@spam@shb7KILLspamspamCORNELL.EDU>
To: KILLspamPICLISTKILLspamspamMITVMA.MIT.EDU <RemoveMEPICLISTTakeThisOuTspamMITVMA.MIT.EDU>
Date: Sunday, October 05, 1997 14:55
Subject: Re: More ISA bus questions [OT]
>>    If by 8bit connection to the ISA bus, then no, you can't use the
higher
>>IRQs, if OTOH you change you're card to the 16 bit size it should work, if
>>fact I don't think you even have to do data transfers with 16 bit, I
beleive
>>it will still allow you to do 8 bit transfers if that is what you want.
TTYL
>>
>
>I know that this is not the ideal design, but I'm not sure that my device
>will be the only one touching the IRQ line. But this ought to work
>(sort-of) because it is possible to have two com ports (1 and 3 or 2 and 4)
>on the same IRQ but on different cards, right? I know they won't work well

   Well yes, the problem is they fight with each other if their outputs
aren't tri-stated, for example one card might be hollding a low and another
might be wanting to initiate an IRQ, the high fights with the low and three
things can happen, 1. the high beats the low enough that the line sees a
high and everything works fine, 2. the high and the low are equal in which
case you've got something between a high and a low, then it depends on the
computer on how it will deal with it, 3. the low beats the high and the bus
never sees the IRQ. Usually everything works fine, but I don't know what the
recommendation is, whether to leave it tristated or not, for stafety sake on
any bus, I would recommend tristating when not in use, it just solves many
problems.

>simultaneously, but they should be able to be in the machine at the same
>time. (I hope) Actually, at the present time, I think that I do have one
>free IRQ below IRQ8.

   I just though about this, I also have one free, IRQ 7, not the best IRQ
to use, probably why it is free in almost every machine I use! :)

>I've already started soldering parts onto my board, and it has only an
>8-bit ISA edge card, so that's the way I have to go. I only need to do
>8-bit transfers at a time anyway.

   Well then, you will be stuck with IRQs below 8, not neccessarily a bad
thing, or a good thing for that matter. :) TTYL

1997\10\05@162544 by Harold M Hallikainen

picon face
       i believe an ISA bus interrupt line should be driven solidly high
or low (not tristated) unless that card is disabled.  The interrupt
controller has standard TTL inputs (or similar), and tends to pull open
lines high.  Tristating an IRQ line will allow that line to generate an
interrupt (assuming it's been enabled in the interrupt controller).
       Also, I believe there are a couple things in the ISA design that
keep us from sharing interrupts.  First off, the interrupt lines are
active high.  Most devices can sink more current than they can source.
If the bus were active low, we could parallel several open collector or
open drain devices to pull the IRQ line low when one of those devices
wanted to generate an interrupt.  Second, I believe the interrupt
controller is edge triggered instead of level triggered (though it MIGHT
be possible to change this through programming the interrupt controller).
If one device drives the IRQ line true, and the ISR starts polling
devices, then an already polled device generates an IRQ (also driving the
line true), when the original device is serviced and releases the IRQ
line, the second device continues to hold it true.  There is no second
edge to generate an interrupt.
       Before the ISA bus, I did stuff with the MC6802.  It was VERY
easy to share interrupts on that!  It was active low and level triggered.
       As someone else pointed out, to get to the higher interrupt
lines, you need to use a 16 bit ISA card.  You can continue to do 8 bit
transfers to a card with a 16 bit form factor.
       I did one ISA bus design that used open source drivers to pull
the IRQ line up, and a current mirror to pull the line low.  These cards
could be paralleled on the same IRQ line without contention.  I never got
to fully test how the edge level trigger problem would be fixed.

Harold


On Sun, 5 Oct 1997 15:19:36 -0400 Herbert Graf <spamBeGonehgrafspamBeGonespamGEOCITIES.COM>
writes:

1997\10\05@201211 by jorgegf

flavicon
face
Hello


...
Herbert Graf wrote:
>
> -----Original Message-----
> From: Sean Breheny <TakeThisOuTshb7EraseMEspamspam_OUTCORNELL.EDU>
> To: RemoveMEPICLISTspamTakeThisOuTMITVMA.MIT.EDU <PICLISTEraseMEspam.....MITVMA.MIT.EDU>
> Date: Sunday, October 05, 1997 14:55
...
>     I just though about this, I also have one free, IRQ 7, not the best IRQ
> to use, probably why it is free in almost every machine I use! :)
>
...

In fact it isn't free, the IRQ7 is dedicated to the printer port.
Althought MS-DOS makes no use of it, it is used by other operating
systems that use interrupt driven spoolers for their printing jobs. As
you see it might be a very bad idea to use IRQ7 as your software can get
confused if you send something to the printer.

       best regards

       Jorge F

1997\10\05@201214 by jorgegf

flavicon
face
Hi folks



Sean Breheny wrote:
...
> I know that this is not the ideal design, but I'm not sure that my device
> will be the only one touching the IRQ line. But this ought to work
> (sort-of) because it is possible to have two com ports (1 and 3 or 2 and 4)
> on the same IRQ but on different cards, right? I know they won't work well
> simultaneously, but they should be able to be in the machine at the same
> time. (I hope) Actually, at the present time, I think that I do have one
> free IRQ below IRQ8.
...
> Sean
>
> Sean Breheny,KA3YXM
> Electrical Engineering Student
...

The one reason because you can have IRQ lines shared by two COM ports is
because you can 'ask' the UART who sent the interrupt. By other means
when your int service routine reads the status register of the UART to
detect if the interrupt was RX or TX you can find that none of them have
been activated so you know that the IRQ line was activated by other
device. The int. service routine of the other device should do act
pretty much tha same way. Of course this means chaining all the IS
routines to the same IRQ line. To achieve this, every ISR must save the
current int vector when instaling is and them perform and indirect call
to the old vector each time it runs.
Sometimes this doesn't work (the famous conflict of the serial mouse in
com1/2 and modem in com3/4) because one or both devices generate too
many IRQs in fast sequence, then due the a very long ISR requests are
lost and one or bouth devices start to behave erracticaly.


       best regards

       Jorge F

1997\10\05@212238 by Herbert Graf

picon face
-----Original Message-----
From: Jorge Ferreira <EraseMEjorgegfspamMAIL.TELEPAC.PT>
To: RemoveMEPICLISTEraseMEspamEraseMEMITVMA.MIT.EDU <RemoveMEPICLISTspam_OUTspamKILLspamMITVMA.MIT.EDU>
Date: Sunday, October 05, 1997 20:15
Subject: Re: More ISA bus questions [OT]


>>     I just though about this, I also have one free, IRQ 7, not the best
IRQ
{Quote hidden}

   Although IRQ7 is officially tied to the printer port, very few people
use an operating system that supports it and even fewer who have the
operating system use it. Unfortunately it never really caught on. I have yet
to have a printer conflict with another device on IRQ7. The high speed ports
of today may have drivers that use it, but I haven't seen one in use. The
biggest concern with IRQ7 that causes problems is that fact that it is the
refuse container of the IRQ world. If the Interrupt controller detects an
IRQ but can't figure out which one did it, it signals an IRQ7. So any noise
on any of the IRQ lines can cause a false triggering of IRQ7, a problem if
you're ISR isn't ready for it. Another problem that affects the choice of
IRQ7 is in timing critical applications. IRQ7 is of lowest priority, any
other interrupt will be serviced before IRQ7, so if you have a high speed
modem connected to IRQ7 you can sometimes have overruns of data, even with a
16550 UART! I have seen this occur on more than one computer. Networks cards
sometimes have trouble with lost packets as well. The problem really shows
up if you have alot of other stuff going on, hard drive access, mouse
movement, keyboard pressing, the floppy drive is really bad for that. TTYL

1997\10\06@022358 by Pasi T Mustalahti

picon face
On Sun, 5 Oct 1997, Harold M Hallikainen wrote:

> Second, I believe the interrupt
> controller is edge triggered instead of level triggered

PTM: So goes the story as someone has told it to me:

When IBM noticed how popular Apple II and S100-bus were because of their
open architecture, they decided to produce similar, only slightly better
to drive Apple out of bussiness. They hired a couple of kids with no prior
connections to the world of computers. Not too wise guys to step on
the toes of the mainframe-boys.

Then they told them to make a computer for homes. They had a possibility
to select a good wellknown processor: Z80, 6809, 6502, 1802. And they
selected wrong. Then they started to design a buss. They had a IRQ-chip
that had two possible ways to react to interrupts: edge and lewel. And
they shut their eyes and threw a coin. And the coin dropped to the wrong
side.

With level active IRQ we could have had polling IRQ and limitless quantity
of IRQ-possibilities. With edge triggered you must do some hairy tricks to
go over this problem.

And the story goes on: they bought a bios and an operating system with a
Basic interpreter in it and decided not to use this Basic. Instead they
made a new command line interpreter. Now they had two starving
interpreters in one machine. With a little thinking they could have left
this command.com out and used BASIC. (I know, you will say that Basic is
not a language, it is something from deep under, but try to make something
usefull with the syntax of COMMAND.COM. I like Basic)


--------------------------------------------------------------------------
PTM, RemoveMEpasi.mustalahtiTakeThisOuTspamspamutu.fi, EraseMEptmustaspamspamspamBeGoneutu.fi, http://www.utu.fi/~ptmusta
Lab.ins. (mikrotuki) ATK-keskus/Mat.Luon.Tdk OH1HEK Lab.engineer (PC
support) Computer Center OI7234 Mail: Turun Yliopisto / Fysla,
Vesilinnantie 5, 20014 Pt 02-3336669, FAX 02-3335632 (Pk 02-2387010, NMT
049-555577)
--------------------------------------------------------------------------

1997\10\06@051527 by Frank A. Vorstenbosch

flavicon
face
On Mon 06 Oct, Sean Breheny <RemoveMEshb7KILLspamspamCORNELL.EDU> wrote:
>
> Hi again guys,
>
> I've got two more ISA bus questions for the ISA card I am working on. #1)
> When I don't want to cause an IRQ, must I tri-state my lines that go to the
> IRQ pins or can I just hold it low? #2) How can I cause an IRQ greater than
> IRQ7?
>
> Also, It would be great if someone could point me to a web site with info
> on the ISA bus.
>
> I appreciate it very much.
>
> BTW The ISA card I am building is a high speed bidirectional 8bit parallel
> interface card, specifically designed to interface with digital circuits
> that I build, such as PIC based circuits.

I realise that you're probably doing this mostly because of a desire
to build something yourself, but having said that there is an easier
way to get a fast 8-bit bidirectional interface.

In my current project at work I'm using the IEEE-1284 parallel port on
a desktop machine to connect to my device.  Due to how this particular
desktop is designed, I can 'only' get it up to 1MB/s, on peecees you should
be able to get 2MB/s.

The parallel port in a PC is typically implemented with a 37C665 or one
of its siblings, which isn't terribly difficult to program.  Most tricky
bit is getting the IEEE-1284 negotiations right, these make sure that
you don't burn out your tristate drivers when you connect your box to a PC.

All new PCs, and almost all of the multi-I/O cards made in the last few
years will have a printer port that allows you to select EPP and ECP
modes.  ECP mode is designed to use interlocked handshaking and generally
works very well.  It will allow you to use DMA to transfer data straight
into memory.  The only problem from a PIC standpoint is that it requires
a lot of pins (8 data+9 control).
Of course if you're just designing something that you're going to use
at home then you can get away with just ten signals: 8 for data and
2 for the interlocked handshake.

Frank
------------------------------------------------------------------------
Frank A. Vorstenbosch                           Phone:  +44-181-636 3391
Electronics & Software Engineer                    or:  +44-181-636 3000
Eidos Technologies Ltd., Wimbledon, London      Mobile:  +44-976-430 569

1997\10\06@120901 by Mike Keitz

picon face
On Mon, 6 Oct 1997 01:09:09 +0100 Jorge Ferreira
<jorgegfSTOPspamspamspam_OUTmail.telepac.pt> writes:
>Hello
>
>
>...
>Herbert Graf wrote:
>>
>> {Original Message removed}

1997\10\08@111145 by Mike Smith

flavicon
face
-----Original Message-----
From: Mike Keitz <spamBeGonemkeitzSTOPspamspamEraseMEJUNO.COM>
To: KILLspamPICLISTspamBeGonespamMITVMA.MIT.EDU <EraseMEPICLISTspamEraseMEMITVMA.MIT.EDU>
Date: Tuesday, 7 October 1997 1:40
Subject: Re: More ISA bus questions [OT]


>Unfortunately, the various printer and card manufacturers didn't
>standardize exactly how the printer IRQ should work.  As a result,
>practically no software uses it, instead using a timer interrupt to poll
>the printer.  The printer card should have a jumper on it to connect the
>IRQ, just remove the jumper and there should be no bad effect to using
>IRQ7 for something else.



The Claytons of standards.  Hope USB has a better fate, and that USB
adaptors become (cheaply) available for legacy stuff.

MikeS
<@spam@mikesmith_oz@spam@spamspam_OUTrelaymail.net>

More... (looser matching)
- Last day of these posts
- In 1997 , 1998 only
- Today
- New search...