[Solved thanks MarkT]Shopping check list & confusion shift reg's IC output types

I'm building a joystick type device (actually it's a HID Dj software controller) with many inputs 80 analogue & 160 butons on a Uno R3, I did the hard bit with the HID firmware, I'm on to the next hard bit ::slight_smile: picking the parts.
I'm new so I'm a bit daunted with some of the technical terms and range of choice when shopping.

The analogue muxing, I think I have the right choice with 5*

With a on resistance of 2.5 ohm it's ok with respect to the 10 k that will be providing the variable potential
(If I could find a DIP 16:1 or 32:1 with a low on resistance I'd rather have that)

For the buttons, 20 shift registers seems the way to go, of these 2 which should I go for? can these be daisy chained?

Shift register with a IC output type of differential ???
Or

Shift register with a IC output type of Standard ??? (I don't know what this means, wikipedia got very technical very quickly)
Or have I got the wrong type in both choices?

I've read I need 0.1 uF ceramic caps for the shift register's power supplies do I also need them for the muxer's supplies? (I'm guessing yes)
For a pull down resistor(s) for the buttons what is a sufficient ohmage? (does it matter? anything +1k? 1/4w)
Pots will be 10K linear and buttons will be cheap.

Have I missed anything for consideration? Thanks for reading and looking if you did.

nick

“Differential” for the 74HC165 just means that Q7 and Q7-bar are both available - not
an issue. I think those daisy chain with Q7 from one to DS on the next. If you
have 20 of these to drive with a common clock signal you may need a clock-distribution
network to avoid overloading the driving pin (or maybe not - its a question of fan-out
and depends on the speed you need it to clock at).

As for the analog multiplexer those are way expensive - you don’t need 2.5 ohm
on-resistance unless you are doing something like implementing a programmable-gain
amplifier.

If you are just routing multiple pots to a single ADC then the multiplexer on resistance
is irrelevant so long as its < 10k. The important thing is that the off-resistance is extremely
high (which is always the case with CMOS multplexers)

Thanks for the reply, as for the clock speed it won’t be higher than 2 KHz, so… I’ll be ok to avoiding needing clock distribution?

You are correct the only thing happening with the analogue is out the pot, multiplexed and into one of the Uno pins (which I’ve read is just one ADC multiplexed internally between all pins)
As for the multiplexers ‘on resistance’ I assumed it would add on to my pot’s resistance and thus alter my readings, if you say it doesn’t make a difference <10K ohm it must mean something else.

So this is suitable? (80 ohm on, I can’t find a off resistance but the data sheet mentions CMOS use, supply voltage is Uno friendly) Costs about 80 pence/$1US
http://uk.farnell.com/texas-instruments/cd74hc4067e/logic-mux-demux-analog-hs-24dip/dp/1740160

Was I correct with my assumption that decoupling caps will be needed for the muxer’s power supply?
And that any +1K ohm resistor is fine for pulling down?

locodog:
Thanks for the reply, as for the clock speed it won’t be higher than 2 KHz, so… I’ll be ok to avoiding needing clock distribution?

No, its fundamental to clock signals - if the waveform gets distorted by overload or
reflections you can get multiple transitions per clock, whatever speed you drive it -
fortunately most devices have schmitt-trigger clock inputs that help prevent this.

Clock edges are fast logic transitions, perhaps 5ns risetime in normal case, large
fanouts reduce this because of all the stray capacitance of the inputs, slowing the
edge down.

You will probably be OK with an Arduino pin driving as they have an output resistance
of about 40 ohms which should cope well if the wiring is short.

You are correct the only thing happening with the analogue is out the pot, multiplexed and into one of the Uno pins (which I’ve read is just one ADC multiplexed internally between all pins)
As for the multiplexers ‘on resistance’ I assumed it would add on to my pot’s resistance and thus alter my readings, if you say it doesn’t make a difference <10K ohm it must mean something else.

The Arduino ADC needs a source of 10k or less for accurate readings, but that’s
a very rough figure, and depends on whether you are calling analogRead() on more
than one distinct pin. I would add 100nF caps to ground on every input to the
multiplexer (not to the output) - this will reduce noise pickup.

So this is suitable? (80 ohm on, I can’t find a off resistance but the data sheet mentions CMOS use, supply voltage is Uno friendly) Costs about 80 pence/$1US
http://uk.farnell.com/texas-instruments/cd74hc4067e/logic-mux-demux-analog-hs-24dip/dp/1740160

Was I correct with my assumption that decoupling caps will be needed for the muxer’s power supply?
And that any +1K ohm resistor is fine for pulling down?

Yes, yes and yes. 100nF decoupling on every logic chip unless datasheet says different.

locodog:
I assumed it would add on to my pot's resistance and thus alter my readings.

The point is no (steady-state) current is flowing through the analog multiplexer, only
voltage is being sensed.

No current means no difference in voltage across the multiplexer. Current is flowing
down the potentiometer track since you connect one end to 0V and the other to +5V.

Thanks a lot for the info, it's reduced the parts cost considerably. Also with looking again I found the bits as DIPs and that has saved me a lot of SMD soldering pain.