一种数字脉冲信号宽度测量电路及测量方法

文档序号:1183564 发布日期:2020-09-22 浏览:28次 >En<

阅读说明:本技术 一种数字脉冲信号宽度测量电路及测量方法 (Digital pulse signal width measuring circuit and measuring method ) 是由 陈虎 许野 万江华 于 2020-05-14 设计创作,主要内容包括:一种数字脉冲信号宽度测量电路及测量方法,该测量电路包括:采样时钟,用于驱动电路中的所有寄存器;边沿检测与中断控制单元,用于检测输入引脚Input上脉冲信号的上升沿、下降沿,进而对信号采集进行控制;整数编码单元,包括计数器和寄存器,用来以采样时钟的1个周期1/f为基准单位,测量输入引脚Input上高或低电平的宽度的整数部分μ;信号捕捉链,用来采样每个延时单元DLL的输出电平值;小数编码单元,用来找出并记录脉冲边沿在信号捕捉链上传播的位置;校准控制单元,用来进行校准。该测量方法基于上述测量电路来实现。本发明具有精度高、结构简单、资源开销小等优点。(A digital pulse signal width measuring circuit and a measuring method thereof are provided, the measuring circuit comprises: the sampling clock is used for driving all registers in the circuit; the edge detection and interruption control unit is used for detecting the rising edge and the falling edge of a pulse signal on an Input pin so as to control signal acquisition; an integer encoding unit including a counter and a register for measuring an integer part mu of a width of a high or low level on an Input pin with 1 cycle 1/f of a sampling clock as a reference unit; a signal capturing chain for sampling the output level value of each delay unit DLL; the decimal coding unit is used for finding and recording the position of the pulse edge propagating on the signal capturing chain; and the calibration control unit is used for performing calibration. The measuring method is realized based on the measuring circuit. The invention has the advantages of high precision, simple structure, low resource overhead and the like.)

一种数字脉冲信号宽度测量电路及测量方法

技术领域

本发明主要涉及到高精度数字脉冲信号测量技术领域,特指一种数字脉冲信号宽度测量电路及测量方法。

背景技术

大量工业级和消费类设备、仪器中,普遍需要对电压、电流、电容、速度、距离等信号进行测量,测量精度直接影响设备、仪器的精度。

高精度数字脉冲信号宽度测量广泛引用于精密仪器、声呐、机器人伺服、开关电源、功率器件、触摸屏等设备中的脉冲序列周期/占空比测量、瞬时速度测量、穿越隔离边界的电压测量、距离/声呐测量和扫描、容感触摸感知等应用。

数字信号处理器件中,信号测量一般是先将电压、电容、速度、距离等信号经模拟数字转换量化成数字脉冲信号,再对数字脉冲信号进行测量。如图1所示,数字脉冲信号宽度测量就是采用一个采样时钟(频率为f),以一个时钟周期为基准单位,将一个脉冲信号的宽度表示成一个包含整数部分和小数部分的实数。图1中,整数部分用μ表示;小数部分是因脉冲信号的边沿与采样时钟的边沿不对齐产生,来源于脉冲的头部和尾部,即1-α、1–β。在图1中,高电平脉冲信号的宽度λ与f、μ、α、β的关系为:

λ=(μ+1-α-β)×1/f (1)

传统数字信号测量电路的测量精度为1个采样时钟周期1/f,只能测量信号宽度λ的整数部分μ,无法测量信号宽度的小数部分1-α-β。如要提高测量精度,只能提高采样时钟的频率,从而极大地增加了硬件电路的功耗和复杂度。

如在专利US 8384440B2中所实现的脉冲信号宽度测量就具有高精度的特点,并且不需要高频的采样时钟。但该方法限制了采样时钟的工作范围,同时,因需要一条单独的捕捉延时链并周期性地执行软件校准程序,增加了软硬件开销。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种具有精度高、结构简单、资源开销小的超高精度数字脉冲信号宽度测量电路及测量方法。

为解决上述技术问题,本发明采用以下技术方案:

一种数字脉冲信号宽度测量电路,其包括:

采样时钟,用于驱动电路中的所有寄存器;

边沿检测与中断控制单元,用于检测输入引脚Input上脉冲信号的上升沿、下降沿,进而对信号采集进行控制;

整数编码单元,包括计数器和寄存器,用来以采样时钟的1个周期1/f为基准单位,测量输入引脚Input上高或低电平的宽度的整数部分μ;

信号捕捉链,包括一组延时单元DLL和捕捉寄存器CAP,所述延时单元和寄存器的数量相等,设为正整数i;输入引脚Input上的信号每传播经过一个延时单元时会产生一定量的延时,设为δ;所述信号捕捉链用来在输入引脚Input上脉冲信号的上升沿、下降沿发生后,下一个时钟上升沿来临时采样每个延时单元DLL的输出电平值;

小数编码单元,用来根据信号捕捉链的采样结果,找出并记录脉冲边沿在信号捕捉链上传播的位置;

校准控制单元,在检测到输入引脚Input上信号的上升沿后,产生内部输入信号和采样控制信号,控制信号捕捉链对延时单元DLL的输出进行采样;采样结果经编码后保存在校准寄存器中;步长信息是根据校准寄存器计算得出。

作为本发明测量电路的进一步改进:所述边沿检测与中断控制单元在进行中断控制时,在检测到输入引脚Input上脉冲信号的上升沿或下降沿时产生中断信号Interrupt,以通知主控设备读取脉冲信号测量结果;测量结果保存在整数编码、小数编码逻辑中的寄存器中。

作为本发明测量电路的进一步改进:所述整数编码逻辑包括一个计数器Counter[n:1]、4个寄存器CNTR1[n:1]、CNTR2[n:1]、CNTF1[n:1]、CNTF2[n:1];所述计数器Counter[n:1]在边沿检测逻辑检测到脉冲上升或下降沿后开始从0计数;检测到上升沿时,计数器Counter[n:1]加载到寄存器CNTR1[n:1]以记录上升沿来临前的测量结果,寄存器CNTR1[n:1]加载到CNTR2[n:1],寄存器CNTF1[n:1]加载到CNTF2[n:1];检测到下降沿时,计数器Counter[n:1]加载到寄存器CNTF1[n:1]以记录下降沿来临前的测量结果。

作为本发明测量电路的进一步改进:所述捕捉寄存器CAP[i:1]用来在输入引脚Input上脉冲信号的上升沿、下降沿发生后,下一个时钟上升沿来临时采样每个延时单元DLL的输出电平值。

作为本发明测量电路的进一步改进:所述小数编码单元包括编码器R、编码器F,编码寄存器ENCR1[m:1]、ENCR1[m:1]、ENCF1[m:1]、ENCF2[m:1],校准寄存器CALR1[m:1]、CALR2[m:1],步长寄存器STEP[m:1];所述编码寄存器ENCR1[m:1]的数量m与信号捕捉链中延时单元DLL的数量i之间的关系为:

m=log2i。

作为本发明测量电路的进一步改进:当进行边沿检测时,在检测到输入引脚Input上脉冲信号的上升沿来临后,捕捉寄存器CAP的输出经编码器R编码,结果保留在寄存器ENCR1[m:1]中;在检测到脉冲信号的下降沿来临后,捕捉寄存器CAP的输出经编码器F编码,结果保留在寄存器ENCF1[m:1]中;在检测到上升沿时,寄存器ENCR1[m:1]加载到ENCR2[m:1],寄存器ENCF1[m:1]加载到ENCF2[m:1]。

作为本发明测量电路的进一步改进:所述校准寄存器CALR1[m:1]、CALR2[m:1]的用来在校准控制单元的控制下,记录脉冲边沿在DLL链上传播的位置;所述步长寄存器STEP[m:1]的值表示一个采样时钟周期1/f内,输入引脚Input上的信号在信号捕捉链上可以传播经过的延时单元的数量;所述STEP[m:1]是根据校准寄存器CALR1[m:1]、CALR2[m:1]计算得出。

作为本发明测量电路的进一步改进:所述采样时钟的频率f与延时单元的延时δ、延时单元的数量i之间的关系是:

1/f<i×δ,其中i为正整数。

本发明进一步提供一种数字脉冲信号宽度测量方法,其包括:

步骤S1:边沿检测;即在边沿检测逻辑检测到输入引脚Input上脉冲信号的上升沿或下降沿后,产生Rise、Fall、Rise_or_Fall脉冲信号。Rise、Fall、Rise_or_Fall脉冲信号用于:1)控制整数编码单元中的Counter从0开始重新计数,2)控制信号捕捉链采样DLL的输出电平;3)控制小数编码单元中的编码器R、F对捕捉寄存器CAP中的结果进行编码;

步骤S2:整数编码;在检测到脉冲上升或下降沿后,计数器Counter[n:1]开始从0计数;检测到上升沿时,计数器Counter[n:1]加载到寄存器CNTR1[n:1],寄存器CNTR1[n:1]加载到CNTR2[n:1],寄存器CNTF1[n:1]加载到CNTF2[n:1];检测到下降沿时,计数器Counter[n:1]加载到寄存器CNTF1[n:1];

步骤S3:小数编码;对输入引脚Input上脉冲信号的上升沿或下降沿来临后,下一个采样时钟上升沿后捕捉寄存器CAP[i:1]中采样到的结果进行编码,找出脉冲边沿在延时单元DLL链上传播的位置;

步骤S4:步长信息校准;监测步长信息STEP[m:1],即一个采样时钟周期1/f内,输入引脚Input上的信号在信号捕捉链上可以传播经过的延时单元的数量。

步骤S5:产生中断;中断控制逻辑中选择在上升沿或下降沿产生中断,通知主控设备读取脉冲信号测量结果;

步骤S6:计算;软件根据寄存器CNTR1[n:1]、CNTR2[n:1]、CNTF1[n:1]、CNTF2[n:1],寄存器ENCR1[m:1]、ENCR2[m:1]、ENCF1[m:1]、ENCF1[m:1],和步长寄存器STEP[m:1]中的信息,计算出中断发生前高、低电平脉冲的宽度。

作为本发明测量方法的进一步改进:所述步骤S4包括:

步骤S401:产生内部输入信号和采样控制信号;校准控制逻辑在边沿检测逻辑检测到输入引脚Input上信号的上升沿的一段时间间隔之后,产生一个内部输入脉冲信号,2个采样控制信号;内部输入脉冲信号作为信号捕捉链的输入;采样控制信号控制采样每个DLL的输出电平值的时机;

步骤S402:采样;采样控制信号发生后,在下一个采样时钟HRCAPCLK上升沿采样每个DLL的输出,结果保存在捕捉寄存器中;采样过程进行2次;

步骤S403:编码;编码器对连续两次采样结果进行编码,编码后的结果分别保存在校准寄存器中;

步骤S404:计算;设2次采样的时间间隔为正整数ω个采样时钟周期,则STEP的计算方式为:

STEP=(CALR1–CALR2)/ω。

与现有技术相比,本发明的优点在于:

1、本发明的数字脉冲信号宽度测量电路及测量方法,具有精度高、结构简单、资源开销小等优点,在不需要提高采样时钟频率的情况下,可精确测量数字脉冲信号宽度。如采用100MHz的采样时钟,精度可达到100ps量级。

2、本发明的数字脉冲信号宽度测量电路及测量方法,能够根据实际工作环境(如温度、工作电压)的变化,动态实时地校准测量精度,适用范围广、测量精度搞,且校准不会带来软件开销。

附图说明

图1是数字脉冲信号测量的原理示意图。

图2是本发明在具体应用实例中测量电路的结构原理示意图。

图3是本发明在具体应用实例中测量方法的原理示意图。

具体实施方式

以下将结合说明书附图和具体实施例对本发明做进一步详细说明。

如图2所示,为本发明的超高精度数字脉冲信号宽度测量电路在具体应用实例中的结构原理图。为简化起见,在图2中并未画出采样时钟及其与其它电路的连接关系,但这不妨碍本领域普通人员对于本发明技术方案的理解,也不影响本发明的实际保护范围。

本发明的超高精度数字脉冲信号宽度测量电路,包括边沿检测与中断控制单元、整数编码单元、信号捕捉链、小数编码单元、校准控制单元、采样时钟HRCAPCLK;其中:

采样时钟HRCAPCLK,用于驱动电路中的所有寄存器;

边沿检测与中断控制单元,用于检测输入引脚Input上脉冲信号的上升沿、下降沿,进而控制整数编码单元、小数编码单元、校准控制单元、以及信号捕捉链上的信号采集。其中,脉冲信号的上升沿表示高电平的开始、低电平的结束,下降沿表示高电平的结束、低电平的开始。输出Rise、Fall、Rise_or_Fall表示检测到上升沿、下降沿、上升或下降沿;

整数编码单元,用来以采样时钟HRCAPCLK的1个周期1/f为基准单位,测量输入引脚Input上高或低电平的宽度的整数部分μ;

信号捕捉链,用来在输入引脚Input上脉冲信号的上升沿、下降沿发生后,下一个HRCAPCLK时钟上升沿来临时采样每个延时单元DLL的输出电平值;

小数编码单元,当输入引脚Input上脉冲信号的边沿与采样时钟HRCAPCLK的边沿不对齐时,脉冲宽度测量的结果会产生小数值。如图1所示,小数值由2个部分组成,即1-α、1–β。小数编码单元的作用是用来根据信号捕捉链(捕捉寄存器CAP)的采样结果,找出并记录脉冲边沿在信号捕捉链上传播的位置;

校准控制单元,在检测到输入引脚Input上信号的上升沿后,产生内部输入信号和采样控制信号,控制信号捕捉链对延时单元DLL的输出进行2次采样。信号捕捉链的2次采样结果经编码后保存在校准寄存器中;步长信息是根据校准寄存器计算得出,结果保存在步长寄存器中。

在具体应用实例中,边沿检测与中断控制单元的中断控制目的就是在检测到输入引脚Input上脉冲信号的上升沿或下降沿时产生中断信号Interrupt,以通知主控设备读取脉冲信号测量结果。测量结果保存在整数编码、小数编码逻辑中的寄存器中。

在具体应用实例中,整数编码逻辑包括一个计数器Counter[n:1]、4个寄存器CNTR1[n:1]、CNTR2[n:1]、CNTF1[n:1]、CNTF2[n:1]。其中计数器Counter[n:1]在边沿检测逻辑检测到脉冲上升或下降沿后开始从0计数。检测到上升沿时,计数器Counter[n:1]加载到寄存器CNTR1[n:1]以记录上升沿来临前的测量结果,寄存器CNTR1[n:1]加载到CNTR2[n:1],寄存器CNTF1[n:1]加载到CNTF2[n:1];检测到下降沿时,计数器Counter[n:1]加载到寄存器CNTF1[n:1]以记录下降沿来临前的测量结果。

在具体应用实例中,信号捕捉链包括一组延时单元DLL和捕捉寄存器CAP。延时单元和寄存器的数量相等,设为正整数i。输入引脚Input上的信号每传播经过一个延时单元时会产生一定量的延时,设为δ。δ会随电路的工作环境而变化。如温度上升或工作电压下降时,δ会增大;温度下降或工作电压升高时,δ会减小。捕捉寄存器CAP的作用是在输入引脚Input上脉冲信号的上升沿、下降沿发生后,下一个HRCAPCLK时钟上升沿来临时采样每个延时单元DLL的输出电平值。

在具体应用实例中,小数编码单元包括编码器R、编码器F,编码寄存器ENCR1[m:1]、ENCR1[m:1]、ENCF1[m:1]、ENCF2[m:1],校准寄存器CALR1[m:1]、CALR2[m:1],步长寄存器STEP[m:1]。编码寄存器ENCR1[m:1]的数量m与信号捕捉链中延时单元DLL的数量i之间的关系为:

m=log2i (2)

在具体应用实例中,边沿检测逻辑检测到输入引脚Input上脉冲信号的上升沿来临后,捕捉寄存器CAP的输出经编码器R编码,结果保留在寄存器ENCR1[m:1]中;边沿检测逻辑检测到脉冲信号的下降沿来临后,捕捉寄存器CAP的输出经编码器F编码,结果保留在寄存器ENCF1[m:1]中。检测到上升沿时,寄存器ENCR1[m:1]加载到ENCR2[m:1],寄存器ENCF1[m:1]加载到ENCF2[m:1]。

在具体应用实例中,校准寄存器CALR1[m:1]、CALR2[m:1]的作用是在校准控制器的控制下,记录脉冲边沿在DLL链上传播的位置。步长寄存器STEP[m:1]的值表示一个采样时钟周期1/f内,输入引脚Input上的信号在信号捕捉链上可以传播经过的延时单元的数量。STEP[m:1]是根据校准寄存器CALR1[m:1]、CALR2[m:1]计算得出。

由于信号捕捉链中延时单元DLL的延时δ会随电路的工作环境而变化,为了精确表示脉冲测量结果的小数部分,需要动态监测步长信息STEP,即一个采样时钟周期1/f内,输入引脚Input上的信号在信号捕捉链上可以传播经过的延时单元的数量。校准控制单元的作用是在检测到输入引脚Input上信号的上升沿后,产生内部输入信号和采样控制信号,控制捕捉寄存器CAP对DLL的输出进行2次采样。捕捉寄存器CAP的2次采样结果经编码器R编码后保存在校准寄存器CALR1[m:1]、CALR2[m:1]中。步长信息是根据校准寄存器CALR1[m:1]、CALR2[m:1]计算得出,结果保存在步长寄存器STEP[m:1]中。

在具体应用实例中,采样时钟的频率f与延时单元的延时δ、延时单元的数量i之间的关系是:

1/f<i×δ,i为正整数 (3)

如图3所示,本发明进一步提供一种超高精度数字脉冲信号宽度测量方法,包括:

步骤S1:边沿检测;即在边沿检测逻辑检测到输入引脚Input上脉冲信号的上升沿或下降沿后,产生Rise、Fall、Rise_or_Fall脉冲信号。Rise、Fall、Rise_or_Fall脉冲信号用于:1)控制整数编码单元中的Counter从0开始重新计数,2)控制信号捕捉链采样DLL的输出电平;3)控制小数编码单元中的编码器R、F对捕捉寄存器CAP中的结果进行编码;

步骤S2:整数编码;在检测到脉冲上升或下降沿后,计数器Counter[n:1]开始从0计数;检测到上升沿时,计数器Counter[n:1]加载到寄存器CNTR1[n:1],寄存器CNTR1[n:1]加载到CNTR2[n:1],寄存器CNTF1[n:1]加载到CNTF2[n:1];检测到下降沿时,计数器Counter[n:1]加载到寄存器CNTF1[n:1];

步骤S3:小数编码;对输入引脚Input上脉冲信号的上升沿或下降沿来临后,下一个采样时钟上升沿后捕捉寄存器CAP[i:1]中采样到的结果进行编码,找出脉冲边沿在延时单元DLL链上传播的位置;

步骤S4:步长信息校准;监测步长信息STEP[m:1],即一个采样时钟周期1/f内,输入引脚Input上的信号在信号捕捉链上可以传播经过的延时单元的数量。

步骤S5:产生中断;中断控制逻辑中选择在上升沿或下降沿产生中断,通知主控设备读取脉冲信号测量结果;

步骤S6:计算;软件根据寄存器CNTR1[n:1]、CNTR2[n:1]、CNTF1[n:1]、CNTF2[n:1],寄存器ENCR1[m:1]、ENCR2[m:1]、ENCF1[m:1]、ENCF1[m:1],和步长寄存器STEP[m:1]中的信息,计算出中断发生前高、低电平脉冲的宽度。

在具体应用实例中,根据中断发生的边沿位置不同,本发明中的超高精度数字脉冲信号宽度测量可以分为上升沿测量模式和下降沿测量模式。

1)、上升沿测量模式;

如图3所示,此时,中断发生前的高、低电平脉冲的宽度分别为:

PWD_H0=PWD(B)=CNTR2+(ENCF2-ENCR2)/STEP (4)

PWD_L0=PWD(A)=CNTR1+(ENCR1-ENCF2)/STEP (5)

2)、下降沿测量模式;

如图3所示,此时,中断发生前的高、低电平脉冲的宽度分别为:

PWD_H1=PWD(C’)=CNTF2+(ENCF2-ENCR2)/STEP (6)

PWD_H0=PWD(A’)=CNTF1+(ENCF1-ENCR1)/STEP (7)

PWD_L0=PWD(B’)=CNTR1+(ENCR1-ENCF2)/STEP (8)

本发明中的小数编码的目的在于对输入引脚Input上脉冲信号的上升沿来临后,下一个采样时钟HRCAPCLK上升沿采样到的结果(保存在捕捉寄存器CAP[i:1]中)进行编码;

即,结合图2中的电路可知,编码器R、编码器F的作用是根据捕捉寄存器CAP[i:1]的采样结果,找出脉冲边沿在DLL链上传播的位置。编码后的位置信息保存在寄存器ENCR1[m:1]、ENCF1[m:1]中。

编码器R是对捕捉寄存器CAP[i:1]中的采样结果进行编码。

在具体应用实例中,编码规则为:

使得且CAP[i]=0,则:

ENCR1[m:1]=x (9)

编码器F是对捕捉寄存器CAP[i:1]中的采样结果进行编码。

在具体应用实例中,编码规则为:

Figure BDA0002490926800000111

Figure BDA0002490926800000112

使得且CAP[i]=1,则:

ENCF1[m:1]=x (10)

本发明中的步长信息校准的流程如下:

步骤S401:产生内部输入信号和采样控制信号。校准控制逻辑在边沿检测逻辑检测到输入引脚Input上信号的上升沿的一段时间间隔之后,产生一个内部输入脉冲信号,2个采样控制信号。内部输入脉冲信号作为信号捕捉链的输入;采样控制信号控制采样每个DLL的输出电平值的时机。

步骤S402:采样。采样控制信号发生后,在下一个采样时钟HRCAPCLK上升沿采样每个DLL的输出,结果保存在捕捉寄存器CAP[i:1]中。采样过程进行2次。

步骤S403:编码。编码器R对连续两次采样结果进行编码,编码后的结果分别保存在校准寄存器CALR1[m:1]、CALR2[m:1]中。

步骤S404:计算。设2次采样的时间间隔为正整数ω个采样时钟周期,则STEP的计算方式为:

STEP=(CALR1–CALR2)/ω (11)。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于实时可视化辐射图的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!