ADC--模拟量转换成数字量

目录

一、ADC硬件组成七大部分:

二、单次转换,连续转换,不连续采样模式,扫描模式区别

1、举例(5种组合情况)

2、模拟看门狗中断的作用:

三、MCU使用ADC步骤


一、ADC硬件组成七大部分:

①输入电压:

(1) ADC 输入范围 VREF--≤VIN≤VREF+

② 输入通道

(1) ADC 的输入通道, ADC1 有 16 个外部通道和 3 个内部通道,而 ADC2和 ADC3 只有有 16 个外部通道。 ADC1 的外部通道是通道 17、通道 18 和通道 19,分别连接到内部温度传感器、内部 Vrefint和 Vbat,具体的外部通道对应的GPIO引脚,要看对应的芯片手册,比如STM32F407的ADC通道:

③ 转换顺序

(1)规则组 :每个外部通道,都可以放入规则组的任何序列,由SQR1、 SQR2 和 SQR3 寄存器决定,转换顺序由序列组决定,从小到大,序列组的长度由SQL 寄存器决定。

(2)注入组

转换顺序由序列组决定,从小到大;但注入组可以中断到规则组先转换。

④ 触发源

(1)软件触发(常用):通过写 ADC_CR2 寄存器的 ADON 这个位来控制,写 1 就开始转换,写 0 就停止转换,

****(2)硬件触发:****定时器事件,外部中断。

⑤ 转换时间

(1) STM32F407 的 ADC 总转换时间的计算公式如下:

TCONV = 采样时间(至少三个时钟周期) + 12 个周期(逐次逼近型转换决定)

ADC的时钟频率:不高于36M Hz

(2)由于ADC在STM32中是挂载在APB2总线上的,所以ADC得时钟是由PCLK2(72MHz)经过分频得到的。

⑥ 数据寄存器

ADC 转换完成后的数据输出寄存器。根据转换组的不同,规则组的完成转换的数据输出到ADC_DR 寄存器,注入组的完成转换的数据输出到 ADC_JDRx 寄存器:

(1)规则组:16个规则通道共用一个ADC_DR 寄存器保存转换结果,所以多通道转换要用扫描模式,并且要开DMA保存转换结果。

(2)注入组:4个注入通道分别对应四个ADC_JDRx 寄存器保存转换结果。

⑦ 中断

(1)规则和注入组转换结束时能产生中断;

(2)当模拟看门狗状态位被设置时也能产生中断 ;

(3)规则和注入组转换结束时还可以产生 DMA 请求,把转换好的数据存储在内存里面,防止读取不及时数据被覆盖。

二、单次转换,连续转换,不连续采样模式,扫描模式区别

1、举例**(5种组合情况)**

用ADC1 规则通道的顺序为CH0,CH1,CH2,CH3,

(1) 在单次转换模式下,不启动SCAN模式

启动ADC1,则

a、开始转换CH0(ADC_SQR的第一通道)

b、转换完成后停止,等待ADC的下一次启动,继续从第一步开始转换

(2) 在单次转换模式下,启动SCAN模式

启动ADC1,则

a、 开始转换CH0

b、转换完成后自动开始转换CH1

c、转换完成后自动开始转换CH2

d、 转换完成后自动开始转换CH3

e、转换完成后停止,等待ADC的下一次启动下一次ADC启动后从第一步开始转换

(3) 在连续转换模式下,不启动SCAN模式

启动ADC1,则

a、开始转换CH0(ADC_SQR的第一通道)

b、转换完成后回到第一步,继续转换

(4) 在连续转换模式下,启动SCAN模式下:

启动ADC1,则

a、开始转换CH0

b、转换完成后自动开始转换CH1

c、转换完成后自动开始转换CH2

d、转换完成后自动开始转换CH3

e、转换完成后返回第一步,继续转换

(5)不连续采样模式举例:

规则组:

ADC 多通道 必须 开启扫描模式 此模式必须 搭配DMA功能才能实现ADC的数据处理 , 注意;另外DMA只能用于ADC的规则序列,不能用于注入序列

2、模拟看门狗中断的作用:

(1)掉电检测

(2)程序可以基于各通道的转换结果进行合法性或安全性监测,此时使用ADC模拟看门狗功能就很方便。我们可以先让模拟看门狗做第一步把关,只有出现异常数据时才去进一步检查确认。

(3)模拟看门狗可以设置为多通道和单通道模式,即可以通过设置相应的寄存器位来选择某一通道或多通道打开模拟看门狗检测:

4、多通道扫描模式开启DMA?

三、MCU使用ADC步骤

相关推荐
@good_good_study13 分钟前
FreeRTOS内存管理
单片机
Hello_Embed1 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
qq_397562312 小时前
QT工程 , 生成别的电脑运行的exe程序
嵌入式硬件·qt
qqssss121dfd3 小时前
STM32H750XBH6的ETH模块移植LWIP
网络·stm32·嵌入式硬件
想放学的刺客5 小时前
单片机嵌入式试题(第27期)设计可移植、可配置的外设驱动框架的关键要点
c语言·stm32·单片机·嵌入式硬件·物联网
天昊吖5 小时前
stc8H启用DMA发送后 卡住【踩坑日志】
单片机
李永奉5 小时前
杰理芯片SDK开发-ENC双麦降噪配置/调试教程
人工智能·单片机·嵌入式硬件·物联网·语音识别
BackCatK Chen5 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
兆龙电子单片机设计5 小时前
【STM32项目开源】STM32单片机多功能电子秤
stm32·单片机·开源·毕业设计·智能家居
切糕师学AI6 小时前
ARM 架构中的复位(Reset)与复位流程
arm开发·单片机·嵌入式·复位