DAC 规范分为两个基本类别:静态与动态。静态规范是在稳定输出状态下、在 DAC 输出端观察到的行为,而动态规范则是指在代码至代码转换过程中所观察到的行为。在讨论线性度与 DAC 传输函数时,您只需考虑静态规范。
我们首先介绍一下失调误差。失调误差可描述整个 DAC 传输函数的上下移动量。通常对 10% 和 90% 左右满量程的两个点进行测量得到最适合线,可得出测量结果。我们这样做的目的是避免输出运算放大器工作在临近其电源轨的非线性区域内。观察斜截式直线方程式 y = mx + b(如下图所示),失调误差为 b 项。
0 代码误差与失调误差类似,但描述的是另一个不同的实用 DAC 行为。测量 0 代码误差的方法是为 DAC 加载所有 0 的数据,并观察 DAC 输出电压。在理想 DAC 中,在加载所有 0 的数据时 DAC 输出端电压均为 0V,但由于输出缓冲器的余量需求,我们会看到一些小量 0V 的失调。
另一个重要规范是增益误差。就像您可能期望的那样,其可比较实际 DAC 传输函数斜率与理想斜率的差距。在理想情况下,传输函数斜率正好等于 1 LSB,但实际上经常会略微偏离这个数字。增益误差的测量方式与失调误差一样,也是从相同两点的最适合线获得。如果失调误差是 y = mx + b 中的 b 项,那么增益误差就是 m 项。
可使用上述各种测量方法为 DAC 全面提供所有失调误差、0 代码误差以及增益误差,鉴于它们所描述的内容,这样做是完全没有问题的。剩下的规范包括 INL 和 DNL,可针对 DAC 传输函数中的每个代码进行测量,但在电气特性表中提供的单个数字,可用来表示在整个传输函数中所能观察到的最差情况。此外,产品说明书的典型特性部分还包括用来显示所有代码中典型 INL 或 DNL 的图表。
DNL 为微分非线性度,用来表示任意两个连续 DAC 代码的 LSB 测量值与 LSB 理想值之间的差异。DNL 通常用来推断 DAC 单调性,确定 DAC 是否有任何丢失代码。由于现代 ADC 和 DAC 大多数都是单调的,因此 DNL 通常没有 INL 实用。
最后一个静态线性规范是积分非线性度(INL),也称为相对精度。INL 描述的是理想 DAC 输出与实际 DAC 输出之间的差异,其中失调误差与增益误差一直可从测量中通过校准消除。在很多情况下,对于需要极高精度的应用来说,INL 都是最具考虑价值的规范。失调、增益以及 0 代码误差都可进行外部补偿,但我们无法深入器件封装内部,通过纠正内部不匹配现象来修复 INL 问题。