Friday, April 29, 2011

Better output buffer for an R-2R ladder DAC

One day I needed a simple R-2R ladder DAC, and needed an output buffer for it, so I started to design one. Initially I was planning to use the LM358, but then I remembered seeing an op amp from TI that would be more suited for the job.

First off, I'd like to clear up two things for those that might wonder.

Why I need an output buffer? For example the R-2R ladder digital-to-analog converter circuit cannot drive anything by itself. You should be able to observe the waveform with an oscilloscope (typically 1 megaohm input impedance) but probably cannot even drive a sound card input (~10kohm) with only the ladder. You need a buffer amplifier that has a voltage gain of 1 and can drive a low input impedance. 

Why linearity is so important? So you get the value you wanted out from the circuit without any distortion.

The TLV2472 single-supply op amp makes a great buffer. Unlike with the LM358, the output is linear from 0 to VDD so you don't have to have an extra voltage supply for the op amp (with LM358 you need to keep the VDD about 1.5V higher than the maximum output voltage).

This figure is from TI's "Single-supply Op-Amp Design Techniques" application note. The noninverting amplifier with TLV2472 appears linear from 0V to the VDD (5V in this case).

The LM358 has been popular in these buffers because it is linear near the lower supply voltage (GND, 0V), but with TLV2472 you get the linearity also near VDD, like seen in the above picture.

The buffer circuit.

The buffer circuit is basically taken from the Texas Instruments application report "Single-Supply Op Amp Design Techniques". It's a non-inverting amplifier with a voltage gain of 1. If someone wonders, I created the schematic with the great free tool ExpressSCH, which is part of the free ExpressPCB PCB design software.

The TLV2472 (click for datasheet) can be used with a single supply voltage of 2.7 - 6.0 V. This makes it possible to use for example 3.3V, which is common in all the low-cost develpoment boards (Arduino, LPCXpresso, Launchpad, STM32VLDiscovery...)

Just keep in mind that the 3.3V from the digital device might be quite noisy for the op-amp, so some filtering might be necessary. Ideally the analog portion of your circuit would have it's own regulated and filtered supply, but for most hobby projects I believe the noisy digital 3.3V supply is more than enough.

Note that I haven't tested this circuit yet! I will post a "part 2" article when I get to build and test this. If you try this before that, or have something to say, please comment!


  1. Superb one. Thanks for the share. Keep posting such a kind of post on your blog.
    Android app developer| Android apps development|

  2. Any chance that you tested it?

  3. Nope, still haven't, unfortunately. I'm planning however to do it still. If you try it, please comment how it went.