APM32F4xx 系列 MCU 内置 12 位高精度 ADC,支持多通道、扫描、连续、注入、DMA 等多种工作模式,广泛用于工业采集、电池监测、温感采样、信号检测等场景。AN1083 官方应用笔记从原理、配置、代码、精度提升四大维度完整讲解 ADC 使用方法,无需反复啃手册,照着做就能稳定采样。本文用最落地的工程语言,把 ADC 配置、调试、优化一次讲透。
资料获取:AN1083_APM32F4xx_ADC应用笔记
1. APM32F4xx ADC 核心特性
- 分辨率:12/10/8/6 位 可配置
- 最大通道:16 路外部 + 3 路内部(温度、VREF、VBAT)
- 转换模式:单次、连续、扫描、间断、注入
- 触发方式:软件、定时器、外部引脚
- 数据存储:左 / 右对齐,支持 DMA 搬运
- 转换时间 = 采样周期 + 转换周期(12 位 = 12 个 ADC 时钟)
- 参考电压:VREF– ≤ VIN ≤ VREF+(默认 0~3.3V)
2. ADC 关键原理与公式
- 转换公式(12 位)ADC 值 = (VIN × 4096) / VREF
电压值 = (ADC × VREF) / 4096
- 1LSB满量程 3.3V 时:1LSB ≈ 0.806mV
- 转换时间
- 12 位:12 个 ADCCLK
- 10 位:10 个 ADCCLK
- 8 位:8 个 ADCCLK
- 6 位:6 个 ADCCLK
3. 硬件设计要点
- 输入通道配置为模拟模式、无上拉下拉
- 模拟电源 VDDA 与 VREF + 稳定、低噪声
- 输入信号建议串联100Ω~1kΩ 电阻,并并联小电容滤波
- 避免 ADC 引脚与高速开关信号并行走线
- 内部通道:温度传感器、VREF、VBAT 无需外部接线
4. 最常用 ADC 配置方案(直接复制)
4.1 单通道连续转换(最简)
- 时钟:PCLK2 4 分频
- 分辨率:12 位
- 对齐:右对齐
- 模式:连续转换、软件触发
- 通道:任意单通道
- 调用:
HAL_ADC_Start_IT中断读取
4.2 多通道扫描 + DMA(最高效)
- 开启扫描模式
- 通道数:N 通道
- DMA:外设→内存,半字、内存自增
- 循环模式:持续采样
- 调用:
HAL_ADC_Start_DMA
4.3 内部通道采样
- 温度传感器:获取芯片结温
- VREFINT:校准内部基准
- VBAT:监测备份电池电压
5. 软件配置流程(标准步骤)
- 开启 ADC 与 GPIO 时钟
- 配置 IO 为模拟输入
- 初始化 ADC:分频、分辨率、对齐、模式
- 配置通道:通道号、序列、采样时间
- 启动转换(轮询 / 中断 / DMA)
- 读取结果并计算电压
6. 提高 ADC 精度的实用方法
硬件方法
- VREF 参考电源稳定低噪声
- 模拟地与数字地单点共地
- 输入串电阻 + 并联 RC 滤波
- 敏感信号做屏蔽包地
软件方法
- 多次采样取平均
- 一阶低通滤波
- 线性校准(标准源拟合)
- 开启 ADC 自校准
7. 典型应用场景
AN1083 是 APM32F4xx ADC 最完整的官方实战指南,覆盖原理、配置、代码、精度优化全流程。无论是简单单通道采样,还是高速多通道 DMA 采集,按文档流程配置即可稳定运行。搭配硬件滤波与软件校准,可轻松实现高精度、低噪声、高可靠的模拟量采集,是工业控制、仪器仪表、消费电子必备的 ADC 开发手册。
阅读全文
208