专利名称:脉冲信号周期测量方法
技术领域:
本发明涉及一种脉冲信号周期测量方法,特别是一种适用于周期变化范围特别大 的脉冲信号的周期测量方法。
背景技术:
脉冲信号是传感器以及检测仪表中应用较多的信号形式。对于比较稳定 的脉冲信号的周期测量已有相当成熟的技术。但当脉冲信号变化范围大并混有干扰脉冲 时,往往需要能准确测量每个输入脉冲的周期,这样才可以采用如去掉最大与最小周期值 等统计方法来准确估计脉冲信号的周期。同时,许多要测量的脉冲信号周期范围特别大,如 涡街流量计中15mnT600mm 口径传感器的脉冲周期变化(对应脉冲频率0. 2Hz^3. 7kHz)有约 0. 27mS 2S的范围。因此,一个较理想的脉冲信号周期测量方法是能准确测量每个宽范围变 化的脉冲周期。目前,脉冲信号的周期测量方法与系统已采用微处理器的定时器及其计数器 和捕捉器等功能来进行。如MSP430系列的单片微处理器。基本方法有传统计时法和传统 周期法。传统计时法是采用微处理器的定时器精确设立一个大的时间窗口 T,再由一个计数 器对输入脉冲进行计数,得到的是输入脉冲总数的平均周期。传统周期法是采用微处理器 中定时器及其捕捉器来对两个连续脉冲边沿出现的时间间隔脉冲边沿捕捉,而对于超出定 时器溢出位数的时间间隔时,还必须采用定时器溢出中断程序的软计数来计量。显然,传统 计时法只能测量没有干扰脉冲的脉冲信号周期,因为特别的干扰脉冲周期值也被平均在平 均周期值中。传统周期法由于需要有边沿和溢出两个中断,当脉冲边沿中断和计数溢出中 断同时发生时就会发生中断竞争,使脉冲周期测量值产生错误等问题。
发明内容
本发明的目的是提供一种脉冲信号周期测量方法,特别是周期变化范围特别大的 脉冲信号周期测量方法,准确地测量每一个宽范围变化的脉冲周期,使测量系统可以采用 如去掉最大与最小周期值等数字化处理方法来准确估计在干扰脉冲下的脉冲信号周期值。为达到上述目的,本发明的构思是采用一个η位定时器用较高频率FO的工作时 钟,并且把该定时器中η位计数器溢出脉冲作为另一个m位定时器中计数器的工作时钟。同 时,将要测量的脉冲信号同时接到两个定时器中的捕捉器输入端,使在脉冲信号边沿触发 下两个捕捉器同时捕捉对应的时间值,即可得到一个频率FO工作时钟下的时间值和另一 个频率F1=F0/2n作为工作时钟的高位时间值。数据处理单元把两个时间值组合成一个n+m 位时间值。这样,数据处理单元将两个相邻脉冲边沿的时间捕捉值相减,得到了对应的脉冲 周期值。上述系统充分利用了现代微处理器的定时器硬件功能单元,消除了多中断程序响 应的时间竞争问题,直接由捕捉器的硬件来得到宽量程高精度的脉冲边沿时间,从而可以 得到宽量程高精度的脉冲周期值。根据上述发明的构思,本发明采用以下技术方案一种脉冲信号周期测量方法,采用一个的时钟源、一个η位定时器、一个m位定时器和一个数据处理单元;η位定时器有η位 计数器单元和η位捕捉器单元以及η位比较器单元,m位定时器有m位计数器单元和m位 捕捉器单元;η位定时器的η位捕捉器单元对输入端S2脉冲上升(或下降)沿变化瞬间的时 间所对应η位计数器单元(2. 1)的计数值进行捕捉,m位定时器的m位捕捉器单元对输入 端S3脉冲上升(或下降)沿变化瞬间的时间所对应m位计数器单元的计数值进行捕捉;η位 捕捉器单元和m位捕捉器单元的捕捉值送入数据处理单元0)。其特征是时钟源输出频率 FO的时钟给η位定时器的η位计数器单元进行连续计数,并且使η位比较器单元输出频率 Fl=FO/ (2η)的时钟给m位定时器的m位计数器单元进行连续计数,被测的脉冲信号X输入 到η位定时器的η位捕捉器单元输入端S2和m位定时器的m位捕捉器单元输入端S3 ;在 所述的脉冲信号X中的脉冲P(i)及其相邻的脉冲P(i+1)下的操作步骤如下
(a).脉冲信号X中的脉冲P(i)上升(或下降)沿变化时,η位定时器的η位捕捉器单 元和m位定时器的m位捕捉器单元捕捉到各自时钟频率FO与Fl下的时间计数值T2 (i)和 T3⑴;
(b).脉冲信号X中继脉冲P(i)后的脉冲P(i+1)上升(或下降)沿变化时,η位定时器 的η位捕捉器单元和m位定时器的m位捕捉器单元捕捉到各自时钟频率FO与Fl下的时间 计数值 T2(i+1)和 T3(i+1);
(c).数据处理单元计算AT2(j)= T2(i+1) — T2(i)和 AT3(j)= T3 (i+1) — T3 (i),得 出脉冲P(i)与脉冲P (i+1)形成的脉冲周期值是1^)=八13\2_+ ΔΤ2Χ2η。上述脉冲信号周期测量方法,所述的η位比较器单元用0比较值和2"-1比较值使 对应输出产生频率Fl=FO/ (2n)的时钟作为m位定时器的m位计数器单元的工作时钟。本发明与现有技术相比,具有如下显而易见的突出实质性特点和显著优点本 发明充分利用了现代单片微处理器的定时器中比较器单元与捕捉器单元的硬件功能,使在 脉冲信号X的边沿触发下有两个捕捉器同时捕捉对应的时间值,即可得到一个频率FO工作 时钟下的时间值和另一个频率Fl=F0/2n作为工作时钟的高位时间值。即一个n+m位宽量 程时间值。这样,消除了时间中断响应的竞争,直接由捕捉器的硬件来得到宽量程高精度的 脉冲边沿时间,从而可以得到宽量程高精度的脉冲周期值。
图1是本发明的一个实施例的测量设置结构原理框图2是本发明采用MSP430F23x0系列单片微处理器的一种实施例原理图。
具体实施例方式本发明的一个优选实施例如下述参见图1。一种脉冲信号周期测量方法,采用一 个的时钟源1,一个η位定时器2,一个m位定时器3和一个数据处理单元4 ;η位定时器2 有η位计数器单元2. 1和η位捕捉器单元2. 2以及η位比较器单元2. 3,m位定时器3有 m位计数器单元3. 1和m位捕捉器单元3. 2 ;η位定时器2的η位捕捉器单元2. 2对输入端 S2脉冲上升(或下降)沿变化瞬间的时间所对应η位计数器单元2. 1的计数值进行捕捉,m 位定时器3的m位捕捉器单元3. 2对输入端S3脉冲上升(或下降)沿变化瞬间的时间所对 应m位计数器单元3. 1的计数值进行捕捉;η位捕捉器单元2. 2和m位捕捉器单元3. 2的捕捉值送入数据处理单元4。其特征是时钟源1输出频率FO时钟给η位定时器2的η位 计数器单元2. 1进行连续计数,并且使η位比较器单元2.3输出频率Fl=F0/(2n)的时钟给 m位定时器3的m位计数器单元3. 1进行连续计数,被测的脉冲信号X输入到η位定时器2 的η位捕捉器单元2. 2输入端S2和m位定时器3的m位捕捉器单元3. 2输入端S3 ;在所 述的脉冲信号X中的脉冲P(i)及其相邻的脉冲P(i+1)下的操作步骤如下
(a). 脉冲信号X中的脉冲P(i)上升或下降沿变化时,η位定时器2的η位捕捉器单 元2. 2和m位定时器3的m位捕捉器单元3. 2捕捉到各自时钟频率FO与Fl下的时间计数 值T2⑴和T3(i);
(b).脉冲信号X中继脉冲P(i)后的脉冲P(i+1)上升或下降沿变化时,η位定时器2 的η位捕捉器单元2. 2和m位定时器3的m位捕捉器单元3. 2捕捉到各自时钟频率FO与 Fl下的时间计数值T2(i+1)和T3(i+1);
(c).数据处理单元4 计算 AT2(j)= T2(i+1) — T2(i)和 AT3(j)= T3 (i+1) — T3 (i), 得出脉冲P⑴与脉冲P (i+1)形成的脉冲周期值是!^)=八13\2_+ ΔΤ2Χ2η。上述的脉冲信号周期测量方法,所述的η位比较器单元2. 3用0比较值和211-1比 较值使对应输出产生频率Fl=FO/(2η)的时钟作为m位定时器3的m位计数器单元3. 1的 工作时钟。本发明用现代的单片微处理器就可以有非常简单的实现。图2是本发明采用一片 MSP430F23x0系列单片微处理器来实现的一个简单实施例。图2中的MSP430F23x0系列单片微处理器采用了内部可设置的时钟频率F0,16位 定时器B用频率FO的时钟,并且16位定时器B的比较器单元用0比较值和216-1=32768比 较值使对应输出TB2产生频率Fl=FO/ (216)的时钟作为16位定时器A的16位计数器单元 的工作时钟TACLK。同时,被测脉冲信号X输入到16位定时器B的捕捉器单元输入端TBO 和16位定时器A的捕捉器单元输入端TA1,使脉冲信号X的上升(或下降)沿变化瞬间的时 间值由对应两个捕捉器单元的硬件来自动捕捉。这样,MSP430F23x0系列单片微处理器可 以得到宽量程高精度的脉冲边沿时间,通过连续的测量可以得到脉冲信号X的动态脉冲周 期值。在实际应用中,图2的MSP430F23x0系列单片微处理器还可以对测量的脉冲周期 值进行数字化处理,如去掉最大与最小周期值等统计方法来准确估计消除了干扰脉冲的脉 冲信号周期值。图2中的MSP430F23x0系列单片微处理器可以用16位定时器B的另一个 比较器单元TBl输出经过测量与处理后的脉冲信号Y。
权利要求
1.一种脉冲信号周期测量方法,采用一个的时钟源(1)、一个η位定时器0)、一个!11位 定时器⑶和一个数据处理单元⑷;11位定时器⑵有η位计数器单元(2. 1)和η位捕捉 器单元(2.2)以及η位比较器单元O. 3),m位定时器(3)有m位计数器单元(3.1)和m 位捕捉器单元(3. 2) ;η位定时器O)的η位捕捉器单元(2. 2)对输入端S2脉冲上升或下 降沿变化瞬间的时间所对应η位计数器单元(2. 1)的计数值进行捕捉,m位定时器(3)的m 位捕捉器单元(3. 2)对输入端S3脉冲上升或下降沿变化瞬间的时间所对应m位计数器单 元(3. 1)的计数值进行捕捉;η位捕捉器单元(2. 2)和m位捕捉器单元(3. 2)的捕捉值送 入数据处理单元G),其特征是时钟源(1)输出频率FO时钟给η位定时器O)的η位计数 器单元(2. 1)进行连续计数,并且使η位比较器单元(2. 输出频率Fl=F0A2n)的时钟给 m位定时器(3)的m位计数器单元(3. 1)进行连续计数,被测的脉冲信号X输入到η位定时 器O)的η位捕捉器单元(2. 2)输入端S2和m位定时器(3)的m位捕捉器单元(3. 2)输 入端S3 ;在所述的脉冲信号X中的脉冲P(i)及其相邻的脉冲P(i+1)下的操作步骤如下(a).脉冲信号X中的脉冲P(i)上升或下降沿变化时,η位定时器O)的η位捕捉器 单元(2. 2)和m位定时器(3)的m位捕捉器单元(3. 2)捕捉到各自时钟频率FO与Fl下的 时间计数值T2(i)和T3⑴;(b).脉冲信号X中继脉冲P(i)后的脉冲P(i+1)上升或下降沿变化时,η位定时器(2) 的η位捕捉器单元(2. 2)和m位定时器(3)的m位捕捉器单元(3. 2)捕捉到各自时钟频率 FO与Fl下的时间计数值T2 (i+1)和T3 (i+1);(c).数据处理单元⑷计算AT2(j)= T2(i+1) — T2 ⑴和 AT3(j)= T3(i+1) — 丁3(1),得出脉冲卩(1)与脉冲P (i+Ι)形成的脉冲周期值是1^_)=八13\2"1+11+ ΔΤ2Χ2η。
2.根据权利要求1所述的脉冲信号周期测量方法,其特征在于所述的η位比较器单元 (2. 3)用0比较值和2114比较值使对应输出产生频率Fl=F0A2n)的时钟作为m位定时器(3) 的m位计数器单元(3. 1)的工作时钟。
全文摘要
本发明提出一种脉冲信号周期测量方法,利用了现代单片微处理器的定时器中比较器单元与捕捉器单元的硬件功能,采用一个n位定时器用较高频率F0的工作时钟,并且把该定时器中n位计数器溢出脉冲作为另一个m位定时器中计数器的工作时钟。同时,将要测量的脉冲信号同时接到两个定时器中的捕捉器输入端,使在脉冲信号X的边沿触发下用两个捕捉器同时捕捉对应的时间值,即可得到一个频率F0工作时钟下的时间值和另一个频率F1=F0/2n作为工作时钟的高位时间值。即有一个宽量程的时间捕捉值。这样,消除了计数溢出中断与边沿捕捉中断程序响应的时间竞争问题,直接由捕捉器硬件来得到宽量程高精度的脉冲边沿时间。从而通过两次脉冲边沿时间捕捉值的差值,可以得到宽量程高精度的脉冲周期值。
文档编号G01R23/10GK102128981SQ20101060978
公开日2011年7月20日 申请日期2010年12月29日 优先权日2010年12月29日
发明者周平雨, 尹仕熠, 李伟, 李斌, 沈天飞 申请人:上海大学