jlian168 发表于 2014-6-16 10:37:53

关于(第2版)书中第11.1.3 测周法测量频率的问题?

马老师 你好:

1.在第338页的中间有一段说明:

计算250个限定脉冲之间的时间间隔是在主程序完成的。计算公式为:250个脉冲之
间的时间间隔(计算时基个数)=T/C2中断次数X250+T/C2当前值;1计时时基个数=
2us(注:T/C2计时时基=4MHz/8)。换算成频率值:1000000/(250个脉冲之间的时间
间隔X2us/250)X100=12500000000/250个脉冲之间的时间间隔,单位为Hz。式中:乘以
100是为了保留2位小数。程序中全部使用了整数运算,它比浮点数运算的速度要快得多,
同时也保证了在T/C0的2次中断的间隔中,能全部完成频率换算、LED扫描等处理任
务,不会造成对频率连续测量的影响。

请问:12500000000/250个脉冲之间的时间间隔,这个怎么来的看不懂?

2.我有一流量计需要测流速(Max=1KHz),不知要测频法或测周法?

谢谢。

machao 发表于 2014-6-21 23:34:04

1/ 时基是2us,单位是us,换成单位秒,需要乘1000000。
    如果是1个测量脉冲中时基计数1个,那么频率为1000000/2 = 500000HZ
    如果是1个测量脉冲中时基计数2个,那么频率为1000000/2*2 = 250000HZ
    如果是250个测量脉冲中时基计数N个,那么频率为1000000/((N*2)/250)= 250000000/(N*2) = 125000000/N
    为了保留2位小数点,再乘上100,变成12500000000/n 。这里N是250个测量脉冲之间时基的计数值
    这样的计算全部采用整数计算,而且只作一次整数除法,大大加快了计算时间,提高效率。结果显示时,把小数点向前移2位显示即可,比使用浮点运算快几十倍。

2/ 建议使用测周法。保证流量小时的精度。其实你还是要把实际的情况摸清楚,比如最小流量的频率,整个测量频率误差的允许范围,以及测量的频度要求:比如是1秒一次,还是1秒要测5次。要根据这些实际的情况设计具体的测量的方法。比如1秒1次,测量的精度可以高些,频率能测量最低接近1HZ,而1秒测5次的话,测量精度就会低,而且最低测量频率要大于5HZ.

只有在真正掌握频率测量的原理和方法的基础上,才能设计出符合实际应用的代码。光会个C语言编程远远不够。

machao 发表于 2014-6-21 23:39:45

有兴趣可以参考本栏中的酷贴,“高手练手题--频率计设计”http://www.amobbs.com/thread-5537649-1-1.html
页: [1]
查看完整版本: 关于(第2版)书中第11.1.3 测周法测量频率的问题?