OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8609|回复: 2

分享一个自制的STM32F767等精度频率计,最高可测46M方波!

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2017-5-29
在线时间
7 小时
发表于 2017-7-24 20:41:12 | 显示全部楼层 |阅读模式
最近研究STM32CUBE,并想实现测频功能,便采用等精度测频法制作了一个频率计。

原理图如下:

cc9ec0ea21556f793575eaea41c04c31.jpg
20140906111708221.jpg

测量开始,首选单片机发出一个清零信号CLR,使2个32 b的计数器和D触发器置0,然后单片机再发出允许测频命令,即使预置门控信号GATE为高电平,这时D触发器要一直等到被测信号的上升沿通过时,Q端才被置1,即使BZ_ENA和DC_ENA同时为1,将启动计算器BZ_Counter和DC_Counter,系统进入计算允许周期。这时,计数器BZ_Counter和DC_Counter分别对被测信号和标准频率信号同时计数。当Tc秒过后,预置门控信号被单片机置为低电平,但此时2个32 b的计数器仍然没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这2个计算器同时关闭。由图2所示的测频时序图可见,GATE的宽度和发生的时间都不会影响计数使能信号允许计数的周期总是恰好等于待测信号XCLK的完整周期,这正是确保XCLK在任何频率条件下都能保持恒定测量精度的关键。因为,此时GATE的宽度Tc改变以及随机的出现时间造成的误差最多只有基准时钟BCLK信号的一个时钟周期,由于BCLK的信号是由高稳定度的100 MHz晶体振荡器发出的,所以任何时刻的绝对测量误差只有1/108 s,这也是系统产生主要的误差。


设在某一次预置门控时间Tc中对被测信号计数值为Nx,对标准频率信号的计数值为Nb,则根据闸门时间相等,可得出公式(1):


程序如下:

Equal precision frequency.zip (13.64 MB, 下载次数: 1281)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-1-16
在线时间
21 小时
发表于 2019-2-21 21:11:29 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
131
金钱
131
注册时间
2018-11-27
在线时间
90 小时
发表于 2019-4-1 12:39:44 | 显示全部楼层
顶。。。。。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 04:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表