本文将介绍STM32F407的模数转换功能ADC
①ADC的概念及作用
②ADC的性能指标及STM32F4-ADC的特性
③ADC的功能框图
④ADC的功能框图的详细介绍
⑤ADC的工作模式
①ADC的概念及作用
ADC是analog to digtal converter的缩写,指的是模数转换器,模数转换器可以将连续的模拟信号转换为离散的数字信号。
ADC的作用:采集传感器的数据、电压、电流等。
②ADC的性能指标及STM32F4-ADC的特性
ADC的性能指标主要有以下几个方面:
量程:能测量的电压范围;
分辨率:ADC的分辨率常以输出二进制的位数表示,位数越多分辨率越高、相应的转换时间会越长;
转换时间:在模拟输入电压符合输入电压范围的基础上,从开始转换到获得稳定数字量的时间;
STM32F4-ADC的特性:
3个ADC,每个通道的分辨率可调12、10、8、6位;
每个ADC有16个外部通道,ADC1还有另外的两个内部ADC源、1个BAT通道;
AD转换可以以单次、连续、扫描、间断的工作模式运行;
ADC具有独立模式、双重模式或三重模式;
AD转换的结果以左对齐或者右对齐的方式存放在16位的数据寄存器中;
③ADC的功能框图
④ADC的功能框图的详细介绍
输入电压范围:由VREF+、VREF-、VDDA、VSSA决定,硬件上一般将VREF-、VSSA接在一起,另外两个接到3.3V的电源上,这样输入电压的范围就为0-3.3V;若实际测量的电压不是这个范围、可以在硬件上用电压转换威廉希尔官方网站 转换到这个范围;
输入通道:每个ADC都具有16个外部通道,ADC1相比其他两个ADC多出3个通道用于测量芯片内部温度、电压、以及备用电池的电压
转换顺序:规则通道组、可以按照既定的转换顺序依次进行转换,具体转换顺序在ADC_SQRx寄存器中选择、总的转换数量在ADC_SQR1寄存器中配置;注入通道组、不按照顺序来转换可以插队转换;
转换时间:采样时间+12个ADC周期,采样在数个ADCCLK周期内完成、可使用ADC_SMPR1、ADC_SMPR2寄存器中的SMP[2:0]位修改周期数从而改变采样时间;ADC的周期由PCLK2经过ADC的预分频器分频得到、分频数在ADC_CCR寄存器的第16、17位选择;
数据寄存器:ADC的数据寄存器只有一个ADC_DR,ADC_DR是一个32位的寄存器、其中只有16个位是有效的、而转换后的数据最多只有12个位,所以转换后的数据可以左对齐或者右对齐存放、具体如何存放可以在ADC_CR2的第11位设置;由于规则通道组只有一个数据寄存器、所以在转换完成后若不及时取走转换好的数据下一次的转换结果会将之前的结果覆盖,为避免数据丢失可以使用DMA、后续将继续讲解DMA;
中断:
转换结束中断:规则通道和注入通道的数据转换结束后,都可以产生中断;
模拟看门狗中断:当ADC的转换的模拟电压低于低阈值或者高于高阈值会产生中断;
溢出中断:如果发生DMA传输数据丢失、会置位ADC_SR的OVR位,如果同时使能了溢出中断、数据转换结束后会产生一个溢出中断;
DMA请求:规则和注入通道转换结束后,除了产生中断外、还可以产生DMA请求将转换好的数据直接存储到内存中去;
触发源:软件触发+外部事件触发,软件触发、由ADC控制寄存器ADC_CR2的ADON位来控制、为1开始转换为0停止转换,外部事件触发有内部定时器触发和外部IO触发、具体选择哪种触发方式可以由ADC_CR2的EXTSEL[2:0]和JEXTSEL[2:0]位来控制
⑤ADC的工作模式
单次转换模式:ADC仅执行一次转换,CONT位为0时可以通过以下方式启动此模式:
ADC_CR2寄存器中SWSTART位置1,仅适用于规则通道;
将JSESTART置1,仅适用于注入通道;
外部触发,适用于注入通道、规则通道;
完成所选通道的转换之后、数据存储在16位的数据存储器中,如果转换的是规则通道转换结束EOC置1、EOCIE置1后会产生中断,如果转换的是注入通道转换结束后JEOC置1、JEOCIE置1后会产生中断,然后ADC停止工作;
连续转换模式:ADC结束一个转换后立即启动另一个转换,CONT为1时可通过外部触发或者ADC_CR2中的SWSTART位置1来启动此模式(仅适用于规则通道)。如果转换了规则通道组,会将上次转换的数据存在数据寄存器中、EOC置1、EOCIE将置1产生中断。无法连续转换注入通道;
扫描模式:
不连续采样模式:
全部0条评论
快来发表一下你的评论吧 !