【STM32】STM32学习笔记-ADC模数转换器(21)

00. 目录

文章目录

    • [00. 目录](#00. 目录)
    • [01. ADC简介](#01. ADC简介)
    • [02. ADC主要特征](#02. ADC主要特征)
    • [03. 逐次逼近型ADC](#03. 逐次逼近型ADC)
    • [04. ADC功能描述](#04. ADC功能描述)
    • [05. ADC基本结构](#05. ADC基本结构)
    • [06. 输入通道](#06. 输入通道)
    • [07. 转换模式](#07. 转换模式)
    • [08. 触发控制](#08. 触发控制)
    • [09. 数据对齐](#09. 数据对齐)
    • [10. 转换时间](#10. 转换时间)
    • [11. 校准](#11. 校准)
    • [12. 硬件电路](#12. 硬件电路)
    • [13. 附录](#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 ≤ V~REF+~

● 规则通道转换期间有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周期

T~CONV~ = 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学习笔记汇总

相关推荐
Komorebi.py35 分钟前
【Linux】-学习笔记05
linux·笔记·学习
亦枫Leonlew44 分钟前
微积分复习笔记 Calculus Volume 1 - 6.5 Physical Applications
笔记·数学·微积分
冰帝海岸6 小时前
01-spring security认证笔记
java·笔记·spring
小二·7 小时前
java基础面试题笔记(基础篇)
java·笔记·python
PegasusYu8 小时前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
朝九晚五ฺ8 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
wusong99910 小时前
mongoDB回顾笔记(一)
数据库·笔记·mongodb
猫爪笔记10 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html
Resurgence0310 小时前
【计组笔记】习题
笔记
pq113_610 小时前
ftdi_sio应用学习笔记 3 - GPIO
笔记·学习·ftdi_sio