|
||||||||||||||||||||||||
为用户提供的各类应用方案,整理归纳后罗列出来,希望有抛砖引玉的作用。 |
||||||||||||||||||||||||
|
||||||||||||||||||||||||
频率运算法的改进及其误差分析 返回主页 作者:范家保 术语:测频法、测周法、同步计数计时法、连续采样、定数采样、定时采样 l 概述 频率运算法在速度、流量、以及旋转加速度等物理量的测量上被广泛采用。频率运算方法,有定时计数法(测频法)、定数计时法(测周法)和同步计数计时法。本文结合实际,对这几种方法加以探讨,并且对主要误差源加以分析,进而描述改进方法和缩小误差的过程。 同步计数计时法结合了前两种方法的优点,在测量准确度上有了新的提高,并且又分出定时采集法和定脉冲采集法,虽然都运用同步计数计时法,但是又分别与早期的测频法和测周法相似,往往又被归类为测频法(新)和测周法(新);至于归类的合理性问题,在此不做探讨,但是将其本源的东西,在本文加以介绍,以便进一步探讨误差的来源和测量方法的改进,以及在运用中如何选择更加切合实际的测量方法。 l 频率运算的基本方法 定时计数法(测频法)在测量上有±1的误差,低速时误差较大;定数计时法(测周法)也有±1个时间单位的误差,在高速时,误差也很大。 同步计数计时法综合了上述两种方法的优点,在整个测量范围都达到了很高的精度,误差率在万分之五以上的频率测量仪表(转速表、流量表、频率计)基本都是这种方法。 下面以XJP-10B为例,介绍以前常被采用的定时计数法(测频法)、定数计时法(测周法)和同步计数计时法;以便了解方法演变的过程。 早期的XJP-10B转速数字显示仪,采用CMOS数字集成电路 。其原理可用如下三个框图表示:
框图一 测频原理 框图一告诉我们,被测信号通过放大整形进入加法计数器;晶体振荡器的频率信号通过分频产生秒(或分钟)信号,在计数显示控制器中生成寄存脉冲和清零脉冲。寄存脉冲将加法计数器的BCD码送入寄存器,通过译码驱动,LED数码管显示一秒(或分钟)内的计数值,直到下一次寄存脉冲的到来;紧接着清零,进行下一轮计数、寄存(译码显示);如此,不间断测频。如果我们考察一下这些信号的时序,不难发觉这种定时计数测量方法的缺陷是:被计数脉冲有 ±1的误差。如果被测频率为10000Hz,多一或少一的误差,相对来讲只不过万分之一;如果被测频率为2Hz, ±1的误差,相对来讲就达到了百分之五十,不难看出频率越低,误差越大,而且还有一点,把一秒变成一分钟,误差就变小了。低频时,如不延长采样时间,要提高精度就要采用测周的方法,框图二正是说明这种方法。
框图二 测周原理 将框图二与框图一进行比较,我们不难发觉:上述二者的差别在于晶体振荡器与被测信号的位置作了互换,象是代数上的分子分母的颠倒,也正是物理上的频率和周期互为倒数,我们不难体会到,学科之间的内在联系无处不在。 测周的误差:与测频相似,是±1一个晶体振荡器脉冲,也就是±1个时基脉冲,晶体振荡器脉冲频率准确度越高误差越小,晶体振荡器脉冲频率越高误差也越小,被测频率越高误差越大;因此测量高频时,对被测信号进行分频,确实是提高测周精度的好方法。在周期过长时,还可通过计数器,借助计时器来测量转速。下面的框图表示了计数器的工作原理。
框图三 计数器原理 现在我们可以看出,XJP-10B转速数字显示仪,在CMOS数字集成电路的条件下,已经是一款十分完备的转速测量工具。 早期的XJP-10B转速数字显示仪,在今天看来有哪些不足呢?周期和频率都不能等同转速,频率与转速存在倍数关系,通过时基频率的分频(采样时间的倍乘),基本满足了大都数用户的需要,测周则需要用户自己换算成转速。在今天的电子技术条件下,解决这些问题用单片机或FPGA都比较方便。那么今天的设计者怎样设计新的智能频率计(测速仪)呢?下面以SQY01T智能测速仪计为例,介绍同步计数计时法。 l 同步计数计时法 同步计数计时法,是随着单片机的普及而得到普及运用。同步计数计时法是怎样综合前两种方法的优点的呢?我们还是用时序来分析。 定时计数时序
时序图一:计时和计数脉冲不同步;时序图二:计时和计数脉冲同步。但不管计时和计数脉冲同步与否,都有±1的误差。同理,定数计时也有±1的误差。
同步计数计时时序图 当定时器与被测脉冲同步计数时,为避免被测脉冲计数±1的误差,将定时作延时调整,等待被测脉冲计数完整;与此同时,取时间基准脉冲计数值。这样脉冲计数N为零误差,时间基准脉冲计数T有±1的误差。当时间基准脉冲源(晶振)误差小于十万分之一时,误差源主要是时间基准脉冲计数±1误差引起。 频率F=N/T,假定定时为1秒,时间基准脉冲周期为100μS,T=10000+ΔT F=N/(10000+ΔT), 误差Δf/f=[N/(10000+ΔT)-N/(10000+ΔT±1)]/[N/(10000+ΔT)] =1-(10000+ΔT±1)/(10000+ΔT) =±1/(10000+ΔT) 可见误差小于万分之一,随着晶振频率的提高误差减小。进一步分析误差源还要考量晶振频率的稳定度和误差,以及单片机中断响应滞后引起的误差。 下面介绍的改进方法,应用在以32位ARM微处理器做为核心芯片的SQY11-03智能频率计上。 l 连续采样的两种方法及其误差分析:
1. 连续定时采样法: Tc:采样时间 首次中断:捕捉脉冲上升沿触发时间t0,记录脉冲计数值P0同时启动采样定时器Tctimer,等采样时间Tc到,给出采样时间到的标志;采样时间到后发生的脉冲上升沿触发中断,也就是末次中断。 末次中断出现,捕捉脉冲上升沿触发时间t1,记录脉冲计数值P1;清时间到的标志(为下次采集做准备),将这次的脉冲上升沿触发时间t和脉冲计数值P储存,并且清采样定时器Tctimer(为下次采集做准备),允许运算;(主程序做运算,保存运算结果。)一次采集结束。 下次等采样时间到,给出时间到的标志; 末次中断来,捕捉t1,记录P1;(上次P1、t1作为这次的P0、t0) 清时间到的标志,将这次的t和P储存,并且清采样定时器Tctimer,允许运算;(主程序做运算,保存运算结果。)又一次采集结束。如此循环往复,连续不断地定时采集脉冲,测量频率和速度。 F=Pclk *N/(t1-t0),F表示被测频率;CPU时钟频率为66.3552MHz,定时器时钟频率Pclk为33.17762MHz;时钟周期为1/Pclk = 30.140799731867445585307204073107 nS, 因为捕捉计时有±1的误差,假定Pclk误差限远小于1.00 e-8时,Pclk误差忽略不计 频率误差:ΔF = Pclk *N /(t1-t0) - Pclk *N /(t1-t0±1) Pclk *N /(t1-t0) * (1/(t1-t0±1)) 误差率ΔF/F = ±(1/(t1-t0±1)) 当采样时间≥10mS时, t1-t0 ≥ 0.01*Pclk =331776.2 ΔF/F ≤±1/331776.2 = 3.01408 e-6 当采样时间≥1S时, t1-t0 ≥ 1*Pclk =33177620 ΔF/F ≤±1/33177620 = 3.01408 e-8
2. 连续定脉冲采样法:
P:脉冲采样数 首次捕捉中断:捕捉脉冲上升沿触发时间t0,P计数器置0;捕捉中断,P计数器加1; 末次中断:等脉冲数等于P,储存t0、捕捉t1,储存t1;P计数器置0,t1做t0;置允许运算标志;做运算,保存运算结果。一次采集结束。 再次捕捉中断,P计数器加1; 再末次中断:等脉冲数等于P,储存t0、捕捉t1,储存t1;P计数器置0,t1做t0;置允许运算标志;做运算,保存运算结果。又一次采集结束。如此循环往复,连续不断地定脉冲数采集,测量频率或速度。 F=Pclk *P/(t1-t0),F表示被测频率;CPU时钟频率为66.3552MHz,定时器时钟频率Pclk为33.17762MHz;时钟周期为1/Pclk = 30.140799731867445585307204073107 nS, 因为捕捉计时有±1的误差,假定Pclk误差限远小于1×10 -8时,Pclk误差忽略不计 频率误差:ΔF = Pclk *P /(t1-t0) - Pclk *P /(t1-t0±1) Pclk *P /(t1-t0) * (1/(t1-t0±1)) 误差率ΔF/F = ±(1/(t1-t0±1)) = ±1/Pclk*F/P 定脉冲采样法的误差率与被测频率和脉冲采集数的比例成正比,也与计时器的时钟频率成反比。 ΔF/F = ±1/Pclk*F/P = ±3.01408e-8 *F/P 假定被测频率为1.00MHz,脉冲采集数P为10000,则: ΔF/F = ±3.01408e-8 *F/P = ±3.01408e-8 *1000000/10000 = ±3.01408e-6 l 连续采样(定时采样法和定脉冲采样法)的实施方法 连续采样(定时采样法和定脉冲采样法)的实施方法 以SQY11-03智能频率计为例加以说明: SQY11-03智能频率计的硬件结构:
SQY11-03智能频率计,只需要较少的外围结构,便构成了高性能的频率计;因为LPC2103丰富的内部资源可以通过软件配置来实现用户的目的。 连续采集通过1/N分频器分频输出的信号,由于计数器和计时器完全同步(计时器采用高速捕捉,计时误差小于30nS,可以理解为同步),如果以10mS为采集周期,采集运算误差小于±5.00 e-5,,如果以100mS为采集周期,采集运算误差小于±5.00 e-7,当误差要求低于±1.00 e-6时,一般来讲误差来自晶体振荡器;选择稳定误差小的晶振(如温补晶振、压控晶振、恒温晶振等),成了提高精度的主要手段。 SQY11-05智能测速仪基本误差:±5.0e-5, SQY11-03智能频率计基本误差:±5.0 e-5。 面板显示:
第一行显示频率或转速(r/min,SQY11-05); 第二行显示周期; 第三行显示计数。 可以根据测量精确度的要求,调整保留的小数点位; 采样时间可以根据测量的动态实时性需要,在10mS ~ 100S之间调整; 测量分低频、中频和高频三档: 低频:0.010Hz ~ 1000.00 Hz ,采样时间在10mS ~ 100S之间调整; 中频:0.100Hz ~ 100.000 kHz ,采样时间在10mS ~ 10S之间调整; 高频: 100.0Hz ~ 10.0000 MHz ,采样时间在10mS ~ 1S之间调整。 根据测量范围的变化,可以通过软件参数的设置,改变分频数将进入计数器的信号频率转化为 0.10Hz ~ 100.000 kHz ; 比如1.000 ~ 10000kHz,通过100分频,转化为 100~ 100000Hz ; 在采样时间为10 ~100mS时,可以动态记录测量结果。 l 特色应用 SQY11T-03频率计采用的芯片LPC2103与以前芯片的比较,体现出较多的优越性,这里要特别提出的主要有两点:丰富资源和资源可以灵活多样地加以配置,芯片速度可以达到70MHz。优越的基础使新的方法得到充分发挥;SQY11-03智能频率计,在测量方法也有了新的改进,主要表现在以下几方面: 1. 适合高频和低频的宽范围测量,并且与高精度速度频率测量软件配套,可以动态测量记录速度、频率、周期和加速度。 2. 由于内部资源可以通过参数改变来重新配置,定时连续采样和定脉冲连续采样两种方法可以由用户配置参数加以切换。 3. 连续定时采样:可以检测以时间为参照的动态变化,比如各种旋转机械的速度动态变化; 4. 连续定脉冲采样:可以检测以空间为参照的动态变化,比如发动机飞轮在每个旋转角度上的速度变化。
附录: 频率与转速的关系: f=P*v/60 f表示频率,P表示每转产生的脉冲个数,v表示转速。 T=1/f 参考资料: 1. 《转速测量方法和转速表》 |