STM32的ADC采样频率及相应时间的确定

STM32的ADC采样频率及相应时间的确定,第1张

  STM32 ADC 介绍

  STM32 ADC 是一个12 位精度、 一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。

  ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。当然如果可以达到我们的精度,输入时钟高点也没事。

  在网上看到一回答ADC不超过14MHz 的答案:资料上的都是推荐,事实上很多芯片的设计都是有超额余量的,很多人都会超额的利用这些资源,并且很好的工作。

  若所看的程序频率是超过14M,也没有错,可能作者的目的在于快速而宁愿损失一些精度,ADC的分辨率是12位,若是超过这个频率也是工作的,只不过采样到的精度可能仅到10位,若这个已到 作者的要求,也无错误之说了。

  2、看参考手册,确定ADC 的时钟以及通道采样时间:

  1)ADC 时钟 ADC 接在APB2 上,APB2的时钟为72MHz,通过分频的方式给ADC 提供时钟,预分频主要有2、4、6、8 四种分频方式。

  2)通道采样时间 通道采样时间会影响采样的精度。

  3、转换时间

  公式: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

  1)一般情况,如果是软件启动,那么转换时间即是采样周期。

  2)若通过定时器进行触发启动ADC,则还需要加上定时器的相关时间。

  4、确定采样率

  1)如果我们的输入信号是 20KHz (周期为 50us),若要将它恢复出来,一个周期最少采样20个点,此时采样率要达到400KHz,所以ADC的采样率必须在400KHz 以上。为

  了达到最好的精度,我们选取ADC时钟为12MHz,即6分频。在12MHz 以及保证采样率的情况下,采样时间越长其,准确性就越好。

  可以计算 2.5us = (12.5 + 采样时间)/ 12MHz ,可以求得采样时间为17.5;所以采样时间的选择必须小于等于17.5个周期,才能保证采样率在400KHz 以上。所以我们可以选

  择1.5、7.5、13.5,为获得更高的精准度,我们可以选择13.5个周期。

  切记采样点数必须达到要求。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/dianzi/2717681.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-08-17
下一篇2022-08-17

发表评论

登录后才能评论

评论列表(0条)

    保存