I have an existing circuit with lots of CMOS chips running on +/- 8V. So the digital inputs of those chips (CD4051, CD4053 etc.) expect +8V for a HIGH and -8V for a LOW. What's the best way to translate the 5V/0V from the Arduino to +8V/-8V for the CMOS's?
Is there a chip, transistor logic or opto-coupler solution to this?
I'm not 100% sure but I think a single op-amp circuit could safely translate your +/-8V signal range (HIGH=+8V, LOW=-8V, total 16V peak-to-peak) down to the Arduino's 0V to 5V digital logic range, with an attenuation 5/16=0.3125.
I'd add a 10+k series resistor on the op-amp input (to limit current if the input goes wildly outside the rails) and a couple of Schottky diodes to level the voltages.
I can't do the math and draw the schematics at the moment, but I think someone else here will help you better than me.
PS: I don't think opto copuler could be used in this case.
In your CMOS circuit, is ground used for anything? I mean, could you connect the Arduino's ground to -8V? Then you could use open collector buffers like the 74LS07 to convert from 0-5V to 0-16V.
My guess is they're excellent for isolation but getting them to reliably switch a signal between +8 V and -8 V (that's a total range of 16 V!) makes me nervous (because I fell that "dangerous" for Arduino ) and probably requires additional transistors or MOSFETs too. And they're generally slower than dedicated or discrete logic transistors.
Am I wrong?
0/5V to +8/-8V? The first thing that came to mind was the venerable RS232 line driver, MC1488/SN75188. 8V is within its allowable Vcc range. And it's still available...
Did you look at the specifications for any optoisolator to see if 16 volts is well within their ability to switch the output? Or is your guess that none woukd handle it?
There may be a speed issue, there are faster and slower optos, but the OP did not state what kind of signals these are in that respect.
Or the CMOS version, the DS14C88, which is also available.
There may be other chips involved in the +/-8V circuit, but I wonder if the control inputs of the CD405x chips can be driven directly by an Arduino. The Vee and Vss pins are typically shorted, but I wonder if you could separate them, and connect Vss to the Arduino's ground, then the control inputs would switch normally. The datasheets are not clear about this, and I don't have a chip to play with.
Neither the CD4051 nor the CD4053 (and probably not "etc" either) support a symmetrical power supply; something is wrong with how you interpret the circuit.
It can switch +/- signals, but I think that the digital control inputs (A,B,C) would still be 0 - Vdd.
I think (reading the datasheet again...)...
Edit: yes, I'm fairly certain that the control inputs would just be 0-8V in this situation.
Perhaps the OP can clarify whether it's that the I/O signals being switched that are +/-8V, but the control inputs (A,B,C) are either 0V or +8V, and Vss=0, Vee=-8V and Vdd=+8V, or Vss=Vee=-8V and Vdd=+8V. If the former, things are simpler than we've been assuming.
CMOS inputs are very voltage tolerant. You can run your logic at 5V if you protect all inputs by 10-50 k series resistors. I've seen such circuits in hi tech professional equipment.
No need for an apology. You got me thinking about the whole +/-8V thing and it'll be interesting to see if the OP chimes in and we discover that the CMOS side of things is actually running on Vdd=8V, Vss=0V and the -8V is only for Vee on the analog multiplexers. That feels right to me, and if it is so, all they're going to need for interfacing is NPN/N-channel transistors with the collector/drain pulled up to 8V by a resistor.
First of all, let me thank you for all the valid input which made me think again about the overall setup. I think the overall topic was to use a single power supply for all components, CMOS chips AND Op-amps. So, the +/- 7,5V (I wrote 8 to make it easy) is close to the maximum for the CMOS while being the minimum for the Op-amps. I now decided to make the 5V power supply that i need for the micro controller a dual rail one with +/- 5V, so I can also use it for the CMOS chips. By untying the Vss from Vee, it will be easy to use the micro controllers logic levels (by the way also the inhibit pin was tied to -7,5V and will now become ground). The +/-7,5V supply will turn into a +/- 15V supply for the Op-amps. So, I think case closed.
But I don't want to let you in the dark about the projet itself. It's about a 64-step attenuator for audio signals. In general it looks like this:
The digital inputs (A, B, C) to the 2 CD4051 where produced by a bunch of other CMOS chips like CD4093 Schitt-Trigger and CD4029 Up/Down counter. That is the part that I want to get rid off as the micro controller and a rotary encoder can do all the neccesary work to spit out the A, B and C signals to control the CD4051's.
Below is the part that I'm still going to use, but modified in the way I described above.