STM32 ADC怎么配置?采样时间怎么选?多通道+DMA怎么用?嵌入式面试

浏览量:9
时间: 2026-09-22 08:43:05
一句话答案

STM32 ADC 是 12 位逐次逼近型,采样时间要大于信号源阻抗×ADC 输入电容(一般 10~100 周期);多通道用规则组+DMA 自动搬运,不用 CPU 干预;注意参考电压 Vref+ 和输入范围。

本文概述

ADC 是单片机最常用外设,面试常考:采样时间、多通道、DMA、精度。回答要讲清采样时间和源阻抗关系。

核心要点

  • STM32 ADC 12 位,逐次逼近 SAR,输入范围 0~Vref+

  • 采样时间 = 源阻抗 × 采样电容(约 5~10pF),一般选 10~100 周期

  • 多通道:规则组(顺序采样)+注入组(高优先级)

  • DMA:ADC 转换完自动搬到内存,CPU 不干预

  • 精度影响:参考电压噪声、源阻抗、采样时间、地弹

STM32 开发板和 ADC 测量电路,示波器显示模拟波形

面试官:ADC 采样时间怎么选?太短会怎样?

面试官考察点

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。

  1. 配置规则组通道顺序(如 CH0, CH1, CH2);

  2. 开扫描模式(Scan Mode),依次转换;

  3. 开 DMA,ADC 数据寄存器 → 内存数组;

  4. 转换完 DMA 自动搬运,CPU 可以做别的事;

  5. DMA 完成中断里处理数据(滤波、上报)。

精度注意。

  • Vref+ 要干净(加 10uF+0.1uF 去耦);

  • 模拟地和数字地单点连接;

  • 高源阻抗加运放缓冲(电压跟随器);

  • 多次采样取平均(过采样)提高有效位数。

面试官可能追问

追问 1:采样时间太短会怎样?
采样电容没充满,读数偏低。尤其高源阻抗时明显。
追问 2:规则组和注入组区别?
规则组普通顺序采样;注入组高优先级,可打断规则组,用于紧急通道(如过流保护)。
追问 3:ADC 参考电压能接 3.3V 吗?
可以,Vref+ 接 VDDA。但 VDDA 有噪声,高精度用外部参考源(如 2.5V)。
追问 4:DMA 和中断哪个好?
多通道高速采样用 DMA(省 CPU);单通道低速用中断够了。
追问 5:怎么提高 ADC 精度?
过采样(16 次平均提 2 位)、加运放缓冲、干净参考电压、软件校准。

常见失分表达

✗ 采样时间随便设 3 周期 — 高源阻抗时读数不准。
✗ 传感器直连 ADC 不加缓冲 — 源阻抗大,采样电容充不满。
✗ 多通道不用 DMA 用中断 — CPU 频繁中断,效率低。

准备动作

1
算一次采样时间(给定 Rs 和 Cadc)
2
写一个多通道 ADC+DMA 程序
3
准备一个 ADC 读数不准最终定位是采样时间太短的案例

核心关键词

STM32 ADC采样时间源阻抗采样电容DMA规则组


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
U-Boot启动流程与Linux启动过程怎么理解?嵌入式Linux面试从BL1讲到内核启动

嵌入式Linux中高级技术基础题本文概述启动流程是嵌入式Linux工程师的系统级基本功,面试官想听的不是背几个阶段名,而是你懂不懂从上电复位到U-Boot再到内... 详情>>

2026-09-04 15:50:56
Buck电感怎么选型?纹波电流与饱和电流怎么算?电源工程师面试

一句话答案Buck 电感选型看两个参数:电感量 L 决定纹波电流 ΔIL(通常取最大输出电流的 20~40%),饱和电流 Isat 要大于峰值电流(Iout+Δ... 详情>>

2026-09-16 10:12:22
什么是哈佛结构和冯诺依曼结构?

定义冯诺依曼结构⾤⽤指令和数据统⼀编址,使⽤同条总线传输,CPU读取指令和数据的操作⽆法重叠。哈佛结构⾤⽤指令和数据独立编址,使⽤两条独立的总线传输,CPU读取... 详情>>

2023-10-27 10:05:29
PCB工程师面试前要准备哪些东西?新手必备完整清单

分类:面试准备经验要求:新手难度:基础题型:准备类📖 本文概述PCB工程师面试前要准备哪些东西?新手必备完整清单是PCB工程师面试准备的高频搜索问题。本文提供... 详情>>

2026-08-02 09:52:44
PCB微带线与共面波导怎么选择与计算?射频工程师面试

一句话答案微带线(Microstrip)是信号线在表层、参考地在下方,制造简单但有辐射;共面波导(CPW)信号和地在同一层,屏蔽好但损耗略大;选择看频率、板层和... 详情>>

2026-09-14 19:49:38
开班信息