ADC 把模拟电压映射成离散码值。要让码值代表真实物理量,需要依次回答:传感器输出多大、调理电路是否饱和、输入能否在采样窗口内建立、采样频率是否足够、参考源有多准确。

量程和器件边界

假设传感器输出为 0.2~1.0 V,希望映射到 0.3~3.0 V,则所需线性关系为 Vout=3.375×Vin-0.375 V。这只是目标传递函数,电路能否实现还取决于运放供电、输入共模范围、输出摆幅、增益带宽和负载。单电源运放并不自动支持输入或输出贴近电源轨;检查数据手册时要同时看测试条件。

MOSFET 常用于开关或电平相关电路,要看指定栅压下的导通电阻。阈值电压只表示开始导通,不能据此认定已经适合驱动负载。电感性负载还需分析关断能量的释放路径。

分辨率不等于准确度

一个理想 12 位、参考电压 3.3 V 的单极性 ADC,量化步长为 3.3/4096 ≈ 0.806 mV。本页模型用向下取整分桶,并用桶中心重建电压,因此未饱和输入的量化误差不超过半个步长。真实芯片的转换特性、校准及满量程定义以其手册为准。

误差预算分别列出参考源误差、调理增益误差、偏置、噪声、非线性与量化。偏置和增益可以通过两点校准减小;校准不能自动修复带宽不足、饱和和非线性。把所有误差平方相加要求有相应独立性假设;有明确上下界时先计算最坏情况。

采样之前要解决的问题

SAR ADC 的采样网络要从信号源获取电荷。源阻抗过高或采样时间太短,会使输入尚未建立就进入转换。缓冲运放可降低等效源阻抗,但仍要检查稳定性与驱动采样电容的能力。

抗混叠滤波发生在 ADC 前。1 kHz 采样下,900 Hz 正弦与反相的 100 Hz 正弦可以产生相同离散样本;采样后再求平均无法分清它们。采样率应结合信号带宽、模拟滤波器衰减和过采样余量选择,不能只套一个恰好两倍的数字。

本地实验

下载 采样与量化脚本,执行 python sampling.py。它核对量化误差上界,并演示 900 Hz 与 100 Hz 的混叠关系;输出 lsb=0.805664 mV 和 PASS。该模型没有模拟真实 ADC 噪声、采样开关或传感器。

实物迁移时,先测参考源和直流输入,再在不同采样时间下读取高、低源阻抗的同一电压。记录均值、标准差、测量仪表准确度与温度。数字平均降低随机噪声的程度须由数据验证,不能据此宣称绝对精度提高了若干位。

练习:给 0.806 mV 的量化步长叠加 2 mV 偏置和 0.5% 增益误差,分别计算零点、中点与近满量程误差;解释为何小信号容易被偏置主导,大信号容易被增益误差主导。

面试自查:ENOB 与标称位数有何区别?为什么高阻传感器可能需要更长采样时间?为什么软件低通不能补救已经发生的混叠?

参考:ST AN2834:ADC 精度与外围设计、MIT 电路与电子学。