--------------------------------- | Binary | Output voltage | --------------------------------- | 000 | 0.00 V | --------------------------------- | 001 | -1.25 V | --------------------------------- | 010 | -2.50 V | --------------------------------- | 011 | -3.75 V | --------------------------------- | 100 | -5.00 V | --------------------------------- | 101 | -6.25 V | --------------------------------- | 110 | -7.50 V | --------------------------------- | 111 | -8.75 V | ---------------------------------Note that with each step in the binary count sequence, there results a 1.25 volt change in the output. This circuit is very easy to simulate using SPICE. In the following simulation, I set up the DAC circuit with a binary input of 110 (note the first node numbers for resistors R_{1}, R_{2}, and R_{3}: a node number of “1” connects it to the positive side of a 5 volt battery, and a node number of “0” connects it to ground). The output voltage appears on node 6 in the simulation:
binary-weighted dac v1 1 0 dc 5 rbogus 1 0 99k r1 1 5 1k r2 1 5 2k r3 0 5 4k rfeedbk 5 6 1k e1 6 0 5 0 999k .end node voltage node voltage node voltage (1) 5.0000 (5) 0.0000 (6) -7.5000We can adjust resistors values in this circuit to obtain output voltages directly corresponding to the binary input. For example, by making the feedback resistor 800 Ω instead of 1 kΩ, the DAC will output -1 volt for the binary input 001, -4 volts for the binary input 100, -7 volts for the binary input 111, and so on.
(with feedback resistor set at 800 ohms) --------------------------------- | Binary | Output voltage | --------------------------------- | 000 | 0.00 V | --------------------------------- | 001 | -1.00 V | --------------------------------- | 010 | -2.00 V | --------------------------------- | 011 | -3.00 V | --------------------------------- | 100 | -4.00 V | --------------------------------- | 101 | -5.00 V | --------------------------------- | 110 | -6.00 V | --------------------------------- | 111 | -7.00 V | ---------------------------------If we wish to expand the resolution of this DAC (add more bits to the input), all we need to do is add more input resistors, holding to the same power-of-two sequence of values: It should be noted that all logic gates must output exactly the same voltages when in the “high” state. If one gate is outputting +5.02 volts for a “high” while another is outputting only +4.86 volts, the analog output of the DAC will be adversely affected. Likewise, all “low” voltage levels should be identical between gates, ideally 0.00 volts exactly. It is recommended that CMOS output gates are used, and that input/feedback resistor values are chosen so as to minimize the amount of current each gate has to source or sink.
by Gary Elinoff
by Gary Elinoff
by Steve Arar