FANYI / 硬件设计 / INTERVIEW 02
传感器模拟电压是1.5V,万用表正常,STM32 ADC采样却忽高忽低。面试官通常会要求你从采样保持电容、信号源阻抗、采样时间和参考电压入手。
面试先给结论
ADC前端不是理想的无穷大输入阻抗。采样开关闭合时,内部采样电容需要通过信号源电阻充到输入电压;若源阻抗大而采样时间太短,电容没有充分建立,转换结果就可能偏差。

01先看采样保持网络
可把采样阶段简化为信号源电阻、ADC内部采样开关电阻和采样电容构成的RC充电通路。对于12位ADC,若要求接近半LSB建立精度,采样电容往往需要经历多个RC时间常数;实际常数还受多路切换、温度与芯片结构影响,应按芯片应用笔记计算。
02现场排查四个方向
先检查ADC基准电压VDDA/VREF是否稳定、是否超过允许输入范围,再检查输入源阻抗与前端RC滤波。其次核对ADC采样周期设置及ADC时钟,必要时延长采样时间。最后确认通道切换后的首个采样值、DMA缓冲以及软件换算基准是否正确。
03RC滤波不是随便加大电容
外部电容有助于提供瞬态采样电荷并滤除噪声,但它与源阻抗也形成低通滤波器,可能影响信号带宽和稳定时间。对于高源阻抗传感器,可评估运放缓冲器,核对它的输出驱动能力、稳定性和噪声。
04如何用实测验证
先用稳定电压源直接连接ADC,再逐步加上原传感器和滤波网络,记录不同采样时间与通道顺序下的数据分布。将示波器输入点的实测波形、VREF和转换码值放在一起比较,判断是模拟前端还是软件处理导致的误差。
面试中常见失分点
认为ADC引脚永远不会从传感器取电荷。
只做多次平均,却不修正采样电容未充分建立的系统性误差。
面试官可能继续追问
多通道ADC扫描时,为什么切换到高阻源通道后第一笔数据可能不准?

扫码关注






























