3. ADC核心静态性能指标解读

选型或评估一颗ADC时,数据手册首页的“分辨率”往往最先被看到,但它几乎从不等于系统真正能用的精度。分辨率只描述“把满量程切成多少份”,而量化误差、失调误差、增益误差、INL、DNL、单调性和无失码,才共同决定“每一份切得准不准、切得匀不匀、有没有漏切”。本节以ADI ADC数据手册中常见的参数表为对象,逐项拆解这些静态指标的含义、单位、测试条件与工程判断方法。

分辨率与量化误差:精度的起点,而非终点

分辨率(Resolution)指ADC输出代码的位数N,理想情况下可分辨的最小电压为1 LSB = FSR / 2^N,其中FSR为满量程输入范围。例如一颗16位、输入范围±10 V(FSR = 20 V)的ADC,1 LSB ≈ 305 μV;同样16位但FSR为0~5 V时,1 LSB ≈ 76 μV。可见“多少位”必须与输入范围一起看,否则无法换算成电压。

量化误差(Quantization Error)是理想ADC固有的、无法消除的误差:模拟输入连续,输出代码离散,二者之差最大为±0.5 LSB(四舍五入式量化)。它表现为均匀分布的噪声,理论RMS值约为q/√12(q = 1 LSB)。因此16位、20 V量程下,量化噪声RMS约88 μV。这个数值是“地板”,任何真实ADC的噪声都不可能低于它,但它通常远小于失调、增益和INL带来的误差。

失调误差与增益误差:一条直线的两个自由度

把ADC的实际转换曲线与理想直线比较,最直观的偏差就是失调误差(Offset Error)和增益误差(Gain Error)。失调误差是实际曲线在零输入附近的整体平移,表现为输出代码相对理想值有一个固定偏移,单位常用LSB或mV;增益误差是实际曲线斜率与理想斜率的偏差,表现为满量程附近的误差,单位常用%FSR或LSB。二者合起来决定了“端点误差”,即未做校准时的绝对精度。

工程上要特别注意手册的测试条件:失调误差常规定义在“零点附近单点测量”,增益误差规定在“满量程附近测量”,而更严格的指标会用“最佳直线(Best Fit Line)”或“端点连线(Endpoint Fit)”来定义。同一颗ADC在不同定义下数值可能相差数倍。ADI数据手册通常会在参数表脚注中写明是哪种拟合方式,提取指标时必须连同脚注一起读。

INL与DNL:曲线有多弯、台阶有多匀

积分非线性(INL)描述实际转换曲线相对理想直线的最大偏差,单位LSB,反映“整体弯曲程度”;微分非线性(DNL)描述每个代码对应的实际台阶宽度与理想1 LSB的偏差,单位LSB,反映“局部台阶是否均匀”。二者关系是:DNL是INL的差分,INL是DNL的累积。

判断标准很直接:DNL > +1 LSB意味着某个台阶明显偏宽,可能“吃掉”相邻代码;DNL < −1 LSB意味着某个台阶偏窄甚至消失,出现失码(Missing Code)。因此“无失码(No Missing Codes)”等价于DNL > −1 LSB。单调性(Monotonicity)则要求输出代码随输入增大而不减小,通常由DNL > −1 LSB保证。对闭环控制、伺服反馈、精密测量等应用,失码和跳变会直接造成控制抖动或测量死区,必须优先确认。

下面这张图把理想台阶、DNL偏宽/偏窄、INL弯曲以及失码位置放在同一条转换曲线上对照,便于建立“台阶—曲线—代码”的对应关系。

ADC静态误差在转换曲线上的位置 模拟输入 输出代码 理想直线 实际转换曲线 台阶宽度 = 1 LSB(理想) DNL > +1 LSB DNL < −1 LSB 可能失码 INL = 实际−理想 失调误差 增益误差 理想 实际 DNL偏宽 DNL偏窄/失码

从ADI数据手册提取关键精度指标

以ADI某款16位、8通道、SAR型ADC(如AD7606系列)的典型参数表为例,手册中静态精度部分通常列出如下条目:

参数 典型值 最大值 单位 测试条件/说明
分辨率16—bits—
失调误差±0.5±2LSB25°C,零点附近
增益误差±0.5±3LSB25°C,满量程附近
INL±0.5±2LSB端点拟合
DNL±0.3±0.9LSB保证无失码
无失码16—bitsDNL > −1 LSB

提取时按以下顺序判断:第一,确认分辨率与输入范围,算出1 LSB对应的电压;第二,看失调和增益误差的最大值,估算未校准时的绝对误差;第三,看INL最大值,判断非线性是否满足系统线性度要求;第四,看DNL最大值是否小于1 LSB,确认无失码;第五,核对测试条件(温度、拟合方式、参考电压)是否与你的实际工作条件一致。

例如,若系统要求16位精度下总误差不超过±5 LSB,而手册给出失调±2 LSB、增益±3 LSB、INL±2 LSB,则最坏情况下误差可能叠加到±7 LSB,超出要求。此时要么选择更高等级的产品,要么在系统中加入失调/增益校准,把前两项压到±0.5 LSB以内,使总误差回到±3 LSB左右。

提取要点:数据手册中的“典型值”不是保证值,只有“最大值/最小值”才是全温度、全批次保证的边界。做精度预算时,应使用最大值而非典型值;若手册只给典型值,需向厂商确认或按经验留出余量。

系统适用性判断:把指标翻译成电压和代码

判断一颗ADC是否适用于某系统,不能只看位数,而要把指标翻译成“输入电压误差”和“输出代码误差”。以16位、±10 V、1 LSB ≈ 305 μV为例:失调误差±2 LSB ≈ ±610 μV,增益误差±3 LSB ≈ ±915 μV,INL±2 LSB ≈ ±610 μV。若系统被测信号最小变化量为1 mV,则失调和INL已经接近甚至超过该变化量,必须校准或换型。

另一个常见误区是把“无失码”等同于“高精度”。无失码只保证DNL > −1 LSB,即每个代码都存在,但不保证每个代码对应的电压准确。INL和增益误差仍可能使整体精度远低于分辨率。因此,选型时应把“分辨率、无失码、INL、失调/增益误差”作为一组指标同时评估,而不是只看其中一个。

注意:INL和DNL的单位是LSB,但LSB的大小取决于满量程范围。比较两颗不同量程的ADC时,应先把LSB换算成μV或mV,再比较绝对误差,否则容易得出错误结论。

最后,静态指标只是ADC精度的一部分。实际系统中,参考电压噪声、驱动放大器噪声、PCB布局和数字接口回流都会进一步恶化精度。静态指标决定了“地板”,动态和系统因素决定了“实际能站多高”。在完成本节指标提取后,下一步应结合噪声与动态指标,做完整的精度预算。