STM32F10x系列单片机,设置了具有12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部,信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阈值。
ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。
1.ADC主要特征
①12位分辨率。
②转换结束、注入转换结束和发生模拟看门狗事件时产生中断。
③单次和连续转换模式。
④从通道0到通道n的自动扫描模式。
⑤自校准。
⑥带内嵌数据一致性的数据对齐。
⑦采样间隔可以按通道分别编程。
⑧规则转换和注入转换均有外部触发选项。
⑨间断模式。
⑩双重模式(带2个或以上ADC的器件)。
⑪ ADC转换时间:对于STM32F10x系列各种型号略有不同,最大转换速率范围在1~2μs。
⑫ ADC供电要求:2.4~3.6V。
⑬ ADC输入范围:VREF-≤VIN≤VREF+。
⑭规则通道转换期间有DMA请求产生。
STM3210x的ADC结构图如图4.24所示。
图4.24 ADC结构框图
2.ADC输入源与管脚分布
STM3210x系列单片机ADC转换器可以测量16个模拟信号通道,外加电源和参考电压,所使用的引脚如表4.8所示。
表4.8 ADC转换器引脚(www.daowen.com)
注意:VDDA和VSSA应该分别连接到VDD和VSS。
STM3210x系列单片机有3个可同时使用的ADC转换器,分别为ADC1、ADC2、ADC3,其所用的通道与管脚分布如表4.9所示。
表4.9 ADC所用的通道与管脚分布
3.通道选择
STM3210x系列单片机有16个多路通道。可以把转换组织成两组:规则组和注入组。在任意多个通道上以任意顺序进行的一系列转换构成组转换。例如,可以如下顺序完成转换:通道8、通道3、通道2、通道2、通道0、通道3、通道2、通道15。
规则组由16个转换组成。规则通道和它们的转换顺序在ADC_SQRx寄存器中选择。注入组由4个转换组成。注入通道和它们的转换顺序在ADC_JSQR寄存器中选择。如果ADC_SQRx或ADC_JSQR寄存器在转换期间被更改,当前的转换被清除,一个新的启动脉冲将发送到ADC以转换新选择的组。温度传感器和通道ADC1_IN16相连接,内部参照电压VREFINT和ADC1_IN17相连接。可以按注入或规则通道对这两个内部通道进行转换。
“规则组”一般用于普通的A/D转换分组,而“注入组”一般用于不常用或突发的AD转换分组,可以认为“注入组”是对“规则组”的一种中断行为。
4.校准
ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。在校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。
通过设置ADC_CR2寄存器的CAL位启动校准。一旦校准结束,CAL位被硬件复位,可以开始正常转换。建议在上电时执行一次ADC校准。校准阶段结束后,校准码储存在ADC_DR中。
建议在每次上电后执行一次校准,启动校准前,ADC必须处于关电状态(ADON=‘0’)超过至少两个ADC时钟周期。
5.ADC中断
规则和注入组转换结束时能产生中断,当模拟看门狗状态位被设置时也能产生中断,它们都有独立的中断使能位。中断参数信息如表4.10所示。
表4.10 ADC中断
ADC1和ADC2的中断映射在同一个中断向量上,而ADC3的中断有自己的中断向量。
6.DMA请求
因为规则通道转换的值储存在一个仅有的数据寄存器中,所以当转换多个规则通道时需要使用DMA,这可以避免丢失已经存储在ADC_DR寄存器中的数据。
只有在规则通道的转换结束时,才产生DMA请求,并将转换的数据从ADC_DR寄存器传输到用户指定的目的地址。
注意:只有ADC1和ADC3拥有DMA功能。由ADC2转化的数据可以通过双ADC模式,利用ADC1的DMA功能传输。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。