STM32F4系列ADC最大转换速率及操作条件(以STM32F407ZGT6为例)

前言

  对于不同型号的MCU(Microcontroller Unit),极限参数可能会有所不同,因此必须以具体型号的数据手册(datasheet)为准,这里以STM32F407ZGT6为例进行讲解。

一、如何获取数据手册?

  请参考本人的另一篇文章 如何下载STM32某型号MCU的数据手册(datasheet)

二、STM32F4系列ADC相关基础

ADC时钟

  ADC有两个时钟

  • 模拟电路时钟(ADCCLK):所有ADC(ADC1、ADC2和ADC3)共用,用于ADC转换部分模拟电路。
  • 数字接口时钟(APB2):每个ADC独立使能其数字接口时钟,用于寄存器读/写访问。

  其中ADCCLKPCLK2(APB2时钟)分频而来,由ADC通用控制寄存器 ADC_CCR 中的 ADCPRE 位编程预分频系数。

在这里插入图片描述

ADC采样时间

  ADC采样时间可由寄存器 ADC_SMPRx 软件编程,这里的周期是指模拟时钟周期(即ADCCLK)。每个ADC转换器的采样时间是独立设置的。

在这里插入图片描述

ADC分辨率

  ADC分辨率同样可由软件编程,通过ADC_CR1寄存器的RES位可设置ADC转换器的分率。分辨率越低转换所需周期数(下图含最小采样时间)越少,每个ADC转换器的分辨率是独立设置的。

在这里插入图片描述

三、一般操作条件

  参考数据手册中的电气特性(Electrical characteristics)-> 操作条件(Operating conditions)-> 一般操作条件(Operating conditions)。

在这里插入图片描述

  注意!!!: 此数据手册中存在一处笔误,VDDA=2.4~3.6V时,应该是 (ADC limited to 2.4 M samples) 而非 1.4M。

  由表14可知,ADC的最大转换速率与VDDA有关,当VDDA低于2.4V时,转换速率最大只有1.2Msps(million samples per second);而当VDDA高于2.4V时,可达2.4Msps,即每秒一百二十万次转换。

  无论是1.2Msps还是2.4Msps,都是相对于12位分辨率来说的,即表14中给出的是最高分辨率(12bit)下的最大转换速率。STM32F4系列MCU支持12位10位8位6位可编程分辨率,更低的分辨率可以缩短转换周期。因此采用降低分辨率的方法还可以进一步获得更大的转换速率。

四、ADC特性

  参考数据手册中的电气特性(Electrical characteristics)-> 操作条件(Operating conditions)-> 12位ADC特性(12-bit ADC characteristics)。

在这里插入图片描述

  由表67可知,ADC的最大时钟频率在VDDA低于2.4V时为18MHz,VDDA高于2.4V时为36MHz。

  对于12位分辨率来说,转换周期为12个ADC周期,采样时间可编程的最小值为3个ADC周期,即12位分辨率的最少转换周期数为15个ADC周期。

  因此,当VDDA低于2.4V时12位分辨率的最大转换速率为 18/15 Msps,即上面提到的1.2Msps。当VDDA高于2.4V时12位分辨率的最大转换速率为 36/15 Msps,即上面提到的2.4 Msps。

五、总结

   影响ADC转换速率的因素:

  • 模拟供电电压VDDA——通过影响最大ADC时钟频率而间接限制最大转换速率。
  • ADC时钟频率(ADCCLK)
  • 采样保持时间
  • ADC分辨率

   ADC一次转换所需周期数计算公式:

   总转换周期数 = 采样周期数 + X个周期数

  • 其中 X 为分辨率

猜你喜欢

转载自blog.csdn.net/weixin_44567318/article/details/114449108