ADC是模拟信号转换为数字信号的过程,DNL是指差分非线性偏差,即输入信号增加一个LSB的时候,输出的数字信号变化的幅度与理论上应有的值之间的差异。一般来说,ADC的DNL值应该在1LSB以内,否则会影响精度。
例如,对于一个12位ADC来说,如果输入信号变化一个LSB时,输出的数字信号应该是相应增加1,但如果DNL值为2LSB,那么输出信号会变化2,这就造成了误差。
INL是指积分非线性偏差,即将所有DNL偏差相加之后得到的最终结果。它是描述ADC线性度的重要指标之一,其对应关系为:INL=N(DNL1+DNL2+……+DNLj),其中N为ADC的比特数,DNL1、DNL2等为不同输入电压下的差分非线性偏差。
INL反映了ADC整体的线性度。如果INL过大,说明ADC的线性度不够好,不能满足精度要求,需要通过采取一些措施来降低INL值,提高ADC的精度。
ADC的DNL和INL与多个因素有关,包括:
1)量化误差:由于ADC采用离散化的方式对信号进行采样和量化,因此量化误差会导致DNL和INL的出现。
2)环境温度:温度的变化会影响ADC电路的工作状态,从而影响ADC的精度。
3)输入电压:电压水平的波动也会影响ADC的输出精度,因此需要对输入端的电压进行稳定化处理。
4)ADC本身的非线性特性:例如ADC的输入范围不足等因素都可能导致DNL和INL的出现。
测试ADC的DNL和INL的方法有多种,其中比较常用的是采用标准的测试仪器,例如基于自动测试设备(ATE)的测试方案、基于数字信号处理(DSP)的测试方案、基于基带信号分析仪的测试方案等。
对于硬件设计人员来说,也可以采取一些简单的手段来进行DNL和INL的初步测试,例如使用可变电阻模拟不同的输入电压,观察ADC输出信号的变化幅度,从而判断ADC的DNL和INL是否在允许范围内。