蓝桥杯嵌入式准备——ADC

本文详细介绍了STM32G431微控制器中集成的ADC特性和工作模式,包括转换精度、电压范围、通道配置、转换顺序、触发源、转换时间和数据寄存器。还讨论了不同模式如单次、连续、扫描和DMA应用模式,以及如何通过CubeMX配置ADC并编写代码进行数据采集。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

目录

硬件和原理:

主要特性:

功能框图:

1、电源和参考电压:

2、输入通道:

3、通道和转换顺序:

4、触发源:

5、转换时间

 6、数据寄存器

 7、模拟看门狗和中断

ADC工作模式:

单次传输模式:

不连续采样模式:

常规扫描模式(连续采样):

连续循环转换模式:

注入转换扫描模式:

DMA应用模式:

多重ADC同时模式:

多重ADC交替模式:

 多重ADC交替触发模式:

 软件和CUBEMX配置:

采集一路ADC:

原理图:

CubeMX的配置:

代码编写:

采集两路ADC:

效果展示:


硬件和原理:

(如果想快速入手使用的话,这边可以略过直接上手配置代码和cubeMX)

稍微了解,加深对代码进行配置的理解。

STM32G431内部集成2个有最高12位的ADC(ADC1和ADC2)他们是逐次逼近型数模转换器。

主要特性:

可配置的转换精度: 6 位, 8 位, 10 位, 12
转换电压范围: 0 ~ V REF+ 一般接到 3.3V 电源 ,不能超过 STM32 芯片电源电压)
19 个转换通道: 16 个外部通道( IO 引脚) + 3 个内部通道(温度传感器、内部电压参考、电池供电监测)
采样时间可配置
扫描方向可配置
多种转换模式:单次,连续
数据存放对齐方式可配置:左对齐,右对齐( ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中)
启动转换方式可配置:软件触发,硬件触发
可设置上下门限的模拟看门狗
DMA 功能
在转换结束、注入转换结束以及发生模拟看门狗或溢出事件时产生中断

一个ADC可以处理十九个通道

功能框图:

 大致可分为七个部分:

1、电源和参考电压:

 

如果有低功耗的要求,那就配置内部寄存器,控制ADC的电源开关/

2、输入通道:

 

0~15个外部通道和三个内部通道,

 考试的时候想要知道是哪一个引脚可以去芯片手册上查找

3、通道和转换顺序:

实际就是排序

 

规则通道:

意思就是规规矩矩的按照顺序来转换,平时用的就是这类通道

规则通道序列:

 规则通道序列由四个寄存器控制着,ADC_SQR1~ADC_SQR4四个寄存器,从SQR1到SQR4这四个32位寄存器中规定了16个转换,而这16个转换也不是必须全部都用,可以编程控制的,并且每一个转换可以存放ADCx_IN0~15的任何一个输入通道,

注入通道:

这里和规则通道就不同了,注入可以理解为插队。他是一种在规则通道转换的时候强行插入要转换的一种。这点和中断有点像,当规则通道转换中,有注入通道插队那么得先传换注入通道,然后在倒回来转换规则通道。

注入通道顺序:

 四个注入通道也能进行排序。

但是整体上来看注入通道的优先级更高。

转换时序图:

ADC在开始精确转换之前需要一段稳定时间t.,ADC 开始转换并经过十五个周期后,EOC标志1,转换结果存放在16位ADC数据寄存器中。

 ADC_CLK:时钟

ADON:ADC的开关,寄存器的一个位,打开这个位了,AD就正式使能了

SWS:软件触发

ADC:进行转换

EOC:发送转换结束的标志

4、触发源:

 

使用控制寄存器启动时,很简单,为ADOD位写1开始转换,写0停止转换。

使用外部事件来触发转换,这个触发包括内部定时器触发和外部IO触发

触发源的选择由ADC_CFGREXTSEL[3:0]

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值