STM32——ADC模数转换器

ADC简介

ADC,全称:Analog-to-Digita丨Converter,指模拟/数字转换器

ADC将模拟信号转换为数字信号。

基本原理

将连续时间的模拟信号转换为离散时间的数字信号。具体来说,ADC将模拟信号在时间上进行采样,然后通过量化操作将每个采样值转换为数字编码。这些数字编码可以用二进制代码表示。

ADC在转换过程中需要通过采样频率和量化精度来决定转换质量,采样频率和量化精度越高,转换质量越好,但同时也会增加转换的成本和复杂度。

常见的ADC类型

并联比较型

并联比较型 ADC 又称 Flash ADC,属于直接 ADC,能将输入的模拟电压直接转换为输出的数字量,不需要经过中间变量转换。它由一系列电压比较器组成,每个比较器将输入信号与唯一的分压后的参考电压进行比较。比较器的输出连接编码器电路的输入,产生二进制的输出。

逐次逼近型

其原理是,设定一个数字量,通过 DAC 得到一个对应的输出模拟电压。将这个模拟电压和输入的模拟电压信号从最高位开始顺序地相比较,如果两者不相等,则调整所取的数字量,直到两个模拟电压相等为止,最后所取的这个数字量就是所求的转换结果。其过程像用天平去称量位置重量的物体,先加大砝码,再逐次添加或换用小砝码。

ADC特性参数

  1. 分辨率 表示ADC能分辨的最小模拟量,用二进制数表示,比如8、10、12、16位等。
  2. 转换时间 表示一次完成A/D转换所要的时间,转换时间越短,采样率越高。
  3. 精度 最小刻度基础上叠加各种误差的参数,精度受ADC性能、温度和气压等影响。
  4. 量化误差 用数字量近似表示模拟量,采用四舍五入原则,此过程产生的误差为量化误差。

ADC主要特性

ADC内部框图

参考电压/模拟部分电压

输入通道(F1系列)

转换序列(F1系列)

A/D转换被分为两组,规则组(常规转换组)和注入组(注入转换组)

规则组最多可以有16个转换,注入组最多4个转换

注意:

注入组可以打断规则住转换。比如在规则组转换过程中,注入组启动,那么注入组被转换完成之后,规则组才得以继续转换。

执行优先级对比

规则组序列控制寄存器

注入组序列控制寄存器

触发源

ADC触发方式有两种:

(1)ADON位触发转换(仅限F1系列)

当ADC_CR2寄存器的ADON位为1时,再单独给ADON位写1,只能启动规则组转换

(2)外部事件触发转换

外部事件触发转换分为:规则组外部触发和注入组外部触发

转换时间(F1系列)

1.设置ADC时钟

2.设置转换时间

ADC转换时间:T= 采样时间+12.5个周期

数据寄存器

由ADCx_CR2寄存器的ALIGN位设置数据对齐方式,可选择:右对齐或者左对齐

注意:

ADC 规则数据寄存器只有一个,如果使用多通道转换,那久区能用首时数糖也会存放在DR里面,1按照规则组的顺序,上一个通道转换的数据,会被下一个通道转换的数据覆盖掉,所以当通道转换完成后要及时把数据取走。

比较常用的方法是使用DMA模式。

当规则组的通道转换结束时,就会产生 DMA请求,这样就可以及时把转换的数据搬运到用户指定的目的地址存放。

中断

DMA请求(只适用于规则组)

规则组每个通道转换结束后,除了可以产生中断外,还可以产生DMA请求,

我们利用DMA及时把转换好的数据传输到指定的内存里,防止数据被覆盖。

转换模式和扫描模式

转换模式

扫描模式

不同组合模式

一种比较少用的模式:不连续采样模式式(F1手册称为:间断模式),只适用在扫描模式下。

ADC寄存器(F1系列)

ADC控制寄存器 1(ADC_CR1)

ADC控制寄存器 2(ADC_CR2)

ADC采样时间寄存器1(ADC_SMPR1)

ADC采样时间寄存器2(ADC_SMPR2)

ADC规则序列寄存器 1(ADC_SQR1)

ADC规则序列寄存器 2(ADC_SQR2)

ADC规则序列寄存器 3(ADC_SQR3)

ADC规则数据寄存器 (ADC_DR)

相关HAL库函数介绍

相关推荐
蓝斯49710 小时前
从.到实现一个Windows上的虚拟hid键盘设备
windows·单片机·计算机外设
熙芯XiChip11 小时前
硬实时与软实时RTOS核心区别
嵌入式硬件
伟大的前程11 小时前
unsigned int 定义的变量 在 电脑的 64 位系统中 和 32 位 cortex-m0 和 8 位的 51 单片机
单片机·嵌入式硬件
小渔村的拉线工11 小时前
1.HPM6E80 解析芯片整体工作原理和存储架构
单片机·嵌入式硬件·mcu·架构·hpm6e80
熙芯XiChip12 小时前
CAN与CANopen的本质区别
单片机
lilihewo12 小时前
Altium Designer 封装库的创建(分享pcb 3D封装库)
嵌入式硬件·51单片机
神罚天下ET13 小时前
典型arm位单片机启动流程(从上电到main.c)
c语言·arm开发·单片机
碧海银沙音频科技研究院14 小时前
蓝牙耳机使用WSDF5361锂保芯片进入船运模式实现方法
嵌入式硬件·算法
Zevalin爱灰灰15 小时前
模拟信号链电路——基于TL431的电压基准电路
单片机·嵌入式硬件
csdn杰哥15 小时前
瑞萨单片机开发教程[二十七] DTC 外部中断触发传输实验
单片机·嵌入式硬件·mongodb·瑞萨·ra6m5