EmbeddedRelated.com
Forums

handling multiple interrupt sources?

Started by arhodes19044 March 27, 2005

--- In basicx@basi..., "arhodes19044" <spamiam@c...> wrote:

> inverter for useful purposes, but had never considered it further.
> As you know, but maybe someone else reading this post may not, the
> rising edge pulse detector uses 3 inverters (half of a hex inverter
> DIP) feeding into an AND gate along with the original signal
> itself. The delay in the signal by cascading through 3 inverters
> will allow the AND gate to see both inputs high for a brief
> moment.
>

You can feed the inverter signal to a RC circuit before feeding it to
the AND gate to increase the delay. The delay actually can be
calculated by knowing VDD. By using a quad nand gate chip you can
build the circuit that you were considering without resorting to
multiple type of gates.

If you use CD4093B (cmos, 2 input schmitt triggers) for increased
noise immunuity and signal conditioning you can build ocillators,
pulse delays, edge detectors, flips-flops, invertors and so on, of
course with apprioprate caps and resitors and diodes. The point I am
getting at is you can use only one type of chip to build the various
functions for your circuit and and do not have to keep a variety of
chips on hand.

I refer to an old data book that details how to use the 4093 for
delay and pulse circuits. But I have found that many of the ideas
work with other cmos logic chips. Here is an app note that shows the
different ways the 4093 can be used. Sorry about the long address.

http://www.nalanda.nitc.ac.in/industry/appnotes/TI_logic/data/www.ti.c
om/sc/psheets/schs115a/schs115a.pdf

RR




--- In basicx@basi..., "raunig2003" <raunig2003@y...> wrote:
> Here is an app note that shows the different ways the 4093 can be
> used. Sorry about the long address.

Here is a shorter URL, courtesy of TinyURL (very convenient):

http://tinyurl.com/3jjzs

Don



I will check out your reference. It is interesting to use one type
of chip for all these functions!

-Tony

--- In basicx@basi..., "raunig2003" <raunig2003@y...> wrote:
>
> --- In basicx@basi..., "arhodes19044" <spamiam@c...> wrote:
>
> > inverter for useful purposes, but had never considered it
further.
> > As you know, but maybe someone else reading this post may not,
the
> > rising edge pulse detector uses 3 inverters (half of a hex
inverter
> > DIP) feeding into an AND gate along with the original signal
> > itself. The delay in the signal by cascading through 3
inverters
> > will allow the AND gate to see both inputs high for a brief
> > moment.
> >
>
> You can feed the inverter signal to a RC circuit before feeding it
to
> the AND gate to increase the delay. The delay actually can be
> calculated by knowing VDD. By using a quad nand gate chip you can
> build the circuit that you were considering without resorting to
> multiple type of gates.
>
> If you use CD4093B (cmos, 2 input schmitt triggers) for increased
> noise immunuity and signal conditioning you can build ocillators,
> pulse delays, edge detectors, flips-flops, invertors and so on, of
> course with apprioprate caps and resitors and diodes. The point I
am
> getting at is you can use only one type of chip to build the
various
> functions for your circuit and and do not have to keep a variety
of
> chips on hand.
>
> I refer to an old data book that details how to use the 4093 for
> delay and pulse circuits. But I have found that many of the ideas
> work with other cmos logic chips. Here is an app note that shows
the
> different ways the 4093 can be used. Sorry about the long address. http://www.nalanda.nitc.ac.in/industry/appnotes/TI_logic/data/www.ti.
c
> om/sc/psheets/schs115a/schs115a.pdf
>
> RR



> ... the different ways the 4093 can be used...

One can also implement very flexible logic in one physical part, using a
PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs are
cheap and easy to program, both logically and electrically. GALS and
PEELs can be reprogrammed, too, so your hardware logic can change just
as easily as your firmware can.

I started with a 20V8 (20 inputs, 8 outputs, more or less) with a simple
home-built parallel-port programmer (GALBLAST
http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm) but
quickly graduated to an inexpensive USB ZIF-socket programmer, then a
full-blown and sadly expensive universal device programmer
(http://www.needhams.com/) that should last me awhile.
Industry-standard JEDEC files describe the logic that the programmer
burns; JEDEC files can be produced by a number of compilers; a free one
is WinCUPL
http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59.

I have grown to love these things and now often think in terms of
programmable logic rather than 74- or 4000- series parts. Anything that
can be built using AND/OR/NOT can be built with PLDs. I implemented a
quadrature frontend, including multiple BX-24 interrupt handling and
other logic, in one GAL that sits very neatly against the left edge of
the BX-24; I used another for motor control along the right edge (see
photo "GALs for glue logic" in the group Photos). These two components
do the equivilent work of about 20 74HC DIPs. Tom
Tom Becker
--... ...--
GTBecker@GTBe... www.RighTime.com
The RighTime Clock Company, Inc., Cape Coral, Florida USA
+1239 540 5700



Tom, as far as PLD/GALs, I started with AMD and filling out a form
before PEEL, etc ;-)

Then I used PALASM and ABEL. Now days I use Verilog and sometimes
VHDL with CPLDs though I'm really not good with VHDL and just 'ok' at
Verilog. When working with CPLDs, I still resort to schematic capture
and even some ABEL modules. Still, I love the above test benches and
timing analysis. I have not used PLD's in a long time since it's so
much easier and almost cheaper depending on the 'glue', to program a
PIC (or AVR) to replace lot's of 'glue logic' unless speed is the
main priority.

I've been following this thread and I don't know if Tony has any
embedded controller experience, but he could easily do all he wants
in a single PIC which also provides Schmitt Trigger inputs. Use the
PIC to generate an interrupt and use a serial line to read a status
register to see where it came from. This is what I do in my BX-24/PIC
robotic stuff.

- Tom

--- In basicx@basi..., "Tom Becker" <gtbecker@r...> wrote:
> > ... the different ways the 4093 can be used...
> [Dang it! Yahoo insists on including the punctuation, now gone, in
the
> links; these should work.]
>
> One can also implement very flexible logic in one physical part,
using a
> PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs
are
> cheap and easy to program, both logically and electrically. GALS
and
> PEELs can be reprogrammed, too, so your hardware logic can change
just
> as easily as your firmware can.
>
> I started with a 20V8 (20 inputs, 8 outputs, more or less) with a
simple
> home-built parallel-port programmer, GALBLAST,
> http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm but
> quickly graduated to an inexpensive USB ZIF-socket programmer, then
a
> full-blown and sadly expensive universal device programmer
> http://www.needhams.com that should last me awhile. Industry-
standard
> JEDEC files describe the logic that the programmer burns; JEDEC
files
> can be produced by a number of compilers; a free one is WinCUPL.
> http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59
>
> I have grown to love these things and now often think in terms of
> programmable logic rather than 74- or 4000- series parts. Anything
that
> can be built using AND/OR/NOT can be built with PLDs. I
implemented a
> quadrature frontend, including multiple BX-24 interrupt handling and
> other logic, in one GAL that sits very neatly against the left edge
of
> the BX-24; I used another for motor control along the right edge
(see
> photo "GALs for glue logic" in the group Photos). These two
components
> do the equivalent work of about 20 74HC DIPs. > Tom >
> Tom Becker
> --... ...--
> GTBecker@R... www.RighTime.com
> The RighTime Clock Company, Inc., Cape Coral, Florida USA
> +1239 540 5700



> ... the different ways the 4093 can be used...
[Dang it! Yahoo insists on including the punctuation, now gone, in the
links; these should work.]

One can also implement very flexible logic in one physical part, using a
PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs are
cheap and easy to program, both logically and electrically. GALS and
PEELs can be reprogrammed, too, so your hardware logic can change just
as easily as your firmware can.

I started with a 20V8 (20 inputs, 8 outputs, more or less) with a simple
home-built parallel-port programmer, GALBLAST,
http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm but
quickly graduated to an inexpensive USB ZIF-socket programmer, then a
full-blown and sadly expensive universal device programmer
http://www.needhams.com that should last me awhile. Industry-standard
JEDEC files describe the logic that the programmer burns; JEDEC files
can be produced by a number of compilers; a free one is WinCUPL.
http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59

I have grown to love these things and now often think in terms of
programmable logic rather than 74- or 4000- series parts. Anything that
can be built using AND/OR/NOT can be built with PLDs. I implemented a
quadrature frontend, including multiple BX-24 interrupt handling and
other logic, in one GAL that sits very neatly against the left edge of
the BX-24; I used another for motor control along the right edge (see
photo "GALs for glue logic" in the group Photos). These two components
do the equivalent work of about 20 74HC DIPs. Tom
Tom Becker
--... ...--
GTBecker@GTBe... www.RighTime.com
The RighTime Clock Company, Inc., Cape Coral, Florida USA
+1239 540 5700



I LOVE the idea of PLD's. I had "sort of" a problem when I was
trying to work out the logic of the interrupt-creating hardware
before I came on the idea of a pulse detector.

The timer or wheel "tick" will be a roughly square wave with a
variable frequency and an unknown pulse duration.

I need to latch the signal, then reset the latch, and I may well
need to be able to reset while the original signal is still high. I
do not want it to retrigger until the signal goes back to the "off"
condition. I do not want continued presence of the signal to
inhibit my ability to the signal latch.

Originally I had considered two feeding-back latches, but it was not
that simple.....

-Tony

--- In basicx@basi..., "Tom Becker" <gtbecker@r...> wrote:
> > ... the different ways the 4093 can be used...
> [Dang it! Yahoo insists on including the punctuation, now gone, in
the
> links; these should work.]
>
> One can also implement very flexible logic in one physical part,
using a
> PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs
are
> cheap and easy to program, both logically and electrically. GALS
and
> PEELs can be reprogrammed, too, so your hardware logic can change
just
> as easily as your firmware can.
>
> I started with a 20V8 (20 inputs, 8 outputs, more or less) with a
simple
> home-built parallel-port programmer, GALBLAST,
> http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm but
> quickly graduated to an inexpensive USB ZIF-socket programmer,
then a
> full-blown and sadly expensive universal device programmer
> http://www.needhams.com that should last me awhile. Industry-
standard
> JEDEC files describe the logic that the programmer burns; JEDEC
files
> can be produced by a number of compilers; a free one is WinCUPL.
> http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59
>
> I have grown to love these things and now often think in terms of
> programmable logic rather than 74- or 4000- series parts.
Anything that
> can be built using AND/OR/NOT can be built with PLDs. I
implemented a
> quadrature frontend, including multiple BX-24 interrupt handling
and
> other logic, in one GAL that sits very neatly against the left
edge of
> the BX-24; I used another for motor control along the right edge
(see
> photo "GALs for glue logic" in the group Photos). These two
components
> do the equivalent work of about 20 74HC DIPs. > Tom >
> Tom Becker
> --... ...--
> GTBecker@R... www.RighTime.com
> The RighTime Clock Company, Inc., Cape Coral, Florida USA
> +1239 540 5700




yes 74- or 4000 series devices date back to the mid 70's and are a
much older technology.

I am not sure how you would incorporate RC circuits with PALs or if
it can be done.

I would like to use pal but am afraid of using them as I have not
come across a good step1 to stepn explanation on how to actually
program them with confidence. I always try to be careful and not make
any mistakes if I can. Hanging things off my printer port is scary to
me as I do not want to damage it.

I scanned my cd4093b application reference from an old RCA data book
as I was unable to locate any RCA website. The information it
contains can be applid to othe CMO devices. I failed to locate
another good CMOS app note on the web. I am not sure how to add it to
the links, or, that this is the right group to add this app note as
it does not pertain to the BX directly. Maybe if you would like a
copy just email me. It is a pdf, about three pages.

rr

--- In basicx@basi..., "Tom Becker" <gtbecker@r...> wrote:
> > ... the different ways the 4093 can be used...
> [Dang it! Yahoo insists on including the punctuation, now gone, in
the
> links; these should work.]
>
> One can also implement very flexible logic in one physical part,
using a
> PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs
are
> cheap and easy to program, both logically and electrically. GALS
and
> PEELs can be reprogrammed, too, so your hardware logic can change
just
> as easily as your firmware can.
>
> I started with a 20V8 (20 inputs, 8 outputs, more or less) with a
simple
> home-built parallel-port programmer, GALBLAST,
> http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm but
> quickly graduated to an inexpensive USB ZIF-socket programmer, then
a
> full-blown and sadly expensive universal device programmer
> http://www.needhams.com that should last me awhile. Industry-
standard
> JEDEC files describe the logic that the programmer burns; JEDEC
files
> can be produced by a number of compilers; a free one is WinCUPL.
> http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59
>
> I have grown to love these things and now often think in terms of
> programmable logic rather than 74- or 4000- series parts. Anything
that
> can be built using AND/OR/NOT can be built with PLDs. I
implemented a
> quadrature frontend, including multiple BX-24 interrupt handling and
> other logic, in one GAL that sits very neatly against the left edge
of
> the BX-24; I used another for motor control along the right edge
(see
> photo "GALs for glue logic" in the group Photos). These two
components
> do the equivalent work of about 20 74HC DIPs. > Tom >
> Tom Becker
> --... ...--
> GTBecker@R... www.RighTime.com
> The RighTime Clock Company, Inc., Cape Coral, Florida USA
> +1239 540 5700




It might help to design your circuit if you write down all the
input signals levels on the left side of the page and what the
corresponding output signal on the right for each of your trigger
events.

RR --- In basicx@basi..., "arhodes19044" <spamiam@c...> wrote:
>
> I LOVE the idea of PLD's. I had "sort of" a problem when I was
> trying to work out the logic of the interrupt-creating hardware
> before I came on the idea of a pulse detector.
>
> The timer or wheel "tick" will be a roughly square wave with a
> variable frequency and an unknown pulse duration.
>
> I need to latch the signal, then reset the latch, and I may well
> need to be able to reset while the original signal is still high.
I
> do not want it to retrigger until the signal goes back to the "off"
> condition. I do not want continued presence of the signal to
> inhibit my ability to the signal latch.
>
> Originally I had considered two feeding-back latches, but it was
not
> that simple.....
>
> -Tony >
>
> --- In basicx@basi..., "Tom Becker" <gtbecker@r...> wrote:
> > > ... the different ways the 4093 can be used...
> > [Dang it! Yahoo insists on including the punctuation, now gone,
in
> the
> > links; these should work.]
> >
> > One can also implement very flexible logic in one physical part,
> using a
> > PAL, GAL, PEEL or similar Programmable Logic Device. Common PLDs
> are
> > cheap and easy to program, both logically and electrically. GALS
> and
> > PEELs can be reprogrammed, too, so your hardware logic can change
> just
> > as easily as your firmware can.
> >
> > I started with a 20V8 (20 inputs, 8 outputs, more or less) with a
> simple
> > home-built parallel-port programmer, GALBLAST,
> > http://www.geocities.com/ResearchTriangle/Forum/8070/algo.htm but
> > quickly graduated to an inexpensive USB ZIF-socket programmer,
> then a
> > full-blown and sadly expensive universal device programmer
> > http://www.needhams.com that should last me awhile. Industry-
> standard
> > JEDEC files describe the logic that the programmer burns; JEDEC
> files
> > can be produced by a number of compilers; a free one is WinCUPL.
> > http://www.atmel.com/dyn/products/tools_card.asp?tool_id'59
> >
> > I have grown to love these things and now often think in terms of
> > programmable logic rather than 74- or 4000- series parts.
> Anything that
> > can be built using AND/OR/NOT can be built with PLDs. I
> implemented a
> > quadrature frontend, including multiple BX-24 interrupt handling
> and
> > other logic, in one GAL that sits very neatly against the left
> edge of
> > the BX-24; I used another for motor control along the right edge
> (see
> > photo "GALs for glue logic" in the group Photos). These two
> components
> > do the equivalent work of about 20 74HC DIPs.
> >
> >
> > Tom
> >
> >
> >
> > Tom Becker
> > --... ...--
> > GTBecker@R... www.RighTime.com
> > The RighTime Clock Company, Inc., Cape Coral, Florida USA
> > +1239 540 5700



> ...I scanned my cd4093b application reference [] am not sure how to
add it to the links...

Datasheets would go into the Files section. You can do that yourself
or, if you wish, send it to me and I'll put it up. Tom