发新帖我要提问
12
返回列表
打印

【求助各路朋友】430测量频率,100多KHz,精确到Hz

[复制链接]
楼主: jizzll
手机看帖
扫描二维码
随时随地手机跟帖
21
mohanwei| | 2009-3-18 21:31 | 只看该作者 回帖奖励 |倒序浏览

大家可以拿手头的4位半万用表说明书看一下(估计很少人会

4位半是0-19999,分辨率是1/20000(可以换算成0.005%吧)。但是看看说明书里的AC档准确度,DC档准确度……你就会知道精度和分辨率没有任何关系了。

使用特权

评论回复
22
wujing198| | 2009-3-18 22:00 | 只看该作者

mohanwei说的对

分辨率和精度确实每啥关系。
我这在举个AD的例子嘛,8位AD,分辨率就是256个刻度。但是如果前面的放大电路就设计的不行,输入进来的信号都是偏的,就算换成16位的AD测出来的还是偏的。

使用特权

评论回复
23
jizzll|  楼主 | 2009-3-18 22:22 | 只看该作者

这里的输入频率在外界稳定的情况下可以认为是不变的

这里的输入频率在外界稳定的情况下可以认为是不变的。

差不多可以当成一个常数,O(∩_∩)O~。估计主要的误差是单片机的晶振这里

使用特权

评论回复
24
dxpol432| | 2009-3-18 22:26 | 只看该作者

自己骗自己

只要测试时间小于1S ,都不是真值。

使用特权

评论回复
25
emailli| | 2009-3-19 08:53 | 只看该作者

LZ需要提高晶振频率

另外,你的单片机需要支持 硬件捕获

我曾经做过频率计,有分析过使用430和LPC2xxx系列的测试精度

在我的博客上有分析

你可以去看一下。

基本上测试135K还是可以的

100mS是否可行,我记不太清楚了。

不过没有关系,我的文档已经分析的很透彻了。

使用特权

评论回复
26
quakegod| | 2009-3-19 19:18 | 只看该作者

25楼在这里瞎忽悠

你说,测试时间小于一秒不可能做到1Hz分辨率吗?

那假如说,偶测50Hz市电的频率,精确到0.001Hz,是不是说要半个来小时才能测出来啊?
当然不是,
实际上,只要1/50秒即可测得,至少理论上是可行的。
但是,如果能多测几个波形的话,对于测量的要求就大大降低了。

举例,能不能量一张纸的厚度呢,精确到0.1uM,
当然能了,只要你有那么高精度的尺子。
但是如果有10000张纸摞起来,那只要精度是1mm的普通尺子就能实现了。

所以,理论上讲,测135KHz频率,其实只测一个波形,也能精确到1Hz,
但是对测量设备的要求太高了,计时频率要到18GHz才能达到。
所以偶们可以多测量几个波形,这样难度就下降了,
不管是100mS还是200mS,还是50mS,还是1S,这个都没有关系,无非是给的时间越长,难度就越小。

另外,如果你想说,这个135K的信号频率不是稳定的,有些变化,测量1S的话是真实的频率,测量100mS不是真实的频率,其实这么说也不对。

假如频率是变化的,那么测量1S也只是测到了平均值,而测量100mS也是测量到了平均值,平均值必然介于最大值和最小值之间。1S的平均值与100mS的平均值是等效的。

使用特权

评论回复
27
ayb_ice| | 2009-3-19 20:55 | 只看该作者

精度<分辨率

使用特权

评论回复
28
jizzll|  楼主 | 2009-3-20 20:13 | 只看该作者

谢谢26楼,27楼的朋友

也谢谢其他的朋友,正在进行中

使用特权

评论回复
29
李冬发| | 2009-3-20 21:44 | 只看该作者

430在8M的时候,测200k还是容易的么。

5us/0.125us=40,这个分辨率能满足你的要求了。

使用特权

评论回复
30
mxh0506| | 2009-3-20 23:02 | 只看该作者

看看我做的一个试验用简易频率计

测的是某振荡器的温度特性,还可以吧?

使用特权

评论回复
31
jizzll|  楼主 | 2009-3-21 10:30 | 只看该作者

31楼的朋友能说说么

很感兴趣。你测的频率是7M多?居然还能测到1Hz,很想知道你的硬件和测试的条件

使用特权

评论回复
32
jimoom| | 2009-3-21 11:08 | 只看该作者

直接用FPGA做

使用特权

评论回复
33
xwj| | 2009-3-21 12:09 | 只看该作者

呵呵,31楼显示的数字有问题

比如小数位就是假显示

使用特权

评论回复
34
jizzll|  楼主 | 2009-3-21 12:32 | 只看该作者

谢谢大家

30楼的朋友,没有看明白你的意思

33楼的朋友,用FPGA功耗太大了吧

使用特权

评论回复
35
李冬发| | 2009-3-21 13:59 | 只看该作者

200k的周期是5us,8M的周期是0.125us

以0.125us为单位测20k个脉冲的时长,正负一个脉冲将有40个单位的变化,这个值应该满足你的要求的!

使用特权

评论回复
36
jimoom| | 2009-3-21 17:01 | 只看该作者

!

在前端加个加法器,假设计数20000次,需要100ms左右的时间,然后单片机对这20000次的计数进行计时,  这样测量下来 20000次计数 才误差 0.125us  即使*10也只有 1.25us,,,对于5us的脉冲完全满足要求!

使用特权

评论回复
37
wangkj| | 2009-3-21 17:03 | 只看该作者

关键是晶振的准确度,用cpld很容易实现,是100%实时的。

使用特权

评论回复
38
jimoom| | 2009-3-21 17:09 | 只看该作者

也是,用晶振计时太不现实了,每个还都有差别了。

使用特权

评论回复
39
李冬发| | 2009-3-22 14:52 | 只看该作者

老王啊,这才5位呢,还是100ms,与你提到的相差2个数量级呢

还有这类的测频是用CAP功能,与CPLD是一回事。这个时候不能去计较时钟的相位漂移吧,< 10ppm的晶振还是有的啊。

使用特权

评论回复
40
jizzll|  楼主 | 2009-4-16 10:11 | 只看该作者

感谢大家

这个已经OK了,在我需要的范围内,在100K时分辨率最0.2HZ,135K时是0.7HZ,基本满足要求。

感谢大家。

我采用的是MSP430单片机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则