• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32 采样频率是怎样确认的

FEItwo 2019-04-02 浏览量:1307
看了很多帖子讲了很多STM32 ADC 采样周期  频率设置还是搞不懂?什么12.5个周期,程序中配置的239.5采样周期,还有定时器触发采用这个时间,还有转换时间,读取时间什么的 这些之间是什么关系呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:4
  • 计算公式:TCONV = 采样时间+ 12.5 个周期例如:ADCCLK=14MHz和1.5周期的采样时间TCONV = 1.5 + 12.5 = 14周期=1μs例如:当ADCCLK=14MHz 和1.5 周期的采样时间 TCONV = 1.5 + 12.5 = 14 周期 = 1μs如果我们的输入信号是 20KHz (周期为 50us),若要将它恢复出来,一个周期最少采样20个点,此时采样率要达到400KHz,所以ADC的采样率必须在400KHz 以上。为了达到最好的精度,我们选取ADC时钟为12MHz,即6分频。在12MHz 以及保证采样率的情况下,采样时间越长其,准确性就越好。可以计算 2.5us = (12.5 + 采样时间)/ 12MHz ,可以求得采样时间为17.5;所以采样时间的选择必须小于等于17.5个周期,才能保证采样率在400KHz 以上。为获得更高的精准度,我们可以选择13.5个周期

  • ADC控制器的频率由它的ADCCLK决定的,这个时钟频率最大为14MHz,由STM32的系统时钟分频而来

    然后ADC的采样时间由SMPx[2:0]寄存器决定,这个值可以配置采样周期为1.5-239.5个ADC时钟周期,转换周期等于这个周期加上12.5个ADC时钟周期

    因此STM32的转换时间最少是14个ADC时钟周期,最多是252个ADC时钟周期,然后结合时钟频率,可以得到采样时间

  • ADC的频率由ADCCLK决定。转换时间等于采样周期加12.5个等待周期,这个采样周期就是从1.5-239.5之间设置,是不等的。

    所以转换时间就能算出一个范围,14个周期到252个周期之间都有可能。这个周期就是ADC的时钟周期,就是ADCCLK决定的,即频率决定的。

  • 12.5个周期是固定的;转换时间是采样周期加12.5周期。这个周期的长短就是ADC的CLK决定的。

    采样周期从1.5到239.5周期都有可能,所以转换时间就是14到252周期不等。


相关问题

问题达人换一批

STM32 采样频率是怎样确认的