78Views0Replies

Author Options:

analog demultiplexing? Answered

Is it a good idea to use just a single DAC to produce 2 or more separate analog outputs? I do not need super fast updating rate, but I do need precision.

My DAC is a old but pretty cool looking DAC71, of which I have like a handful. It has a 16 bit parallel interface (which is a REAL PAIN) and a CC output. Placing a small resistor on the output of that gives me a voltage range. To interface it to an arduino, I used two 74C164 shift registers so that I only use 2 pins on the arduino. (one for clock, the other for data). However, the DAC does not have an updating rate, it is kinda analog in that respect. Because of that, you can see all the garbage from the shift register outputs while data is being shifted in.

My current solution to this problem was to use a spare TL601 analog switch and a 3rd wire from the arduino to "mask" the updating period when data is being shifted into the registers. This worked well, until the wire popped out and came into contact with +12V rail, killing arduino pin 10. :(  so sad, it was literally a brand new arduino clone...

In a similar fashion that the output of a single ignition coil in a car is fed into a distributor to distribute voltage to the correct spark plugs, is it OK to use a few more analog switches to do some interlacing? Are there things that I potentially have not considered?

My idea is that after data for, say, output A has been shifted into the 2 registers, the arduino will activate switch A and (through a buffer amp) charge a capacitor up to the same voltage, then turn switch A off while shifting in data for output B, then activating switch B to allow the capacitor to charge up to that voltage, and again the switches turn off to let new data for output A shift in, and the process repeats. The capacitors will "remember" what voltage they held during the off period, as sort of analog memory. I think the updating rate will take a hit, but oh well.


Discussions