Electronic – arduino – ATtiny/ATmega programmer board – need a 6 x 1:3 Mux solution

arduinodigital-logicmultiplexer

Hey so I'm trying to create a circuit on perf board that allows me to program three different types of chips using an Arduino Duemilanove as ISP. Those chips are the ATtiny85, ATtiny84, and ATMega328.

I want to use one 28-pin ZIF socket for all 3 chips, and not have to remember a specific placement for the chip, so I just want each chip to sit at the very top of the ZIF socket for the 8-pin 85 and 14-pin 84.

So I've mapped out all the connections that will need to go into the ZIF socket, and now have come across a switching problem.

Essentially there will be 3 states, one for each type of chip, and there are 6 signals that need to be switched (5V, GND, RST, MOSI, MISO, and SCK).

I've mapped out which pins each signal will need to go to, but now I need an analog switch IC or analog multiplexer to make this happen.

For example, MOSI looks like this:

State 1: MOSI -> 25
State 2: MOSI -> 7
State 3: MOSI -> 17

Since I have 6 signals, and 3 states, ideally a 6 channel 1:3 Demux would be perfect, but I think it's pretty certain those don't exist. It seems like the most practical I can find so far is a dual channel 1:4 demux, so I would need to use 3 of those.

Essentially what I'm here for is 1) Does anybody know of a better way to do this, or 2) Does anybody know of any IC's that can solve this?

Best Answer

As I currently don't have enough rep to make a comment, I will attempt a complete answer.

First, you most likely do not need an analog demux, a digital would be good enough, since all the stuff is running off 5V.

Second, you could, if you wanted, look for a device such as a CPLD. This is a software programmable logic gate array, that has non-volatile memory. Not as complex as an FPGA in general though. This would make your device capable of programming a different device, just using a software upgrade. Simply wire it up to many pins in the socket. (Please don't stone me for revealing this option)

Third, a 74138 device would probably satisfy your needs.

Related Topic