1. 课程导入与精度问题定义

在开始讨论噪声治理之前,必须先回答一个更基础的问题:当我们说"这个数据采集系统精度很高"时,究竟在说什么?很多工程师的第一反应是看 ADC 的位数——16 位、18 位、24 位,位数越高似乎就越"准"。但真实情况是,一个标称 24 位的 ADC,如果失调误差没有校准、参考电压本身带噪声、前端驱动建立不充分,最终有效精度可能只有 16 位甚至更低。本章的任务,就是把"精度"这个模糊的词拆解成一组可测量、可计算、可验证的指标,并说明它们与噪声之间的定量关系。

1.1 精度不是单一数字,而是一组指标

数据采集系统的精度指标可以分为两类:一类描述"能分辨多小的变化",另一类描述"测量值与真实值差多少"。

分辨率(Resolution)描述的是量化台阶的大小。对一个 N 位、满量程为 FSR 的 ADC,理想分辨率(LSB 大小)为:

LSB = FSR / 2^N

例:FSR = 5 V,N = 16
LSB = 5 / 65536 ≈ 76.3 µV

注意,分辨率只说明"最小能区分 76.3 µV",并不保证这 76.3 µV 是准确的。分辨率是精度的必要条件,不是充分条件。

失调误差(Offset Error)是传输曲线在零输入附近的整体平移,表现为所有码值对应的实际输入都比理想值大或小一个固定量。它通常可以用单点校准消除。

增益误差(Gain Error)是传输曲线斜率的偏差,表现为满量程附近的误差最大、零点附近误差最小。它需要两点校准(零点 + 满量程点)才能修正。

INL(积分非线性)描述实际传输曲线与理想直线之间的最大偏差,单位通常为 LSB。INL 决定了系统在未做逐点校准时的绝对精度上限。

DNL(微分非线性)描述每个码宽与理想 1 LSB 的偏差。DNL 比 -1 LSB 更负意味着存在"失码";DNL 过大则意味着某些码对应的输入区间异常宽,转换结果会出现"跳变"或"台阶"。在闭环控制或频谱分析中,DNL 往往比 INL 更关键。

记忆要点:失调是"整体平移",增益是"斜率不对",INL 是"曲线弯了",DNL 是"每个台阶宽窄不均"。前两者可校准,后两者由 ADC 内部结构决定,只能选型或做非线性校正。

1.2 噪声如何"吃掉"分辨率

噪声与精度的关系可以用一个核心概念串起来:有效位数(ENOB)。理想 ADC 的信噪比由量化噪声决定:

SNR_ideal = 6.02 × N + 1.76  (dB)

若实测 SNR = 90 dB,则:
ENOB = (90 − 1.76) / 6.02 ≈ 14.7 位

也就是说,一个 16 位 ADC 在 90 dB 的实测 SNR 下,实际有效精度只有约 14.7 位,最低的 1.3 位被噪声淹没了。这就是为什么"标称位数"和"有效位数"必须分开看。

噪声对精度的影响还体现在直流测量上。若输出码的峰峰噪声为 Npp(单位 LSB),则无噪声码分辨率约为:

无噪声码分辨率 ≈ N − log2(N_pp)

例:24 位 ADC,输出码峰峰噪声 16 LSB
log2(16) = 4
无噪声码分辨率 ≈ 24 − 4 = 20 位

这个例子说明:即使 ADC 本身是 24 位,只要输出噪声有 16 LSB 峰峰值,你能稳定读到的就只有 20 位。要提升有效精度,要么降低噪声,要么增加平均次数(每 4 倍平均可改善 1 位,但会降低带宽)。

1.3 ADI 数据采集信号链的典型组成

精度问题从来不是 ADC 一个器件的问题。从传感器到数字输出,信号链上每一级都会引入误差和噪声。下图给出了一条典型的 ADI 数据采集信号链,以及各级对最终精度的主要贡献。

ADI 数据采集信号链与各级误差贡献 传感器 输出阻抗/驱动 模拟前端 AFE 放大/滤波/电平移位 增益误差·噪声 基准电压源 温漂·1/f 噪声 ADC 量化·采样 INL·DNL·量化噪声 数字接口 SPI/I²C/并行 时钟抖动·串扰 MCU / DSP 处理·平均·校准 算法截断·舍入 VREF 误差汇总(示例,非实测) 失调误差:可单点校准 典型 ±1~5 LSB 增益误差:需两点校准 典型 ±0.1%~0.5% FSR INL/DNL:ADC 固有 典型 ±2~10 LSB 噪声:决定 ENOB 需实测 SNR/峰峰噪声

从图中可以看到,基准电压源的温漂和 1/f 噪声会直接调制 ADC 的满量程,模拟前端的增益误差会与 ADC 的增益误差叠加,数字接口的时钟抖动会在高输入频率下恶化 SNR。因此,精度治理必须按信号链逐级排查,而不是只盯着 ADC 型号。

1.4 以真实测量任务为导向的学习路径

本课程不按"器件手册目录"组织,而是按真实测量任务展开。每个任务都遵循同一条主线:先明确要测什么、精度目标是多少,再反推信号链上每一级的误差预算,然后通过实测数据判断瓶颈在哪一级,最后给出可落地的治理手段。

例如,一个典型的任务描述是:"用 24 位 ADC 测量热电偶输出的 0~20 mV 信号,要求 1 秒平均后分辨率优于 1 µV。"这个任务会立刻引出几个问题:前端增益需要多少?基准源温漂在 1 秒内贡献多少 µV?ADC 的峰峰噪声在 1 秒平均后还剩多少?PCB 布局上热电偶走线如何避免热电势?这些问题就是后续章节要逐一解决的。

学习路径的三个层次:
第一层——看懂指标:分辨率、INL、DNL、增益误差、失调误差、ENOB、SNR、峰峰噪声的定义与换算。
第二层——定位瓶颈:用误差预算表把总误差分解到信号链各级,用实测数据判断哪一级是主导项。
第三层——治理噪声:从基准、前端、ADC 配置、数字滤波、PCB 布局五个方向分别采取措施,并验证改善效果。

需要强调的是,精度治理不是"把噪声降到零",而是在给定带宽、功耗、成本约束下,把误差控制在任务允许的范围内。一个 16 位系统如果任务只要求 12 位有效精度,就不必为最后 4 位付出高昂代价。理解这一点,才能在实际工程中做出合理的取舍。