工程代码:https://pan.baidu.com/s/1Qlfg1_br0tN6yy0fcDwCjg,密码:fhh2
(一)概述
ADC是用于将连续变化的模拟信号转换为离散的数字信号的器件,就是采集对应引脚的模拟信号,并转化为对应的数字信号值(本芯片的数字信号范围0~4095)。
(二)ADC框架
STM32F407ZGT6芯片的ADC有两类数据转换组。分别是规则转换组、注入转换组,两类转换组的区别在于,当注入转换触发时,如果此时规则通道组正在转换,注入转换组能中断规则转换组,先行采集数据(相当于中断功能),注入转换组结束后再接着进行规则转换。
(三)ADC功能说明:
1、ADC 时钟
ADC有两个时钟。一个用于数字接口的时钟,等效于APB2时钟,用于驱动ADC正常工作,另一个用于模拟接口的时钟,用于ADC采集数据的时钟频率设置。
2、ADC触发输入
ADC有两个数据转换组(规则转换组合注入转换组),各自有十六路触发输入通道,其中一路为软件触发,触发输入产生触发信号后,ADC会在采集通道上采集模拟信号,并转换为数字信号。
3、通道选择
ADC有19路数据采集通道,其中16路采集的是引脚(GPIO脚)的模拟信号,3路采集的是内部信号(温度传感器、V REFINT 和 V BAT 内部通道)。
4、转换模式
转换模式分单次和连续两种。对于一次触发输入信号,单次转换模式只采集一次数据,而连续转换模式在采集一次数据之后,会继续新一轮的数据采集。
5、扫描模式
单次触发输入信号,扫描模式会为组中的每个通道(例:规则通道配置了采集1、4、5通道)都执行一次转换,每次转换结束后,会自动转换该组中的下一个通道。
6、不连续采样
例如规则转换通道组需要转换1、4、5、6、7、8、9通道,此时不连续采样设置为3,则单次触发输入信号之后,ADC会采集三个通道的数据(例如采集:1、4、5),下一次触发输入信号,ADC会采集之后的通道输入(采集:6、7、8),如果采集的通道数量不够(例如第三次触发输入信号,采集完9通道之后,一轮数据就采集完毕了),按剩下的通道数量采集(本应采集3个通道数据,但只剩9通道可以采集,那么就只采集9通道,等待下一次触发输入信号,重新从通道1开始采集)
7、多重ADC模式
多重ADC模式有双重和三重模式。双重ADC模式是ADC1、ADC2配合工作,三重ADC模式是ADC1、ADC2、ADC3配合工作。
7.1、注入同时模式
外部触发源来自 ADC1 的 外部注入触发源,当ADC1触发输入信号之后,可同时触发ADC2、ADC3注入转换(相当于ADC1的触发信号会触发ADC1、ADC2、ADC3的注入转换组同时采集数据)。
7.2、规则同时模式
外部触发源来自 ADC1 的 外部规则触发源,当ADC1触发输入信号之后,可同时触发ADC2、ADC3规则转换(相当于ADC1的触发信号会触发ADC1、ADC2、ADC3的规则转换组同时采集数据)。
7.3、交替模式
外部触发源来自 ADC1 的 外部规则触发源,当ADC1触发输入信号之后,会轮流触发ADC1、ADC2、ADC3进行规则转换(一次触发只能触发一个ADC进行规则转换)。
7.4、交替触发模式
外部触发源来自 ADC1 的 外部注入触发源,当ADC1触发输入信号之后,会轮流触发ADC1、ADC2、ADC3进行注入转换(一次触发只能触发一个ADC进行注入转换)。
7.5、混合型规则/注入同时模式
当注入触发产生时,此时如果正在进行规则组的同时转换,可以中断规则组的同时转换,然后开始注入组的同时转换,等注入组的同时转换结束后,再接着规则组的同时转换。
7.6、规则同时 + 交替触发组合模式
于混合型规则/注入同时模式相似,只不过“注入同时模式”改为“交替触发组合模式”。