在上一篇文章中,我们讨论了失调误差如何影响单极性 ADC 的传递函数。考虑到这一点,单极 ADC 的输入只能接受正电压。相比之下,双极 ADC 的输入可以处理正电压和负电压。在本文中,我们将探讨双极性和差分 ADC 中的失调和增益误差规范;并了解失调误差的单点校准。
传递函数——双极 ADC 理想特性曲线
具有偏移二进制输出编码方案的理想三位 ADC 的传递函数如图 1 所示。
图 1. 具有偏移二进制输出编码的理想三位 ADC 的传递函数,
作为复习,对于偏移二进制系统,中间刻度代码的中心(在我们的示例中为 100)对应于 0 V 输入。低于 100 的代码表示负输入电压,高于 100 的数字值对应于正vwin 输入。但请注意,纵轴上的代码顺序与单极 ADC 的代码顺序完全相同。穿过台阶中点的直线为我们提供了 ADC 阶梯响应的线性模型。
要注意的另一件事是,上述特性曲线也可以表示具有差分输入的单极 ADC。由于低于 100 的输出代码表示负值,因此绘制上述传递函数很有帮助,如图 2 所示。
图 2. 显示低于 100 的输出代码的传递函数。
双极 ADC 失调误差
对于具有偏移二进制编码方案的 ADC,偏移误差可以通过比较从 100…00 到 100…01 的实际中间量程转换与理想 ADC 中的相应转换来找到。如图 2 所示,这种转换在理想情况下应该发生在 +0.5 LSB。图 3 显示了一个偏移值为 -1 LSB 的三位双极性 ADC。
请注意,从 100 到 101 的中档转换发生在 +1.5 LSB 而不是 +0.5 LSB。
图 3.偏移值为 -1 LSB 的三位双极 ADC 的传递函数。
图 4 显示了具有正偏移的三位双极性 ADC。
图 4. 具有正偏移的三位双极性 ADC。
在这种情况下,正输入的第一次转换发生在从 110 到 111 的 +1 LSB 处。对于理想的 ADC,该转换应该发生在 +2.5 LSB 处。因此,实际传递函数的偏移量为 +1.5 LSB。您还可以通过检查图 4 中橙色直线所示的实际传递曲线的线性模型来获得相同的结果。
双极 ADC 增益误差
与单极 ADC 类似,双极 ADC 的增益误差可以定义为在消除失调误差后实际最后一次转换与理想最后一次转换的偏差。增益误差也可以定义为实际线性模型的斜率与理想直线模型的斜率的偏差。
例如,考虑图 5 所示的特性曲线。
图 5. 特性曲线示例
在本例中,点 A 和 C 分别比理想响应和实际响应的最后一个转换高 0.5 LSB。类似地,在理想和实际传输曲线上分别选择接近负满量程(0.5 LSB 低于 010 到 001 过渡)的点 B 和 D。通过 A 和 B 的线是理想响应,而通过 C 和 D 的线是系统的实际响应。可以将实际斜率与理想斜率进行比较,以确定增益误差。
在上面的示例中,理想斜率由下式给出:
在此等式中,使用了输出代码的十进制等效值。另外,请注意代码的符号。正如预期的那样,理想的斜率是 1。可以通过类似的方式找到测量的斜率:
增益误差可由以下等式定义:
这意味着测得的响应有 20% 的增益误差。使用高性能 ADC,增益误差可能小到可以用 ppm 表示。
请记住,在实践中,我们选择找到响应斜率的点不一定是传递函数的端点。根据系统中可用的测试信号和系统线性的输入范围,我们可以选择适当的点来确定传递函数的斜率。例如,在确定满量程值为 3 V 的 ADC 的斜率时,系统中已有的准确 1.5 V 输入可能被认为足够接近正满量程值。
偏移和增益误差导致未使用的输入和输出值
对于单极性和双极性 ADC,失调误差会导致未使用的输入范围和未使用的输出代码。图 6 显示了负偏移如何将输入范围的下限限制为高于 -FS 的值。对于负偏移,可能也不会使用低于标称最大代码的输出代码范围。
图 6. 显示负偏移如何将输入范围的下限限制为高于 -FS 的值的图表。
正如您可能想象的那样,失调误差将以类似的方式影响单极 ADC 的范围。例如,考虑一个单极 12 位 ADC,其满量程电压为 2.5 V,偏移为 -8 mV。这对应于大约 -13 LSB 的偏移量。理想的直线响应向下移动了 13 LSB。因此,如图 7 所示,输入模拟范围减少了 13 LSB(或 8 mV),并且不使用最后 13 个输出代码。
图 7. 显示输入模拟范围减少 13 LSB 的图表。
重要的是要记住,更高分辨率 ADC 中的相同偏移电压会导致更大的未使用代码范围。例如,FS = 2.5 V 的 16 位 ADC 中相同的 -8 mV 偏移对应于大约 -210 LSB。在这种情况下,不使用最后的 210 个输出代码。图 8 显示了正偏移对 ADC 输入和输出范围的影响。
图 8. 正偏移对 ADC 输入和输出范围的影响。
在这种情况下,不使用来自输出代码范围低端的一些代码,并且在小于 +FS 的输入电平处达到最大 ADC 输出。正增益误差会限制两端的输入范围,如图 9 所示。
图 9. 显示正增益误差如何限制两端输入范围的图表。
同样,负增益误差可能导致标称范围两端的未使用输出代码(图 10)。
图 10. 负增益误差如何导致标称范围两端未使用的输出代码。
现在我们已经熟悉了 ADC 中的失调和增益误差概念,我们可以深入讨论这两个误差项的校准。
ADC 增益和偏移校准
偏移和增益误差可以在数字域中轻松校准。为此,应将准确的模拟输入应用于 ADC 以确定实际响应。在已知实际响应的情况下,可以在数字域中校正 ADC 输出代码以匹配理想响应。
由于给定的 ADC 代码不对应于单个模拟输入值,因此只能通过测量代码转换来确定实际的 ADC 响应。这需要一个可以产生不同电压电平的精密电源。图 11 显示了可用于确定代码转换的测试设置。
图 11. 用于确定代码转换的示例测试设置 图片由Analog Devices提供。
在这种情况下,高分辨率数模转换器 (DAC)用于在 ADC 输入端生成不同的电压电平。DAC 应提供明显高于被测 ADC 的精度。此外,DAC 输出端的电压表可准确测量发生代码转换的电压电平。处理电压表和 ADC 的输出以确定偏移和增益误差,以及 ADC 的非线性。这种基于 PC 的方法可以使用信号平均等数字信号处理 (DSP)技术来降低 ADC 噪声对测量的影响。
在许多应用中,例如传感器测量系统,不可能使用上述设置来测量代码转换。在这些情况下,系统中可能只有一个或两个精确电压电平可用,从而实现单点或两点测量。这些测试只能近似实际响应,不能完全消除失调和增益误差。但是,它们仍然是可以显着降低偏移和增益误差的有效方法。
偏移校准——单点校准
单点校准测量传递函数上单点的 ADC 响应,并使用结果来降低偏移误差。接地电位是用于单点校准的准确、常用的测试输入,因为它已经在系统中可用。作为应用此方法的示例,请考虑图 3 中所示的响应,为方便起见,下面将其重复,如图 12 所示。
图 12. 图 3 的重复显示了偏移值为 -1 LSB 的三位双极性 ADC 的传递函数。
如果我们对该 ADC 施加零电压,则输出为 011。将其与理想值 100 进行比较,我们可以确定 ADC 的偏移为 -1 LSB。另一个示例如下图 13 所示。
图 13. 显示在 ADC 上施加零电压后 ADC 偏移为 -1 LSB 的示例。
在这种情况下,从 010 到 011 的转变发生在零伏以下。再次将输入短接到地会产生 011。基于此单点测量,ADC 偏移为 -1 LSB。然而,考虑到代码转换,我们观察到实际偏移量为 -1.5 LSB。如您所见,通过单点测量,确定偏移的误差可能高达 ±0.5 LSB。尽管如此,这种错误在大多数应用中是可以接受的,特别是考虑到这种方法具有最低的成本和复杂性这一事实。单点测量无法确定增益误差。
一旦确定了偏移,我们可以通过从每个 ADC 读数中减去偏移来补偿它。通过地电位的单点校准只能用于双极性或差分输入 ADC。对于单极性 ADC,负偏移会导致未使用的输入值位于标称输入范围的下限。下面描述的示例(图 14)进一步阐明了这个问题。
图 14. 显示负偏移的示例导致未使用的输入值处于标称输入范围的下限。
在这种情况下,ADC 的偏移为 -13 LSB。但是,对输入施加零电压会产生全零输出代码,从而导致零电压的偏移测量不正确。这就是为什么对于单极性 ADC,我们需要 ADC 可用输入范围内的精密电压来测量和校准偏移误差。
评论
查看更多