Skip to main content

Current-mode R-2R preference; bipolar DAC

Short answer

Current-mode keeps constant node voltages (virtual ground) so stray capacitances don’t slow settling, and Vref sees constant load. Bipolar output: Vo = Vref(2D/2^n −1) with offset binary, giving both positive and negative voltages, hence bipolar.

Why current mode R-2R ladder type DAC is preferred over voltage mode R-2R ladder type DAC? Find expression for output voltage of Bipolar DAC and justify its name.

Why current-mode R-2R is preferred over voltage-mode R-2R

In the current-mode (inverted) ladder, Vref drives the ladder and each 2R leg is switched between the op-amp virtual ground and true ground. Both are at 0 V.

  • Node voltages never change. Every ladder node stays at a fixed voltage whatever the input code. Stray capacitances do not charge and discharge, so settling is much faster. In the voltage-mode ladder the node voltages change with each bit.
  • Constant current from Vref. The reference sees a constant load of R, so it is not disturbed and glitches are smaller.
  • Switches work near ground potential. Simple MOS switches can be used, with small and equal voltage drops, which gives better accuracy.
  • The branch currents are fixed binary-weighted values (I/2, I/4, …) that are simply steered. This suits high-speed IC DACs.

Bipolar DAC

A bipolar DAC adds an offset current (half of full scale) of opposite sign to the ladder current. The output then covers both negative and positive values.

 Vref -->[ current-mode R-2R ]--I_D--+
                                     |     Rf
 -Vref ---------[ 2R ]------I_os-----+--/\/\/--+
                                     |         |
                                   (-)\        |
                                       >-------+--> Vo
                                   (+)/
                                    GND

Derivation (4-bit):

  1. The ladder current into the summing node:
I_D = (Vref/R)(b3/2 + b2/4 + b1/8 + b0/16) = (Vref/R)(D/16)
  1. The offset current from −Vref through 2R:
I_os = −Vref / 2R
  1. The op-amp gives Vo = −Rf (I_D + I_os). Take Rf = 2R:
Vo = −2R [ (Vref/R)(D/16) − Vref/(2R) ]
   = −Vref (2D/16 − 1)
   = Vref (1 − D/8)

For n bits: Vo = −Vref(2D/2ⁿ − 1). A final unity inverter, or swapping the reference signs, gives Vo = Vref(2D/2ⁿ − 1).

CodeDVo = Vref(2D/16 − 1)
00000−Vref
100080
111115+0.875 Vref

Justifying the name

The output takes both polarities, negative for codes below 1000 and positive above it, with zero at mid-code. Because the output is two-polarity (bipolar), it is called a bipolar DAC. A unipolar DAC gives only 0 to +FS. The code used is offset binary, where the MSB acts as the sign bit.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Advanced Electronics chapter 3 questions →