一、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) 简介
在多重 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 采样时间
重叠)
d)规则同时模式
同注入同时模式
e) 交替模式
通常针对是同一个通道
三重 ADC 交替模式是针对同一通道的使用三个 ADC交叉采集,就是在 ADC1采样完等几个时钟周期后 ADC2 开始采样,此时 ADC1处在转换阶段,当 ADC2采样完成再等几个时钟周期后 ADC3 就进行采样此时 ADC1和 ADC2 处在转换阶段,如果 ADC3 采样完成并且 ADC1 已经转换完成那么就可以准备下一轮的循环,这样充分利用转换阶段时间达到增快采样速度的效果
f) 交替触发模式
此模式只适用于注入组
● 发生第一次触发时,将转换 ADC1 中注入组的所有通道
● 发生第二次触发时,将转换 ADC2 中注入组的所有通道
类推
g) 混合型规则/注入同时模式
可以中断规则组的同时转换,然后开始注入组的同时转换
h)规则同时 + 交替触发组合模式
可以中断规则组的同时转换,然后开始注入组的交替触发转换
注:以上文章参考野火资料和STM32官方资料,些许地方加了自己的理解,如有错误请指正,不胜感激!