你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

定时触发ADC 采样频率等问题总结

[复制链接]
ikxlf 发布时间:2019-8-1 13:29
        定时器触发就是两次采集之间的时间间隔,比如定时器触发的时间我设置为2s,即间隔2s的时间采集一次。那么采集一次需要的时间是多少呢,这个是可以设置的,也被叫做转换时间,一般都是us级别。这个就是通过这个函数可以进行配置的    ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);,ADC_SampleTime_55Cycles5就是下文说到的采样时间设置,转换时间(单次采样花费的时间)计算如下: ]! P, ~  g; a. T7 s- V% u3 q
         公式:TCONV = 采样时间+ 12.5 个周期
, a! y7 W3 Y" g% s  A& [) i+ V         例如:当ADCCLK=14MHz 和1.5 周期的采样时间,TCONV = 1.5 + 12.5 = 14 周期 = 1μs,所以定时器的触发的间隔时间应该大于ADC的最小转换时间1us的,不然数据没有及时被取走的话,数据就会被覆盖
+ U6 c7 P) G1 u& E* B9 `( l7 g
* c9 `$ l* U$ A         如果我们的输入信号是 20KHz  (周期为 50us),若要将它恢复出来,一个周期最少采样20个点,所以两个点之间的间隔时间为50us/20 = 2.5us,此时采样率要达到1/2.5us*1000 000=400KHz(1s = 1000 000us),所以ADC的采样率必须在400KHz 以上。为了达到最好的精度,如果系统时钟为72MHZ,我们选取ADC时钟为12MHz,即6分频。在12MHz 以及保证采样率的情况下,采样时间越长,准确性就越好7 T9 \. j: O) u+ y3 h( k# _" X. C& C
       可以计算 2.5us = (12.5 + 采样时间)/ 12MHz (定时触发的间隔时间为2.5us,ADC最大的转换时间为2.5us,所以我们设置 采样时间时候不能使得(12.5+采样时间)/12MHZ>2.5us,最多相等),根据等式可以求得采样时间为17.5;所以采样时间的选择必须小于等于17.5个周期,才能保证采样率在400KHz 以上。所以我们可以选择1.5、7.5、13.5,为获得更高的精准度,我们可以选择13.5个周期。
1 o$ a/ {9 ]3 x; c4 ? QQ拼音截图20190801134723.png          如上图所示T就是定时器配置的定时时间,也就是上文说的2.5us那个时间,t1,t2,t3就是单次采样转换时间,这个时间越长转换越精确,但是这个时间不可以比T大,否则单个采样还在转换中,结果又来了新的转换,可能什么数据都没有或者是得到了不正确的采样数据,有图可知t1最大可以等于T,这个时候实际上精度是最高最好的。6 O, S, y! z/ e

3 M" e+ T9 {* ~: p' g' f+ f      以上我是从很多人的理解中提炼出来的,我感觉是彻底说明白了定时器触发ADC采样中涉及到的一些问题,希望不懂的人可以理解,高手别笑话。
& t7 d4 L% t' o  m. c7 U6 [; ?* l  y, _  c( @
收藏 评论3 发布时间:2019-8-1 13:29

举报

3个回答
AI++ 回答时间:2019-9-23 08:33:58
“采样时间越长,准确性就越好。”这么讲不够准确,采样时间长短和ADC采样的原理有关,采样时间长,可以简单理解为取了采样时间段的一个平均值, 但是会忽略所采样数据的变化情况,如果所采样的是高频信号,采样时间长会丢掉一些信号变化信息,所以依据需求尽可能快一些,然后自己做处理比较好
generalcircuits 回答时间:2019-9-23 13:24:17
不是采样点越多越准确吗?

点评

是的  发表于 2019-9-24 16:51

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版