本文主要是介绍【STM32】STM32学习笔记-ADC模数转换器(21),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
00. 目录
文章目录
- 00. 目录
- 01. ADC简介
- 02. ADC主要特征
- 03. 逐次逼近型ADC
- 04. ADC功能描述
- 05. ADC基本结构
- 06. 输入通道
- 07. 转换模式
- 08. 触发控制
- 09. 数据对齐
- 10. 转换时间
- 11. 校准
- 12. 硬件电路
- 13. 附录
01. ADC简介
小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。
中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。
大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。
互联型产品是指STM32F105xx和STM32F107xx微控制器。
12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连
续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。
ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。
-
ADC(Analog-Digital Converter)模拟-数字转换器
-
ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
-
12位逐次逼近型ADC,1us转换时间
-
输入电压范围:0 ~ 3.3V,转换结果范围:0 ~ 4095
-
18个输入通道,可测量16个外部和2个内部信号源
-
规则组和注入组两个转换单元
-
模拟看门狗自动监测输入电压范围
-
STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道
02. ADC主要特征
● 12位分辨率
● 转换结束、注入转换结束和发生模拟看门狗事件时产生中断
● 单次和连续转换模式
● 从通道0到通道n的自动扫描模式
● 自校准
● 带内嵌数据一致性的数据对齐
● 采样间隔可以按通道分别编程
● 规则转换和注入转换均有外部触发选项
● 间断模式
● 双重模式(带2个或以上ADC的器件)
● ADC转换时间:
─ STM32F103xx增强型产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)
─ STM32F101xx基本型产品:时钟为28MHz时为1μs(时钟为36MHz为1.55μs)
─ STM32F102xxUSB型产品:时钟为48MHz时为1.2μs
─ STM32F105xx和STM32F107xx产品:时钟为56MHz时为1μs(时钟为72MHz为1.17μs)
● ADC供电要求:2.4V到3.6V
● ADC输入范围:V REF- ≤ VIN ≤ VREF+
● 规则通道转换期间有DMA请求产生。
03. 逐次逼近型ADC
04. ADC功能描述
05. ADC基本结构
06. 输入通道
07. 转换模式
单次转换,非扫描模式
连续转换,非扫描模式
单次转换,扫描模式
连续转换,扫描模式
08. 触发控制
转换可以由外部事件触发(例如定时器捕获,EXTI线)。如果设置了EXTTRIG控制位,则外部事件就能够触发转换。EXTSEL[2:0]和JEXTSEL2:0]控制位允许应用程序选择8个可能的事件中的某一个,可以触发规则和注入组的采样。
注意: 当外部触发信号被选为 ADC 规则或注入转换时,只有它的上升沿可以启动转换。
09. 数据对齐
ADC_CR2寄存器中的ALIGN位选择转换后数据储存的对齐方式。数据可以左对齐或右对齐,如图29和图30所示。
注入组通道转换的数据值已经减去了在ADC_JOFRx寄存器中定义的偏移量,因此结果可以是一个负值。SEXT位是扩展的符号值。
对于规则组通道,不需减去偏移值,因此只有12个位有效。
10. 转换时间
AD转换的步骤:采样,保持,量化,编码
ADC使用若干个ADC_CLK周期对输入电压采样,采样周期数目可以通过ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位更改。每个通道可以分别用不同的时间采样。
总转换时间如下计算:
T CONV = 采样时间+ 12.5个周期
例如:
当ADCCLK=14MHz,采样时间为1.5周期
TCONV = 1.5 + 12.5 = 14周期 = 1μs
11. 校准
ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的准精度误差。在校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。
通过设置ADC_CR2寄存器的CAL位启动校准。一旦校准结束,CAL位被硬件复位,可以开始正常转换。建议在上电时执行一次ADC校准。校准阶段结束后,校准码储存在ADC_DR中。
注意:
1 建议在每次上电后执行一次校准。
2 启动校准前, ADC 必须处于关电状态 (ADON=’0’) 超过至少两个 ADC 时钟周期。
12. 硬件电路
13. 附录
参考: 【STM32】江科大STM32学习笔记汇总
这篇关于【STM32】STM32学习笔记-ADC模数转换器(21)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!