4. 纹波对ADC静态参数的影响:失调电压、增益误差、DNL、INL的恶化机制
各位好,咱们今天聊点实在的。纹波这东西,很多人觉得它就是个噪声,大不了信噪比差一点。但我要告诉你,它对ADC的静态参数——失调、增益、DNL、INL——有非常隐蔽的破坏力。我早年做一款16位SAR ADC时,就因为没处理好电源纹波,流片回来测静态参数,结果惨不忍睹。嗯,从那以后我再也不敢小看纹波了。
4.1 纹波如何“偷走”你的参考电压
先想一个问题:ADC的转换结果,本质上是输入电压与参考电压的比值。参考电压一旦被纹波污染,整个传递函数都会跟着歪掉。
假设你的参考电压 \( V_{REF} \) 上叠加了一个正弦纹波:
V_REF(t) = V_REF0 + A_ripple · sin(ωt)
那么ADC在第 \( k \) 次采样时,实际使用的参考电压是 \( V_{REF}(t_k) \)。如果纹波频率与采样时钟不同步,每次采样的参考电压都不一样。结果就是:
- 失调电压漂移:零输入时,由于参考电压波动,转换结果不再归零。
- 增益误差波动:满量程输入时,转换结果随纹波相位变化。
关键点:纹波对参考电压的影响,本质上是把静态参数变成了时变参数。你测一次可能看不出问题,但测100次,你会发现失调和增益都在“跳舞”。
4.2 失调电压的恶化机制
失调电压,说白了就是输入为零时输出不为零。纹波怎么影响它?
我举个例子。一个12位逐次逼近型ADC,内部比较器有输入失调 \( V_{OS} \)。正常情况下,这个失调是固定的。但参考电压上的纹波会通过比较器的电源抑制比(PSRR)耦合到比较器输入端,产生一个额外的等效失调:
ΔV_OS ≈ (V_ripple · PSRR_inv)
其中 \( PSRR_{inv} \) 是比较器电源抑制比的倒数。如果纹波幅度是10mV,PSRR是60dB,那么等效失调变化大约是10μV。对于16位ADC,LSB可能只有几微伏,这个量级已经不可忽略了。
我的经验:我曾经在测试一款24位Σ-Δ ADC时,发现失调电压随电源电压变化呈周期性波动。查了半天,发现是DC-DC的开关纹波通过LDO后仍有残余,直接耦合到了比较器。解决办法是在LDO输出加一级RC滤波,把纹波从10mV压到1mV以下,失调波动立刻消失了。
4.3 增益误差的恶化机制
增益误差,就是ADC实际传递函数的斜率与理想斜率的偏差。纹波怎么影响它?
看一个简单的公式。理想ADC的传递函数是:
D_out = (V_in / V_REF) · (2^N - 1)
如果 \( V_{REF} \) 上有纹波,那么实际输出变成:
D_out(t) = (V_in / (V_REF0 + A_ripple · sin(ωt))) · (2^N - 1)
当 \( A_{ripple} \) 远小于 \( V_{REF0} \) 时,可以近似为:
D_out(t) ≈ (V_in / V_REF0) · (1 - (A_ripple / V_REF0) · sin(ωt)) · (2^N - 1)
看到了吗?增益项里多了一个随时间变化的修正因子。这意味着:
- 增益误差不是常数,而是随纹波相位变化。
- 测量结果不稳定:同一输入电压,不同时间测,结果不同。
注意:增益误差的纹波敏感性,在高速ADC中尤其严重。因为采样率越高,纹波相位变化越快,增益波动越明显。我见过一个项目,12位250MSPS ADC,因为电源纹波导致增益误差在±2LSB之间跳动,最后不得不重新设计电源树。
4.4 DNL与INL的恶化机制
DNL(微分非线性)和INL(积分非线性)是ADC线性度的核心指标。纹波对它们的影响,比失调和增益更隐蔽。
先看DNL。DNL定义为实际码宽与理想码宽的偏差。纹波通过两个途径恶化DNL:
- 比较器决策抖动:参考电压纹波导致比较器阈值波动,使得码边界位置随机变化。结果就是某些码的宽度变窄,某些变宽,DNL劣化。
- 采样保持误差:如果纹波耦合到采样保持电路,采样值会叠加一个纹波分量,导致码边界偏移。
再看INL。INL是DNL的累积。纹波导致的DNL波动,经过累积后,会在INL曲线上形成明显的“波浪形”失真。我习惯用下面这个表格来总结纹波频率与INL失真的关系:
| 纹波频率与采样率的关系 | INL失真特征 | 典型场景 |
|---|---|---|
| \( f_{ripple} \ll f_{sample} \) | 低频漂移,INL呈缓慢变化 | 工频纹波(50/60Hz) |
| \( f_{ripple} \approx f_{sample} \) | 固定码位偏移,INL出现尖峰 | 开关电源纹波与采样率接近 |
| \( f_{ripple} \gg f_{sample} \) | 高频抖动,INL被平均化 | 高频开关纹波(>10倍采样率) |
避坑指南:我曾经调试一个多通道数据采集系统,发现第3通道的INL比其他通道差很多。查了三天,发现是第3通道的参考电压走线旁边有一条电源线,耦合了100kHz的纹波。重新布线后,INL从±3LSB降到了±0.5LSB。所以,布局布线真的不能马虎。
4.5 知识体系总览
下面这张图,我把纹波影响ADC静态参数的完整路径画了出来。你一看就明白。
4.6 实际案例:一个16位ADC的纹波噩梦
最后,我分享一个真实案例。有一款16位SAR ADC,标称INL为±1LSB。但在系统测试中,INL达到了±4LSB。排查过程如下:
- 第一步:检查参考电压。用示波器测VREF引脚,发现50mV峰峰值的100kHz纹波。
- 第二步:计算影响。纹波幅度50mV,参考电压2.5V,等效增益波动约2%。对于16位ADC,这相当于±327个LSB的增益误差变化。
- 第三步:定位源头。纹波来自板上的DC-DC转换器,频率100kHz,通过LDO后仍有残余。
- 第四步:解决方案。在LDO输出加一级LC滤波器(10μH + 10μF),纹波降到2mV以下。重新测试,INL恢复到±1.2LSB。
我的建议:设计ADC电源时,别只看LDO的PSRR。高频纹波下,LDO的PSRR会下降。我习惯在LDO输出再加一级RC或LC滤波,确保参考电压纹波小于0.1个LSB对应的电压。对于16位ADC,2.5V参考,LSB约38μV,所以纹波要控制在3.8μV以下。这个目标不低,但必须做到。
好了,这一章的内容就到这里。纹波对静态参数的影响,说白了就是通过参考电压、比较器和采样保持三条路径,把静态参数变成了时变参数。理解了这个机制,你就能在设计中有针对性地去抑制它。