15000|31

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

如何用stm32实现高精度测频? [复制链接]

                                 最近用STM32的PWM输入功能做了下测频实验,发现150Hz以下很难测到,而25000Hz以上误差又很大,各位大侠,有没有其它的好的方法,测频精度要求达到0.004%?
此帖出自stm32/stm8论坛

最新回复

                                 不好意思,版主,公司里对所有的图文文件进行了加密处理,一旦打开过就无法进行拷贝复制了;不然肯定贴出来  详情 回复 发表于 2010-11-1 16:04
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 用51单片机能实现,我想STM32肯定也行,期待中。。。。
此帖出自stm32/stm8论坛
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
25000Hz的测频精度要达到0.004%,则要求参考频率625MHz。
要用高速CPLD来弄。
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

4
 
PWM输入功能做了下测频实验?

PWM是否是你的测试时钟源啊?

测频用TIM的输入捕获功能
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 当然,可用测量多个周期的方法提升精度。
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
PWM输入功能做了下测频实验?

PWM是否是你的测试时钟源啊?

测频用TIM的输入捕获功能
STM32 定时器PWM输入功能,输入捕获功能的特列,好象是能测周期和占空比;
使用内部时钟源来测量外部信号的周期和占空比;
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 希望能有一个好的解决方案,期待中。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

99

帖子

0

TA的资源

一粒金砂(中级)

8
 
1)请说明你要求的频率范围,不要说是1Hz~1MHz,
因为0.004%对不同的频率意味着不同的数值。

2)楼主位说:“150Hz以下很难测到,而25000Hz以上误差又很大”,请说明你采用的测试方法,尤其是选择的配置参数。
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

9
 
最近用STM32的PWM输入功能做了下测频实验,发现150Hz以下很难测到,而25000Hz以上误差又很大,各位大侠,有没有其它的好的方法,测频精度要求达到0.004%? ...
测频精度要求达到0.004%? ...

这个指标定得很高,0.004%就是 万分之0.4,一般的晶振 误差约万分之1
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

10
 
150HZ以下测不到是程序问题。
25000HZ以上,需要看你要求的测频速度。
是一个周期需要测出来,还是一个固定的时间段需要测出来。
一个周期就准确测出,对硬件的要求就高了。
如果是时间段就相对容易了,时间段越长越容易,越容易测准,当然反应速度就慢了。
晶振误差问题不大,选一种高稳定度的,初始误差通过标准信号校准扣除。可以考虑加温度修正。
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 这个精度有点高了
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

12
 
to 版主:量程范围为1Hz~50KHz, 精度为±0.004%FULL, 即±2HZ; 用TIM的PWM输入方式,再根据不同的频率来变换TIM的输入时钟频率;
to:IJK: 测频精度0.004%FULL 不算高,我用51单片机再加外围分频电路能实现此精度; 测频只跟晶振的稳定性有关系,误差可修正;
to dl_shuang: 要求单个周期测出,但可以考虑滤波算法;
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

13
 
                                 150HZ绝对可以,我用过。但是25000HZ就不行。因为STM32内部总线频率是72,如果用TIM1定时器做,也就是定时器的频率是72M,测量的时候最小误差也是1/72m,也就是晶振多振一次少一次而已,25000/72m =0.034%了。这个精度完全达布道要求,跟何况你的外部电路处理也是有偏差的。
此帖出自stm32/stm8论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

14
 
to 版主:量程范围为1Hz~50KHz, 精度为±0.004%FULL, 即±2HZ; 用TIM的PWM输入方式,再根据不同的频率来变换TIM的输入时钟频率;
to:IJK: 测频精度0.004%FULL 不算高,我用51单片机再加外围分频电路能实现此精度; 测 ...
engineer007 发表于 2010-10-27 09:05
此帖出自stm32/stm8论坛
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

15
 
STM32定时器的PWM输入方式测量频率和占空比,是通过计算输入信号上升和下降沿之间的时间实现的,STM32定时器的最高输入频率是72MHz,即它的精度是1/72MHz。

下面以50kHz为例分析一下:如果以72MHz的频率对50kHz的输入信号计数,计数器计满1440个周期刚好是50kHz,假如出现误差或输入信号不是50kHz,倒推计数器数值1441或1439,得到49965.3Hz或50034.7Hz,这里可以看到误差在(34~35Hz)/2之间,达不到你要求的+/-2Hz或+/-0.004%的要求。

结论:如果你认同我上面的分析,则STM32满足不了你的要求。

不知道你用51单片机再加外围分频电路是如何实现±0.004%精度的,请与大家分享一下;也许你计算错了。
此帖出自stm32/stm8论坛
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

16
 
按照我在16楼的计算方法,简单地推算了一下,计数器的频率需要达到1.25GHz,才能达到你要求的±0.004%精度,即50kHz/0.004%=1.25GHz。

因此,我非常地想知道,你是怎么在51单片机上实现这个精度的?
此帖出自stm32/stm8论坛
 
 
 

回复

56

帖子

0

TA的资源

一粒金砂(初级)

17
 
                                 我也特别想知道
此帖出自stm32/stm8论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

18
 
用51定时器门控方式,外部加分频电路,统一将频率降至1~50Hz之间;即可;
版主,STM32定时器功能这么强大,时钟和信号输入都有分频电路,而且定时器之间也能级联,我用STM32的目的是想省去复杂的外围分频电路;我想STM32肯定能行,只有还没有找到组合方式;大家有好的思路请提出来,通过这样的讨论,能加深对定时器的应用,实±0.004%精度
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

19
 
用51定时器门控方式,外部加分频电路,统一将频率降至1~50Hz之间;即可;
版主,STM32定时器功能这么强大,时钟和信号输入都有分频电路,而且定时器之间也能级联,我用STM32的目的是想省去复杂的外围分频电路;我想S ...
请问50kHz的信号,你使用什么分频系数,将频率降至1~50Hz之间?

再请问49.998kHz的信号,你使用什么分频系数,将频率降至1~50Hz之间?

你的要求是0.004%,也就是说可以区分开50.000kHz和49.998kHz的信号,不知道你使用51定时器门控方式,再外部加分频电路是怎么做到的?
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

20
 
                                 版主的最后一个问题似乎难道很大,很想知道楼主是如何做到的
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表