ADC电压采集(基于STM32hal库)(详细介绍)

本文详细介绍了STM32中的ADC外设,包括其工作原理、主要特性(如分辨率、转换速度、中断和DMA请求)、配置参数(如扫描模式、连续转换、数据对齐和通道数量)以及ADC初始化过程。重点讲解了模数转换和模拟信号处理流程。

目录

STM32 ADC电压采集

前言

ADC介绍

 STM32 ADC外设介绍

ADC主要特征

ADC系统框图

转换顺序

规则序列

注入序列

转换时间

ADC 时钟

采样时间

数据寄存器

规则数据寄存器

注入数据寄存器

ADC控制寄存器 2(ADC_CR2)

中断

转换结束中断

模拟看门狗中断

DMA 请求

电压转换

ADC 初始化结构体


STM32 ADC电压采集

前言

本文包括了模数转换器ADC的应用原理以及在STM32中ADC外设的介绍。

如果想要了解STM32中ADC外设的具体应用可参考:

ADC电压采集(基于STM32hal库)(保姆级应用)_竹烟淮雨的博客-优快云博客

如果想要了解ADC在嵌入式实时操作系统RTOS中的应用,可参考:

RTT(RT-Thread)ADC设备(保姆级)_竹烟淮雨的博客-优快云博客

ADC介绍

这是一个典型的嵌入式闭环控制系统框图,在这个系统中将模拟量转化为数字量的过程称之为模数转换,而完成这一转换的器件叫做模数转换器(A/D转换器,简称ADC)。将数字量转换为模拟量的过程称之为数模转换,与之对应的器件叫做数模转换器(D/A转换器,简称DAC)。从图中我们可以看到只要和CPU(嵌入式控制系统)打交道的一定是数字量,而和被控制对象相关的一定是非电量(它可能是温度、也可能是某个电机的速度等等)。

模拟量与数字量之间的通信就需要使用AD转换与DA转换。

 

模拟信号的采集与处理过程如上图所示,就是传感器的信号通过运放进行放大,然后经过模拟开关采样,最后通过ADC转换成数字量给单片机的IO口,在微处理器进行数字信号的处理。

采集系统主要是由模拟信号的采集、AD转换、数字信号处理三个部分组成。

ADC的原理:ADC转换主要包含两个内容,一是采样保持,再一个是量化编码成数字量给单片机去使用。

采用保持是指:单片机的ADC外设进行读取时,需要信号保持一会儿,才能完成量化编码的工作。图中所示ADC采样器将连续的模拟信号变成离散的信号,然后给单片机去使用,最后转换成数字量,这就是AD转换的核心。

量化编码分为多种算法,我们只需要知道STM32的ADC外设采用的是逐次比较型进行量化。

STM32的ADC外设是传统的LPCM型ADC,我们在使用中主要关心的参数有以下五个

  • 分辨率:很多我们时候我们说一个N位的AD转换器它的分辨率就是N,一般的STM32 AD转换器至少支持到了12位。假设最大的输入电压是5V,那么它所能分辨的最小电压量为5/2^12。一个转换器的位数越多,那么它能够分辨的最小模拟电压值就越小。但ADC的测量结果是经过运算器放大的,传感器如果精度不够,往往得到的数据误差也会被放大,一个12bit的ADC,它可能只有前10位才是有效值,这就引出了第二个参数:相对精度
  • 相对精度:AD转换器实际输出数字量与理论值之间的最大的差值就称之为相对精度
  • 转换速度:AD转换器完成一次转换所需要的时间,STM32所使用的逐次比较型ADC外设一般是微妙级别的转换速度
  • 采样间隔时间(采样速率):不同于转换速率,采样速率也就是间隔转换时间,指的是两次转换的间隔时间。为了保证采样的正确完成,采样速率必须小于或者等于转换速率。可以说转换速率是最大的采样速率,因此我们习惯将转换速率在数值上设置等同于采样速率
  • 采样的电压范围:STM32一般为0-3.3V

一旦谈到AD采样,在大学教材里都会提到拉科斯特采样定理与香农定理,但就STM32外设的使用而言,我们不需要关心它,除非打算还原波形。

 STM32 ADC外设介绍

以STM32F407ZGT6为例

它拥有3个分辨率为12bit,最大转换速率为2.4M,有24个通道,三个ADC交替采集同一个通道可以达到的最大转换速率为7.2M。其中SPS指的是转换速率,表示1S内完成模拟量转换为数字量的次数,所以单次转换时间为1/24000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹烟淮雨(408考研ing)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值