目录
常见的ADC类型
并联比较型工作示意图
逐次逼近型工作示意图
ADC的特性参数
STM32各系列ADC的主要特性
ADC框图简介
参考电压/模拟部分电压
输入通道( F1为例)
转换序列(F1为例)
规则组和注入组执行优先级对比
规则序列和注入序列(F1为例)
触发源(F1)
外部触发转换
转换时间(F1)
数据寄存器(F1)
中断
单次转换模式和连续转换模式
扫描模式
不同模式组合的作用
ADC,全称:Analog-to-Digital Converter,指模拟/数字转换器
常见的ADC类型
并联比较型工作示意图
优点:转换速度快
缺点:成本高、功耗高、分辨率低
逐次逼近型工作示意图
逐次逼近就是,不断修改数码寄存器的值,然后通过D/A转换器转换为模拟电压,多次比较,然后得到逼近真实模拟电压输入的电压值
优点:结构简单、低功耗
缺点:转换速度较慢
特点:
分辨率和采样速度相互矛盾,
分辨率越高,采样速率越低
ADC的特性参数
分辨率:表示ADC能辨别的最小模拟量,用二进制位数表示,比如:8、10、12、16位等(刻度划分)
转换时间:表示完成一次A/D转换所需要的时间,转换时间越短,采样率就可以越高
精度:最小刻度基础上叠加各种误差的参数,精度受ADC性能、温度和气压等影响(物理量的精准程度)
量化误差:用数字量近似表示模拟量,采用四舍五入原则,此过程产生的误差为量化误差
STM32各系列ADC的主要特性
采样时间是指 ADC 进行采样的时间段。在这个时间段内,ADC 会将输入的模拟信号充电到其内部的采样保持电容(Sample-and-Hold Capacitor)上,以稳定该信号的电压。这个过程是为了确保输入信号的电压在转换过程中能够准确地反映。
转换时间是指 ADC 完成一个从模拟信号到数字信号的转换所需的时间。它不仅包括采样时间,还包括将采样的信号进行数字化处理的时间。转换时间由 ADC 的分辨率(例如 12 位、10 位)以及 ADC 时钟的频率等因素决定。
ADC框图简介
①参考电压/模拟部分电压
②输入通道
③转换序列:注入通道、规则通道
④触发源
⑤转换时间
⑥数据寄存器
⑦中断
参考电压/模拟部分电压
ADC供电电源:VSSA、 VDDA (2.4V≤VDDA≤3.6V )
ADC输入电压范围:VREF–≤VIN≤VREF+(即0V≤VIN≤3.3V )
输入通道( F1为例)
有十八个通道,通道0到通道15是外部通道,通道16和通道17是内部通道;
转换序列(F1为例)
A/D转换被组织为两组:规则组(常规转换组)和注入组(注入转换组)
规则组最多可以有16个转换,注入组最多有4个转换
规则组和注入组执行优先级对比
当没有触发注入组的通道转换时,规则组按照从小到大的顺序转换,当触发了注入组的通道转换的时候,首先将当前规则组的当前通道的转换完成,然后先去执行注入组的通道转换,入组按照从小到大的顺序转换。执行完注入组的通道转换后, 再取执行剩余规则组的通道转换。
规则序列和注入序列(F1为例)
注入序列的转换顺序是从JSQx[ 4 : 0 ](x=4-JL[1:0])开始
触发源(F1)
触发转换的方法有两种:
(1)ADON位触发转换(仅限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 = 000:1.5个ADC时钟周期 SMP = 001:7.5个ADC时钟周期
SMP = 010:13.5个ADC时钟周期 SMP = 011:28.5个ADC时钟周期
SMP = 100:41.5个ADC时钟周期 SMP = 101:55.5个ADC时钟周期
SMP = 110:71.5个ADC时钟周期 SMP = 111:239.5个ADC时钟周期
举个例子: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及时把转换好的数据传输到指定的内存里,防止数据被覆盖。
单次转换模式和连续转换模式
扫描模式