【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 ≤ VREF+

● 规则通道转换期间有DMA请求产生。

03. 逐次逼近型ADC

04. ADC功能描述

05. ADC基本结构

06. 输入通道

07. 转换模式

单次转换,非扫描模式

连续转换,非扫描模式

单次转换,扫描模式

连续转换,扫描模式

08. 触发控制

转换可以由外部事件触发(例如定时器捕获,EXTI线)。如果设置了EXTTRIG控制位,则外部事件就能够触发转换。EXTSEL2:0和JEXTSEL2:0]控制位允许应用程序选择8个可能的事件中的某一个,可以触发规则和注入组的采样。

注意: 当外部触发信号被选为 ADC 规则或注入转换时,只有它的上升沿可以启动转换。

09. 数据对齐

ADC_CR2寄存器中的ALIGN位选择转换后数据储存的对齐方式。数据可以左对齐或右对齐,如图29和图30所示。

注入组通道转换的数据值已经减去了在ADC_JOFRx寄存器中定义的偏移量,因此结果可以是一个负值。SEXT位是扩展的符号值。

对于规则组通道,不需减去偏移值,因此只有12个位有效。

10. 转换时间

AD转换的步骤:采样,保持,量化,编码

ADC使用若干个ADC_CLK周期对输入电压采样,采样周期数目可以通过ADC_SMPR1和ADC_SMPR2寄存器中的SMP2: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学习笔记汇总

相关推荐
~城南花已开~15 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
hss1234567816 小时前
天津婚房装修怎么选:从整装、定制到全案落地的技术决策框架
笔记
职豚求职小程序刷题16 小时前
中国平安社招IQ测评+16PF怎么准备?
笔记
春和景明36016 小时前
27号笔记
笔记
志尊宝16 小时前
AI原生前端开发(028):AI辅助的调试与错误修复
人工智能·笔记·重构·ai-native
宽容人厚载物16 小时前
芯驰 E3620 XTRG 配置笔记:EB 配置、典型实例与注意事项
笔记
玄芯散人16 小时前
【元婴·114】SD卡和FatFS文件系统:数据持久化
stm32·sd卡·fatfs
我命由我1234517 小时前
6-3.Python 异常处理 - 异常处理进阶(else 块与 finally 块、异常传递、自定义异常)
开发语言·前端·数据库·后端·python·学习·java-ee
熊猫钓鱼>_>18 小时前
端侧 NPU 轻量大模型推理接入笔记【鸿蒙心迹】
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙
外收内放18 小时前
FastAPI猜字谜实战(8):收官
开发语言·python·学习·fastapi