样品申请 | 资料下载 | 替换型号咨询

基于灵动微电子MM32F013系列ADC任意通道工作模式

MCU的应用场景中,处处都有用到ADC,比如电池电量的采集、温度采集、电机应用中电流检测等等。MM32F013xADC模块新增了任意通道工作模式,支持在多种应用场景中更灵活的应用;本文灵动微电子代理英尚微针对任意通道工作模式,分享在MM32F013系列上实现任意通道工作模式的使用与具体配置。

任意顺序多通道功能

MM32F013x系列的MCU中新增了ADC对任意通道的支持,在任意通道配置(ADC_ANY_CR.CHANY_MDEN)使能后,其优先级高于常规通道配置,后续的转换按任意通道配置的方式转换。

任意通道模式支持单次转换模式、单周期转换模式和连续扫描模式。

A/D转换开始条件:

•软件启动

•外部触发启动,且软件可配置外部触发延时

Timer1/2/3匹配或TRGO信号,外部EXTI信号源

相关的寄存器

MCU.jpg

具体功能与详细描述,请参考MM32F013x系列的用户手册。

任意通道工作模式

1单次转换模式

在单次转换模式下,A/D转换相应通道上只执行一次,具体流程如下:

•软件设置寄存器ADC_ANY_CFGADC_CHANY0ADC_CHANY1,设置转换通道,置位CHANY_MDEN(单次转换模式,只需设置CHANY_SEL0)

•通过软件、外部触发输入及定时器溢出置位ADCR寄存器的ADST,开始A/D转换。

A/D转换完成时,A/D转换的数据值将存储于数据寄存器ADDATAADDRn中。

A/D转换完成时,状态寄存器ADSTAADIF位置1。若此时控制寄存器ADCRADIE位置1,将产生AD转换结束中断请求。

A/D转换期间,ADST位保持为1A/D通道采样结束后,ADST位自动清0A/D转换器进入空闲模式。

•若在A/D转换过程中,软件更新ADC_ANY_CFGADC_CHANY0ADC_CHANY1,硬件不会立即更新这些配置,只会在当前设置的通道都转换结束时更新,然后等待下一次软件置位ADST

MCU1.jpg

该模式仍然支持通过过配置当外部事件(比如TIMTrigEXTI)触发转换时序。

单周期扫描模式

在单周期扫描模式下,A/D转换相应通道上执行一遍按配定顺序的转换,具体流程如下:

•软件设置寄存器ADC_ANY_CFGADC_CHANY0ADC_CHANY1,将需要转换的通道、数量设置好,然后置位CHANY_MDEN

•通过软件、外部触发置位ADCR寄存器的ADST,外部触发可软件配置触发延时,A/D转换方向从CHANY_SEL0CHANY_SEL15,转换通道数量由CHANY_NUM配置,且CHANY_SEL0CHANY_SEL15是任意配置的,可以完全相同,或完全不相同。

•每路A/D转换完成时,A/D转换的数据值将有序装载到相应通道的数据寄存器中,ADIF转换结束标志被设置,若此时控制寄存器ADCRADIE位置1,将产生AD转换结束中断请求。

A/D最后一个通道采样结束后,ADST位自动清0A/D转换器进入空闲模式。

•若在A/D转换过程中,软件更新ADC_ANY_CFGADC_CHANY0ADC_CHANY1,硬件不会立即更新这些配置,只会在当前设置的通道都转换结束时更新,然后等待下一次软件软件置位ADST

MCU2.jpg

在一些场景中,需要在执行一遍上述采样后,对采样顺序做调整;或减少采样通道数,以减少采样总体时间,可以通过简单的配置一两个寄存器实现灵活的配置;

3连续扫描模式

在连续扫描模式下,A/D转换通道依软件配置一直执行,直到软件禁止。具体流程如下:

•软件设置寄存器ADC_ANY_CFGADC_CHANY0ADC_CHANY1,将需要转换的通道、数量设置好,然后置位CHANY_MDEN

•通过软件、外部触发置位ADCR寄存器的ADST,外部触发可软件配置触发延时,A/D转换方向从CHANY_SEL0CHANY_SEL15,转换通道数量由CHANY_NUM配置,且CHANY_SEL0CHANY_SEL15是任意配置的,可以完全相同,或完全不相同。

•每路A/D转换完成时,A/D转换的数据值将有序装载到相应通道的数据寄存器中,ADIF转换结束标志被设置,若此时控制寄存器ADCRADIE位置1,将产生AD转换结束中断请求。

•通过软件、外部触发置位ADCR寄存器的ADST,外部触发可软件配置触发延时,A/D转换方向从CHANY_SEL0CHANY_SEL15,转换通道数量由CHANY_NUM配置,且CHANY_SEL0CHANY_SEL15是任意配置的,可以完全相同,或完全不相同。

•只要ADST位保持为1,持续进行A/D转换。当ADST位被清0,当前A/D转换完成后停止,A/D转换器进入空闲状态。

•若在A/D转换过程中,软件更新ADC_ANY_CFGADC_CHANY0ADC_CHANY1,硬件不会立即更新这些配置,只会在当前设置的通道都转换结束时更新,即下一个扫描周期开始新的通道转换。

MCU3.jpg

应用还可以结合外部触发功能与DMA传输功能,实现TIM触发多通道ADC转换,DMA装载数据的功能。