R-String DAC,即电阻串型 DAC,采用模拟开关加电阻串的方式对参考输入电压分压,再
通过运放缓冲分压结果输出:
如上图所示为一个简单的 3位电阻串型 DAC的示意图。我们知道 3位数字共有 8种状态,为实现这 8种状态的控制,因而最简单的方法,有 8个电阻对 VREF 进行分压,即上图中所示。通过个 3线译码器对 3组开关的状态进行控制,从而实现不同电压的输出。图中,开关的状态量为 101,对照电路的通断,发现实际输入端是与第三个电阻相连(从上至下),换算到电压值为 5/8VREF 。这和数字编码101,对应十进制为 5,是一一对应的。
在此基础上,可以扩展到 N位的 DAC。一个 N位的电阻串型 DAC需要 2^N-1个电阻,匹配困难,精度很难做得很高。因此,在 12位及以上的 DAC中,通常采用 2级 R String的方式来减少电阻器的数量:
如上图,是一颗 16位电阻串型 DAC的内部示意图,其实是由两组 8位电阻串型 DAC来实现的,前一组 256颗电阻形成一个 8位 DAC,对输入参考电压进行粗分;后面的 8位DAC对粗分后的电压进行细分,最终达到 16位的精度。通过分段的方法,可以很大程度上减少电阻的数量。
电阻串型 DAC的缓冲运放内置在芯片内部,通常采用轨到轨输入/输出运放来实现最大的动态范围,并有时提供 2倍的增益从而在低参考电压的条件下获得大输出动态范围。但是,因为运放的供电和 DAC供电联系在一起,为单电源供电,因此无法输出负电平,也就不能接受负参考电压输入。
电阻串型的 DAC有一个最大的好处就是其传递函数天生是单调的,也就是说在输入编码和输出电压间可以保持一直上升的斜率,不会有拐点出现。在一些要求苛刻的闭环精密控制场合,要求 DAC必须是单调的。