ADC 读数为什么不准?从输入电路查到采样时序
同一块板上,ADC 接低阻信号源时读数正常,换成电阻分压后却偏低;单通道测试正常,加入扫描后又出现偏差。这类问题经常发生在输入电路和采样配置之间,单看 ADC 的标称位数很难判断原因。
SAR ADC 只在采集窗口内给内部电容充电。窗口太短,输入尚未建立就开始转换;参考电压取值不准,换算结果会产生比例偏差。两种误差都可能表现为稳定的错误读数,增加平均次数通常无效。
下面的计算以常见 SAR ADC 为对象,采用 12 位、3.3 V 的示例参数。其他架构的输入特性和时序有所不同,可参见ADC 架构文章。
1. 从输入电压到数字结果
1.1 ADC 测量的是输入与参考的关系
在理想模型中,ADC 将输入相对参考电压的位置编码,而不是直接输出一个带单位的电压。软件只有使用与硬件相符的参考、量程和编码规则,才能把数字还原为测量值。前端分压或放大后,还需要继续换算回原来的物理量。
1.2 实际链路中的误差从哪里进入
输入端的源阻抗、漏电和采样电容决定了实际采集到的电压;参考源和 ADC 的失调、增益、非线性影响转换结果;软件还可能使用了错误的量程或参考值。同一种读数偏差可能由不同环节造成,需要通过改变实验条件来区分。

图 1:ADI MT-021,Figure 1,PDF 第 1 页。这里的采样保持网络决定了输入端并不是无限高阻的理想电压表。原文
1.3 位数与码宽提供怎样的分辨能力
对 12 位、参考电压为 3.3 V 的理想单极性 ADC:
这里用 定义码宽。把端点 4095 强制映射到 3.3 V 是另一种软件标定约定,不能由此推断理想量化器每个码宽就是 。计算时要明确约定,并避免把最高码误当成输入仍可无限增加。
2. 用误差指标描述“不准”
评价 ADC 时,通常分别考察直流偏差、重复测量的分散程度、静态线性度和交流信号的失真与噪声。
2.1 均值偏差与随机波动
固定输入采集几千个原始码,分别统计均值、标准差、最小最大值和直方图。均值偏移主要提供系统误差线索,分布宽度提供噪声线索。高斯噪声的峰峰值还随记录长度变化,不能把一次记录的最大最小差直接当成固定精度指标。
| 特征 | 首先怀疑 | 有辨别力的实验 |
|---|---|---|
| 各输入电压都偏近似相同的电压 | 失调、偏置与漏电 | 用安全范围内的低、中、高三个直流点拟合 |
| 输入越高,绝对误差越大 | 参考源、分压比、增益 | 同时测参考,换算比例误差 |
| 延长采集时间后误差下降 | 源阻抗过大、建立不足 | 固定 ADC 时钟,只改变采集周期 |
| 换通道顺序,误差跟着变 | 采样电容残留电荷 | 交换高低电压通道或增加验证用空采 |
| 随通信、PWM 周期变化 | 耦合、参考扰动、混叠 | 记录时序并改变外设频率 |
2.2 静态线性度:DNL 与 INL
对第 个码,若相邻转换阈值相差 ,微分非线性定义为 。码宽为零时,,对应缺码边界。选型时应检查手册是否保证无缺码,典型曲线只能作为参考。
INL 描述转换阈值相对参考直线的偏离。端点法和最佳拟合法的结果不同,比较器件时需采用相同定义。两点校准可以修正增益和失调,校准后仍会保留非线性误差。指标定义见 ADI MT-010。
2.3 动态测量:SNR、SINAD 与 ENOB
正弦测量通常使用 SNR 和 SINAD:前者在规定带宽内排除直流与谐波,后者计入谐波失真。对满量程正弦,常用 ;测得 68 dB 时,约为 11.0 bit。ENOB 是动态测试指标,直流分辨能力另看码分布和输入噪声。
测试需记录输入幅度、频率、采样率、分析带宽、FFT 窗函数和谐波处理方式。输入低于满量程时,还应说明是否做幅度归一化。ADI MT-003,第 5~6 页
常见的量化噪声 来自均匀误差模型。缓慢直流、周期锁定输入或缺乏抖动时,量化误差可能与信号相关。平均 次可提高 位的估算,依赖样本噪声独立等条件。ADI MT-001推导了理想量化模型的前提;MT-004进一步区分输入噪声、有效分辨率和 ENOB。
3. 输入驱动与采集建立
SAR ADC 的采集时间有限。即使输入保持不变,采样电容也需要通过源阻抗和内部开关电阻充电,才能接近该电压。
3.1 采集与转换是两个阶段
SAR 转换一般包含采集与转换两个阶段。采集时开关闭合,外部电路给内部电容充电;进入保持后,逐次逼近过程才对这次样本做判断。详细过程见 ADI MT-021。

图 2:MT-021,Figure 2,PDF 第 2 页。这是通用 SAR 示意,不能直接当成某款 STM32 的引脚时序。
3.2 从允许误差反推采集时间
若先用单一 RC 近似输入网络,满量程跳变后的残余误差为:
对满量程阶跃,希望误差不超过半个 LSB,就需要:
12 位约为 。假设总串联电阻为 50 kΩ,等效电容为 8 pF,则 ,至少需要约 。这里的 8 pF 是计算假设,不能当成所有 MCU 的内部电容;实际还要加上开关电阻、引脚寄生和驱动器的动态响应。

图 3:一阶 RC 的计算结果。纵轴按 12 位满量程阶跃换算为 LSB;曲线没有包含运放多极点、输入开关回冲和漏电。
3.3 将时间预算换成可配置的采集周期
继续使用上述假设,若 ADC 时钟为 21 MHz,3.60 μs 对应至少约 75.7 个采集周期。假如目标硬件只提供 56 和 84 周期这两个相邻选项,56 周期约为 2.67 μs,模型中的残余误差约为 5.21 LSB;84 周期约为 4 μs,残余约为 0.186 LSB。因此应选 84 周期,并进一步检查器件参数上限所需的裕量。
这些结果只验证假设中的 RC 建立项。ST AN2834 Rev 10,第 4.2.6 节进一步区分各系列的采样时间限制;具体器件的开关电阻、电容上限与最小采样条件仍须代入重算。
3.4 高阻分压还会放大漏电误差
电阻分压的源阻抗是上下电阻的并联值,而不是只看上臂。比如 100 kΩ 与 100 kΩ 分压,戴维南电阻是 50 kΩ;低功耗分压做得很大时,采集建立和输入漏电往往比量化误差更早成为问题。
漏电造成的是另一种误差:近似为 。若仅作预算,假设相关漏电界限为 100 nA,50 kΩ 就对应 5 mV,约为 6.21 个 12 位 LSB。延长采集时间不会消除这项直流偏差。这里的 100 nA 是计算假设,应由目标器件的温度范围内最大输入漏电及板级漏电预算替换;AN2834 的第 3.2.7 节与第 4.4 节可配合阅读。
ADC 前端并电容可以提供瞬态电荷,但也会引入新的恢复时间。扫描到该通道时电容被扰动,下次访问前能否恢复,要看通道间电压差、访问周期、外部电容和供电路径。外部电容很大,并不意味着可以忽略驱动器稳定性,相关问题见运放容性负载与补偿。
4. 参考源与比例误差
参考电压决定 ADC 的量化刻度。实际参考值与软件使用的值不一致,会使换算结果产生比例误差。
4.1 参考值如何进入换算结果
理想情况下,忽略量化边界:
实际参考是 3.27 V,程序却按 3.30 V 换算,结果约放大 ,比例误差为 。在 2 V 输入附近,就对应约 +18.35 mV,远大于一个 12 位 LSB。

图 4:参考取值偏差造成的比例误差,计算范围限于 ADC 未饱和区间。
4.2 静态参考误差与动态参考扰动
参考源要同时满足静态精度、温漂和动态供电能力。某些 ADC 的参考脚也会汲取脉冲电流,去耦网络与布局应按手册处理。不能只测到直流电压正确,就排除参考源的动态问题。
4.3 比例测量的抵消条件
如果传感器输出本身与激励电压成比例,而 ADC 又使用同一激励作为参考,比例测量可以抵消一部分激励变化。例如电阻桥和电位器常有这种条件。内部参考通道则可以辅助估算供电,但要确认目标型号是否提供工厂校准值、校准温度、要求的采集时间以及对应公式,不能直接套其他系列的宏。
5. 扫描顺序与采样频率带来的误差
单通道直流测试不能覆盖所有采样问题。多个输入共享采样网络时,会出现前后通道相互影响;输入中存在较高频率成分时,还会出现混叠。这两类误差都与采样过程有关。
5.1 前一通道的残留电荷
单 ADC 依次扫描多个通道时,前一个通道的电荷状态会影响后一个通道的建立。高阻通道尤其明显。一个实用验证是让两个相邻通道分别接稳定的高、低电压,交换扫描顺序,再延长采集时间。如果偏差随顺序和采集时间系统变化,就有了建立不足的证据。
可采取的措施包括降低源阻抗、增加采集时间、使用合适缓冲器以及调整扫描顺序。增加一次空采可以用于定位或在预算允许时缓解问题,但它减少有效吞吐率,也不能自动保证达到手册精度。
5.2 通道之间的采样时差
多路扫描还不是同时采样。电压、电流、相位或桥路差分量需要对齐时,要计算各 rank 的采样时刻偏差;若不能接受,应评估多 ADC 同步模式或专用同步采样器件。DMA 只搬运数据,不会消除模拟采样的时间差。
5.3 高频干扰怎样混叠到测量带内
即使输入驱动和参考源都正常,带外干扰也可能进入最终结果。采样后的频率表现取决于原频率与采样率的关系,因此一段缓慢起伏的数字波形,未必来自低频扰动。

图 5:ADI MT-002,Figure 4,PDF 第 5 页。原文
以 1 kS/s 采样,995 Hz 的干扰可以表现为 5 Hz。进入数据后再做低通,5 Hz 干扰与真实的 5 Hz 信号已经难以区分。因此模拟抗混叠处理发生在采样之前,数字滤波不能事后恢复丢失的频率身份。

图 6:MT-002,Figure 6,PDF 第 7 页。提高采样率可以放宽模拟滤波器的过渡带要求,但后续若要降采样,仍需先做相应数字低通。
6. 误差预算与校准
比较各项误差前,需要统一折算位置、单位和工作条件。例如都换算为 ADC 输入端的毫伏数,并注明温度和校准状态。
6.1 最大误差界限的合成
假设在同一工作点折算到输入端后,参考误差界限为 1.0 mV、前端增益误差为 1.5 mV、失调为 0.4 mV、ADC 剩余误差为 0.8 mV。各项直接相加,得到保守静态界限 3.7 mV。若采用平方和开根号(RSS),则需另行说明各分量的统计分布和相关性,所得结果按相应统计含义使用。
6.2 两点校准能修正什么
两点校准可拟合 ,修正近似线性的增益和失调。它不能修复非线性、削顶、错误通道顺序或采集时间不足。至少再留一个独立电压点验证,并改变温度或供电检查系数是否仍有效。零输入附近还可能受单极性 ADC 下限截断影响,不宜用已经削顶的点估计真实失调。
6.3 标准不确定度与相关项
器件最大误差、重复测量标准差和校准证书的不确定度,不是同一种统计量。若测量模型为 ,在一阶线性化足够准确的条件下,合成标准不确定度应包括灵敏度与协方差:
例如 ,参考源的灵敏度为 。若测量值为 2 V,参考相对标准不确定度为 0.05%,该项就是 1 mV;若独立的重复测量均值标准不确定度为 0.2 mV,两项合成约为 1.020 mV。这里的输入都是标准不确定度,不能把“最大 ±0.05%”未经分布假设直接代入。扩展不确定度 还要说明覆盖因子; 并非对任意分布、任意自由度都严格对应 95%。方法依据见 NIST:不确定度合成。
共用参考源或激励时,需要保留相关项。比例测量中的部分误差抵消正是由这种相关性产生的,应按原始测量方程传播误差。预算中还需列明各项的单位、温度条件、统计含义和校准后残差。
7. 板级排查步骤
7.1 建立可重复的基准条件
先保存原始码,并在 ADC 引脚处测输入电压和参考电压。记录供电、时钟、采集周期、通道顺序、信号源阻抗以及是否开启其他外设。万用表和 ADC 的带宽、积分时间不同,比较时要使用足够稳定的直流输入,并把仪表自身的不确定度算进去。
7.2 每次实验只改变一个主要条件
先用低阻直流源做低、中、高三个点,固定采样时序;再接回分压和缓冲器;然后开启多通道扫描;最后逐项恢复 PWM、通信和正常 CPU 负载。每一步保存均值、标准差、样本数量与配置。
怀疑建立不足时,保持输入与 ADC 时钟不变,只增加采集周期。若均值逐步趋于稳定,而标准差变化不大,应优先检查建立时间;若仍有相同比例偏差,则测量参考电压并核对分压比。
8. 资料与复现
- ADI,MT-021:Successive Approximation ADCs:采样保持、转换时间和逐次逼近结构,Figure 1、2 是本文图源。
- ADI,MT-010:The Importance of Data Converter Static Specifications:DNL、INL、缺码及静态精度定义。
- ADI,MT-003:Understand SINAD, ENOB, SNR, THD, THD + N, and SFDR:动态测试的指标和幅度条件。
- ADI,MT-001:Taking the Mystery out of SNR = 6.02N + 1.76 dB、MT-004:ADC Input Noise:量化模型与直流输入噪声的区别。
- NIST,Combining uncertainty components:灵敏度系数、标准不确定度与相关项。
- ADI,MT-002:What the Nyquist Criterion Means to Your Sampled Data System Design:混叠、过采样和模拟抗混叠滤波器。
- ST,AN2834:How to optimize the ADC accuracy in the STM32 MCUs:可按输入阻抗、采集时间、参考与应用设计条目继续查阅。
- ST,ADC measurements recommendations:区分直流、交流与时间测量的配置和评估方法;页面中的某些校准功能仅适用于相应系列。
ADI 原始 PDF 保存在本文 sources/,图像出处、页码和校验值见 SOURCES.txt。建立误差和参考误差曲线均为模型计算结果,生成代码为 scripts/generate-signal-chain-figures.py。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!