Skip to main content

Bipolar DAC output for 0000, 1000, 1111

Short answer

Advantages: handles bipolar signals; uses only two resistor values (easier IC); zero at mid-code. Bipolar output: Vo = Vref(2D/2^n − 1). For n=4: 0000 → −Vref, 1000 → 0, 1111 → +7/8 Vref.

List out the advantages of bipolar D/A converter over Binary weighted resistor. Express output voltage of bipolar D/A converter. What happens when input is 0000, 1000 and 1111?

A bipolar DAC gives both positive and negative output voltages. It does this by adding a fixed offset of half full scale to a normal (unipolar) ladder DAC, using offset-binary coding.

Advantages over the binary weighted resistor DAC

  • It converts signed (bipolar) signals. The binary weighted DAC gives only one polarity.
  • It is usually built on an R-2R ladder, so it needs only two resistor values. The binary weighted DAC needs a wide spread (R to 2ⁿ⁻¹R), which is hard to make accurately.
  • It gives better accuracy and is easier to make as an IC for large n.
  • Zero output sits at mid-code, so it suits AC signals, audio, and servo control that needs both directions.

Output voltage

 Vref --[R-2R ladder]--> I_D --+
                               |      Rf
 -Vref --[ R_off ]--> I_off ---+---/\/\/---+
                               |           |
                             (-)\          |
                                 >---------+--> Vo
                             (+)/
                              GND

The ladder gives a current proportional to the code: I_D = (Vref/R)(D/2ⁿ). The offset resistor R_off = 2R draws a constant current I_off = −Vref/(2R), which is half of full scale. With Rf = 2R:

Vo = −Rf (I_D + I_off)
   = −2R [ (Vref/R)(D/2ⁿ) − Vref/(2R) ]
   = −Vref (2D/2ⁿ − 1)

A unity-gain inverter at the output (or swapping the polarities of the two references) gives the standard textbook form:

Vo = Vref · (2D/2ⁿ − 1)
   = Vref · (D − 2ⁿ⁻¹) / 2ⁿ⁻¹

where D = b3·8 + b2·4 + b1·2 + b0 for a 4-bit converter.

Outputs for 0000, 1000 and 1111 (n = 4)

InputDVo = Vref(2D/16 − 1)Meaning
00000−VrefNegative full scale
100080Mid-scale, zero
111115+7/8 Vref = 0.875 VrefPositive full scale (1 LSB below +Vref)

So the output swings from −Vref to almost +Vref. Code 1000 gives zero, and the MSB works as a sign bit (1 = positive, 0 = negative).

✓ Answer checked by Claude Opus 5.5 (high effort)

All Advanced Electronics chapter 3 questions →