一、ADC功能框图

STM32 ADC学习笔记

二、ADC说明

1. 电压输入范围

ADC 输入范围为:V REF-  ≤ V IN ≤ V REF+ 。由 V REF- 、V REF+ 、V DDA 、V SSA 、这四个外部引脚决定。

ADC 的输入电压范围为:0~3.3V。

2.输入通道

外部通道: ADCx_IN0、ADCx_IN1...ADCx_IN5等

内部通道:连接内部温度传感器、内部VSS等

其中外部通道又分为规则通道注入通道​,注入插队的意思,作为中断理解。

3.转换顺序

控制通道转换的先后顺序,分为规则序列(规则通道)、注入序列(注入通道)。​

4.触发源

可以内部ADC_CR2​寄存器控制,也可以由外部触发,比如定时器触发,外部IO口触发。触发极性有4种,分别是:禁止触发检测、上升沿检测、下降沿检测以及上升沿和下降沿均检测。

5.转换时间​

ADC时钟:ADC 输入时钟 ADC_CLK 由 PCLK2 经过分频产生,最大值是 36MHz,典型值为30MHz

采样时间:ADC的采样时间=采样周期/ADC的时钟频率   ADC的转换时间=ADC的采样时间+12.5周期  (12.5是采集12位AD时间是固定的周期)

通常情况下,采样时间越长数据越精确

6.数据寄存器​

规则数据寄存器 ADC_DR : 32位寄存器,只有低16位有效,而ADC最大为12位,所以可以设置数据对齐方式

注入数据寄存器 ADC_JDRx : 同ADC_DR 寄存器 32位,低16位有效

通用规则数据寄存器 ADC_CDR :32位寄存器,用于双重ADC模式或者三重ADC模式

7.中断

转换结束中断

模拟看门狗中断:模拟电压不在设置的阈值范围内(高、低)

溢出中断:DMA传输数据丢失会产生溢出中断

DMA请求:转换完成之后,除了可以产生转换结束中断外,也可以产生DMA请求

 

三、ADC应用

1.单重ADC模式

2.多重ADC模式

a) 简介

STM32 ADC学习笔记

在多重 ADC 模式下,通过 ADC1 主器件到 ADC2 和 ADC3 从器件的交替触发同时触发来启动转换
注意: 在多重 ADC  模式下,配置外部事件触发转换时,应用必须设置为仅主器件触发而禁止从器件
触发,以防止出现意外触发而启动不需要的从转换。

可实现以下四种模式:
● 注入同时模式
● 规则同时模式
● 交替模式
● 交替触发模式

也可按以下方式组合使用上述模式:
● 注入同时模式 + 规则同时模式
● 规则同时模式 + 交替触发模式

b) DMA传输请求

DMA模式1:每次传输半字,一个ADC的数据

DMA模式2:每次传输一个字,两个ADC的数据,多用于双重ADC模式

DMA模式3:每次传输半个字,类似于DMA模式2,为两个ADC的数据(一般为6位或8位ADC)

c) 注入同时模式

外部触发源来自 ADC1 的注入组多路复用器同时触发可用于 ADC2 和 ADC3。

不要在两个 / 三个 ADC  上转换同一通道(转换同一通道时,不允许两个 / 三个 ADC  采样时间
重叠)

STM32 ADC学习笔记

d)规则同时模式

同注入同时模式

STM32 ADC学习笔记

e) 交替模式

通常针对是同一个通道

三重 ADC 交替模式是针对同一通道的使用三个 ADC交叉采集,就是在 ADC1采样完等几个时钟周期后 ADC2 开始采样,此时 ADC1处在转换阶段,当 ADC2采样完成再等几个时钟周期后 ADC3 就进行采样此时 ADC1和 ADC2 处在转换阶段,如果 ADC3 采样完成并且 ADC1 已经转换完成那么就可以准备下一轮的循环,这样充分利用转换阶段时间达到增快采样速度的效果

STM32 ADC学习笔记

f) 交替触发模式

此模式只适用于注入组

● 发生第一次触发时,将转换 ADC1 中注入组的所有通道
● 发生第二次触发时,将转换 ADC2 中注入组的所有通道

类推

STM32 ADC学习笔记

g) 混合型规则/注入同时模式

可以中断规则组的同时转换,然后开始注入组的同时转换

h)规则同时 +  交替触发组合模式

可以中断规则组的同时转换,然后开始注入组的交替触发转换

STM32 ADC学习笔记STM32 ADC学习笔记

注:以上文章参考野火资料和STM32官方资料,些许地方加了自己的理解,如有错误请指正,不胜感激!

相关文章: