STM32 ADC 是 12 位逐次逼近型,采样时间要大于信号源阻抗×ADC 输入电容(一般 10~100 周期);多通道用规则组+DMA 自动搬运,不用 CPU 干预;注意参考电压 Vref+ 和输入范围。
本文概述
ADC 是单片机最常用外设,面试常考:采样时间、多通道、DMA、精度。回答要讲清采样时间和源阻抗关系。
核心要点
STM32 ADC 12 位,逐次逼近 SAR,输入范围 0~Vref+
采样时间 = 源阻抗 × 采样电容(约 5~10pF),一般选 10~100 周期
多通道:规则组(顺序采样)+注入组(高优先级)
DMA:ADC 转换完自动搬到内存,CPU 不干预
精度影响:参考电压噪声、源阻抗、采样时间、地弹

面试官考察点
ADC 基础题。面试官看你是否理解采样电容充电。重点听:RC 时间常数。
回答思路
讲 ADC 输入等效电路是开关+电容,采样时间要让电容充到稳定值。
参考回答
ADC 输入等效电路。采样阶段,开关闭合,外部信号通过源阻抗 Rs 给 ADC 内部采样电容 Cadc(约 5~10pF)充电。
充电时间常数。
τ = Rs × Cadc
要充到 12 位精度(误差 < 1/4096 ≈ 0.024%),需要约 9 个时间常数:
Tsample ≥ 9 × Rs × Cadc
举例。Rs=10kΩ,Cadc=8pF:
τ = 10k × 8p = 80ns
Tsample ≥ 9 × 80ns = 720ns
ADC 时钟 12MHz(83ns/周期),需要至少 9 周期,选 15 或 28 周期留余量。
| 源阻抗 | 推荐采样时间 |
|---|---|
| <1kΩ(运放驱动) | 3~15 周期 |
| 1~10kΩ(分压电阻) | 15~56 周期 |
| >10kΩ(传感器直连) | 56~100+ 周期,或加运放缓冲 |
多通道+DMA。
配置规则组通道顺序(如 CH0, CH1, CH2);
开扫描模式(Scan Mode),依次转换;
开 DMA,ADC 数据寄存器 → 内存数组;
转换完 DMA 自动搬运,CPU 可以做别的事;
DMA 完成中断里处理数据(滤波、上报)。
精度注意。
Vref+ 要干净(加 10uF+0.1uF 去耦);
模拟地和数字地单点连接;
高源阻抗加运放缓冲(电压跟随器);
多次采样取平均(过采样)提高有效位数。

扫码关注





























