From: ian_primus at
yahoo.com
I guess I should have been more clear... And everyone
has brought up some good points. I initally didn't
think about the initial power-up setting, but in this
application it doesn't much matter - I guess
defaulting to none pressed (or #1 pressed, even
better) would be good. I don't intend to press two
switches at once, but if it were to happen, it doesn't
much matter - either one could take priority. I'd
rather not have more than one select output active at
a time, but it's not a huge problem if it happens.
Timing is totally non-critical. Two outputs can be
active for a tiny period, no outputs active during
switching is fine. The idea is to simply control some
CBT3244A bus switching chips to switch some analog
signals. I want to avoid having each chip controlled
by a toggle on/off switch, because then in order to
change signals you would have to manually turn off
one, and turn on the next.
The main thing I'm trying to achieve is simplicity.
Nothing fancy. No PIC's, no microcontrollers, etc. I
initially thought of using flip flops and a bunch of
inverters to reset all the non-selected flip flop, but
couldn't work out in my head a good way to do it... I
hadn't taken switch debouncing into the equation - but
aren't flip flops commonly used to debounce switches
anyway?
Hi
The simplest method would be to use the cross coupled
nands as another described. For 8 inputs, you'll need
4 ea 7400's to make the nand latches. You'l need 8 ea 8 input
nands ( forget the 74 number ) and 3 of the hex inverters,
7404s.
For each switch wire one lead to ground. Wire one lead
to a 4.7K pullup resistor and one of the free inputs to the
cross coupled nand pair. Also wire that switch lead to
7 of the 8 input nands ( not the one on this switch circuit. ).
On the remaining free inputs to the cross coupled nands
pair, wire an inverters output. The input of the inverter
goes to the output of the 8 input nand that wasn't one of the
7 connected to this switch.
Repeat this for each of the 8 switches.
If the active level is to be 0 when selected, you can save
one inverter IC. If it needs to be active high, you need the
inverter. in either case, you need to connect to the nand
that has the inverter to the 8 input nand. This will ensure
that multiple switches won't select anything until only
one is selected.
On the 8 input nand, you'll notice that one input isn't
connected. This can be used to reset. Tie all together
with a 1K resistor to +5. Place a diode across this such
that the band is on the +5 ended.
Add a 10uf tantalum to this net with th plus on the
same net and the negative to ground.
This will reset all on powering up. If you want to
one of the outputs to come on when powering up,
you can add a similar capacitor, resistor and diode
circuit to the desired input switch lead. You'd need to
remove the common input to the 8 input nand and
tie it to +5 as well.
I like this better than using some other clocked method
because if multiple switches are selected at the same time,
non will select but when the last switch is still selected,
that output will go active.
There are no ambiguous states and no oscillations. The switches
are debounced as well.
Dwight
_________________________________________________________________
Connect and share in new ways with Windows Live.
http://www.windowslive.com/connect.html?ocid=TXT_TAGLM_Wave2_newways_112007