Bootstrap

初学stm32 --- ADC模拟/数字转换器工作原理

目录

 常见的ADC类型

并联比较型工作示意图

逐次逼近型工作示意图

ADC的特性参数

STM32各系列ADC的主要特性

ADC框图简介

参考电压/模拟部分电压

输入通道( F1为例)

转换序列(F1为例)

规则组和注入组执行优先级对比 

规则序列和注入序列(F1为例)

触发源(F1)

外部触发转换

转换时间(F1)

数据寄存器(F1)

中断

单次转换模式和连续转换模式

扫描模式

不同模式组合的作用

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

 常见的ADC类型

并联比较型工作示意图

 

优点:转换速度快

缺点:成本高、功耗高、分辨率低

逐次逼近型工作示意图

 逐次逼近就是,不断修改数码寄存器的值,然后通过D/A转换器转换为模拟电压,多次比较,然后得到逼近真实模拟电压输入的电压值

优点:结构简单、低功耗

缺点:转换速度较慢

特点:

分辨率和采样速度相互矛盾,

分辨率越高,采样速率越低

ADC的特性参数

分辨率:表示ADC能辨别的最小模拟量,用二进制位数表示,比如:8101216位等(刻度划分

转换时间:表示完成一次A/D转换所需要的时间,转换时间越短,采样率就可以越高

精度:最小刻度基础上叠加各种误差的参数,精度受ADC性能、温度和气压等影响(物理量的精准程度

量化误差:用数字量近似表示模拟量,采用四舍五入原则,此过程产生的误差为量化误差

STM32各系列ADC的主要特性

采样时间是指 ADC 进行采样的时间段。在这个时间段内,ADC 会将输入的模拟信号充电到其内部的采样保持电容(Sample-and-Hold Capacitor)上,以稳定该信号的电压。这个过程是为了确保输入信号的电压在转换过程中能够准确地反映。

转换时间是指 ADC 完成一个从模拟信号到数字信号的转换所需的时间。它不仅包括采样时间,还包括将采样的信号进行数字化处理的时间。转换时间由 ADC 的分辨率(例如 12 位、10 位)以及 ADC 时钟的频率等因素决定。

ADC框图简介

参考电压/模拟部分电压

输入通道

转换序列:注入通道、规则通道

触发源

转换时间

数据寄存器

中断

参考电压/模拟部分电压

 ADC供电电源:VSSA VDDA2.4VVDDA3.6V

ADC输入电压范围:VREFVINVREF+(即0VVIN3.3V

输入通道 F1为例)

 有十八个通道,通道0到通道15是外部通道,通道16和通道17是内部通道;

转换序列(F1为例)

A/D转换被组织为两组:规则组(常规转换组)注入组(注入转换组)

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

规则组和注入组执行优先级对比 

        当没有触发注入组的通道转换时,规则组按照从小到大的顺序转换,当触发了注入组的通道转换的时候,首先将当前规则组的当前通道的转换完成,然后先去执行注入组的通道转换,入组按照从小到大的顺序转换。执行完注入组的通道转换后, 再取执行剩余规则组的通道转换。

规则序列和注入序列(F1为例)

注入序列的转换顺序是从JSQx[ 4 : 0 ](x=4-JL[1:0])开始

触发源(F1

触发转换的方法有两种:

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

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

2)外部事件触发转换

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

外部触发转换

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

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

 1. TIM8_TRGO事件只存在于大容量产品

2.对于规则通道,选中EXTI线路11或TIM8_TRGO作为外部触发事件,可以分别通过设置ADC1和ADC2的ADC1_ETRGREG_REMAP位和ADC2_ETRGREG_REMAP位实现。

 1. TIM8_CC4事件只存在于大容量产品

2.对于注入通道,选中EXTI线路15和TIM8_CC4作为外部触发事件,可以分别通过设置ADC1和ADC2的ADC1_ETRGINJ_REMAP位和ADC2_ ETRGINJ_REMAP位实现。

转换时间(F1

如何设置ADC时钟?

如何设置ADC转换时间?

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

采样时间可通过SMPx[2:0]位设置,x=0~17

SMP = 0001.5个ADC时钟周期                  SMP = 001:7.5ADC时钟周期

SMP = 01013.5个ADC时钟周期                SMP = 011:28.5ADC时钟周期

SMP = 10041.5个ADC时钟周期                SMP = 101:55.5ADC时钟周期

SMP = 11071.5个ADC时钟周期                SMP = 111:239.5ADC时钟周期

举个例子:ADC时钟频率为12MHz时,ADC最短的转换时间是多少?

TCONV = 采样时间 + 12.5个周期 = 1.5个周期 + 12.5个周期 = 14个周期 =

(1/12000000)∗14 s = 1.17us

数据寄存器(F1

 16个通道对应一个数据寄存器,所以存在数据的覆盖。

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

中断

F1/F4/F7系列ADC中断事件汇总表:

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

        规则组每个通道转换结束后,除了可以产生中断外,还可以产生DMA请求,我们利用DMA及时把转换好的数据传输到指定的内存里,防止数据被覆盖。

单次转换模式和连续转换模式

 

扫描模式

 

不同模式组合的作用

;