请教计数测频中关于测周法测频的时标如何确定?

[复制链接]
5294|5
 楼主| icskysaige 发表于 2008-7-4 15:25 | 显示全部楼层 |阅读模式
所用晶振为11.0592MHz
测周法测频,Fx=Fo/No  
Fx 被测信号脉冲频率
Fo 时标频率
No 单片机定时器溢出产生的脉冲个数做为时标计数
因为No越大,量化误差就越小,考虑用100us做为时标周期,那么Fo为10000Hz,
输入标准频率100Hz ,那么Fx=10000/100=100Hz
然后定时初值理论上为(65535-100),但实际上要考虑到,中断后,指令执行的时间,
所以我用的方法是输入标准频率100Hz,然后不断地调定时初值,使之能够达到No=100
用测周法测频,精度要达到0.01Hz,但如果用以上思路,测1-100Hz的时候,误差一直在变,
也就是有问题.
请教下如何确定时标,才能满足到0.01Hz的要求,有什么方法可以实现?
computer00 发表于 2008-7-4 16:05 | 显示全部楼层

怎么看你搞得这么复杂呢……直接测量周期长度就行了

最高频率为100Hz,周期为10000us。
频率偏差0.01Hz时,即100.01Hz时,周期为9999us。
也就是说,你测量周期的误差不得超过1us。
如果你使用51,并且是11.0592M的晶体,那么一个机器周期越为1us。
由于采样信号边沿中断时存在着一个机器周期的随机误差,再加上中断
发生时刻所运行的指令的随机性,也可能带来几个机器周期的随机误差。
固定偏差可以通过修正来消除,但是随机误差无法消除,通过多次测量
取平均值,可以接近实际值。
lucidmask 发表于 2008-7-4 17:12 | 显示全部楼层

re

现在这么多单片机,价格也不贵,选个有捕捉功能的片子吧
 楼主| icskysaige 发表于 2008-7-4 17:37 | 显示全部楼层

电脑乳房兄,辛苦啦,哈

我在测定时初值取合适的值,根据输入标准频率,多次赋定时初值测量误差,取Fx的误差比较小的定时初值,不过0-50Hz的,就精确到1Hz,还得想个办法精确到0.01Hz
 楼主| icskysaige 发表于 2008-7-4 17:40 | 显示全部楼层

回3楼

硬件都搭好了,就只能基于这样的情况满足要求了.
guozhengang 发表于 2010-1-19 14:33 | 显示全部楼层
时标是什么意思?新手勿怪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部