Cascading De-Multiplexers

Thread Starter

mxabeles

Joined Apr 25, 2009
266
Hi there.
I am using de-multiplexers alot recenty, and want to use them alot more :)
There are so many uses for them it kills me :))
Anyway, how can I cascade de-multiplexers? Basically I want to have around 16 or 32 outputs but not have any of the outputs possibly getting tied.
Basically i want 3 (or more) 4051s to share the same common input, and be able to choose (use 595 shift registers) a different output from 1 of the 32 outputs, as opposed to using three individual 4051's wired independently because then I would always be choosing three of 32 outputs.....
make sense? Please tell me if not and will try and reformulate.
Best,
M

PS I"m thinking the trick lies somewhere in taking 1 4051 and feeding its 8 outputs into the s0,s1,s3 pins of 3 other 4051s sharing same input, but not sure if thats doing it....
 

rjenkins

Joined Nov 6, 2005
1,013
Connect the select and inputs of the 4051s in tandem, except the Inhibit.

By taking the inhibit line of one chip low, you enable that while leaving all others disabled.

You could treat it as a one-of-four and ensure you never enable more than one at a time, or you could use a decoder like a 74HC138 or 139 to feed the appropriate enable using two lines in (effectively making them s3 and s4).
 

Thread Starter

mxabeles

Joined Apr 25, 2009
266
nevermind I think I figured it out, but a little confirmation from the guys wouldn't hurt lol.
OK here is a cascaded 4051 circuit as multiplexer (see link).
http://www.arduino.cc/playground/Learning/4051 (scroll down a few pics and you'll see it on right hand side, small I know)

Now, to get what I want, which is as a demultiplexer...well I'll just try my luck with eagle and post a prototype.
Since A,B,C is being chosen by a psuedo random circuit I only connected first 4051 to A and B and connect output 2,3 together with XOR gate cause I can't control the register to only spit out 0,0 1,0 0,1. Some point it will hit 1,1 and move to output 3. Think this was good solution.
Question I have now is do I need some pulldown resistors on the common inputs for when they are not on?
Best,
M
 

Attachments

Thread Starter

mxabeles

Joined Apr 25, 2009
266
Connect the select and inputs of the 4051s in tandem, except the Inhibit.

By taking the inhibit line of one chip low, you enable that while leaving all others disabled.

You could treat it as a one-of-four and ensure you never enable more than one at a time, or you could use a decoder like a 74HC138 or 139 to feed the appropriate enable using two lines in (effectively making them s3 and s4).
sounds simple enough. Im going to have to do some think on how to make a circuit that has a 3 on/ 1 off output. Maybe scroll through with a 4017 and have each step of 4017 connected to three of 4 inhibit pins? But then when the INH is unconnected it will be just floating right? Is there some way to have a pulldown resistor on each inhibit pin but when logic high is sent to inhibit it goes high? would a 10k resistor work for this?
Best,
M
 

SgtWookie

Joined Jul 17, 2007
22,230
CMOS inputs must never be left "floating", or you will experience odd problems.

10k pull-up or pull-down resistors are typically used. You can go higher if you'd like; 100k is not out of the question.

On the other hand, unused OUTPUTS should be left disconnected. Do not connect them directly to Vdd or GND, or you may damage the IC.
 

Thread Starter

mxabeles

Joined Apr 25, 2009
266
cool, so basically the 10k resistor is "ignored" and the pin taken high when given a signal but then brought back down to ground when there is no signal present correct? and by the way the suggestion to use the 3-8 decoder or whatever is amazing. def going that route
 
Top