一种延迟内插型时间数字转换器的制作方法

文档序号:14686058发布日期:2018-06-14 22:56

本申请涉及时间间隔测量技术领域,更具体地说,涉及一种延迟内插型时间数字转换器。



背景技术:

时间数字转换器(Time-to-DigitalConverter,TDC)是一种将时间间隔转换为数字量输出的器件。TDC作为一项关键技术,不仅广泛应用于高能物理实验、空间探测仪器、激光雷达探测、卫星导航、科学计量等高精尖科研、国防领域,同时也广泛应用于生活生产,如医学PET成像、环境质量检测、药物成分分析、无损探伤以及工业上速度、密度测量等方面。

当前的时间数字转换器在高精度时间测量应用中,主要采用“粗”计数+“细”时间测量型的TDC,采用“粗”计数+“细”时间测量组合的方法,通过“粗”计数进行粗时间测量,通过内插技术进行细时间测量。但是,目前采用延迟链内插方法实现细时间测量的高精度时间数字转换器都使用开环延迟结构,开环延迟结构使用多个延迟单元去覆盖一个工作时钟周期,当工作时钟周期较长时,需要更多的延迟单元,而且还须对延迟单元进行编码,因此,开环延迟结构占用的资源较多,死时间大,功耗高。



技术实现要素:

有鉴于此,本申请提供一种延迟内插型时间数字转换器,能够实现在不同工作钟周期下,实现占用的资源较少,无死时间和功耗低的目的。

为了实现上述目的,现提出的方案如下:

一种延迟内插型时间数字转换器,包括:输入信号处理单元、环形延迟链、计数器、触发器组、寄存单元和控制单元,其中,

所述输入信号处理单元,用于根据输入信号生成第一清空信号、窄脉冲信号和控制信号,并分别将所述第一清空信号和窄脉冲信号发送至所述环形延迟链,以及将所述控制信号发送至控制单元;

所述环形延迟链包括n个延迟单元,所述延迟单元包括第一数据输入端、第二数据输入端和输出端,各个延迟单元的第一数据输入端和输出端依此连接,第一延迟单元的第二数据输入端用于接收所述窄脉冲信号,非第一延迟单元的第二数据输入端用于接收所述第一清空信号,在接收到所述第一清空信号时,清空所述环形延迟链中的循环信号,对接收的所述窄脉冲信号进行循环延迟;

所述计数器与所述环形延迟链中的第n延迟单元的输出端连接,用于记录所述窄脉冲信号在所述环形延迟链中循环的次数;

所述触发器组,由与所述延迟单元相同数量的触发器组成,并且所述触发器与所述延迟单元的输出端一一对应连接,用于记录所述窄脉冲信号在所述环形延迟链中的循环位置;

所述控制单元,用于接收所述控制信号,并在接收所述控制信号后发送寄存指令至寄存单元;

所述寄存单元,用于接收所述控制单元的寄存指令,并在所述控制信号发出后的第一个时钟信号上升沿时刻,对所述计数器和所述触发器组的记录结果进行寄存。

优选的,所述延迟单元为:与门和或门的组合、二选一数据选择器或加法器等类似单元。

优选的,还包括:

循环控制单元,所述循环控制单元分别连接所述计数器和非第一延迟单元的第二数据输入端,当所述计数器的记录次数大于预设阈值时,生成第二清空信号,并将所述第二清空信号发送至所述环形延迟链,所述环形延迟链,在接收到所述第二清空信号时,清空所述环形延迟链中的循环信号。

优选的,所述循环控制单元包括阈值设置子单元,用于根据时钟信号的周期设置所述环形延迟链中循环信号的循环次数阈值,所述循环次数阈值与所述环形延迟链延迟长度的乘积大于所述时钟信号的周期。

优选的,还包括:

粗时间测量模块,用于对时钟信号进行计数,在接收到所述控制单元的测量指令时寄存计数结果;

存储器,用于接收所述控制单元的存储指令,分别获取并存储所述寄存单元和所述粗时间测量模块的寄存信息。

优选的,所述输入信号处理单元,包括延迟子单元和合成子单元:,

所述延迟子单元,用于对所述输入信号进行M级延迟,生成M级延迟信号,其中第M级延迟信号作为所述控制信号;

所述延迟子单元,用于对所述输入信号进行M级延迟,生成M级延迟信号,其中第M1(2<M1<(M-2))级延迟信号作为所述控制信号;

所述合成子单元,用于选择第一级延迟信号,以及第二级至第M1级之间任意一级延迟信号,生成所述第一清空信号,及选择第M1级延迟信号和M1级至第M级任意一级延迟信号,生成所述窄脉冲信号,其中,所述第一清空信号的长度大于所述延迟单元的两倍延迟长度,并小于或等于所述环形延迟链的延迟长度,所述窄脉冲信号的长度大于所述延迟单元的两倍延迟长度,并小于或等于所述环形延迟链的延迟长度。

从上述的技术方案可以看出,本申请公开的一种延迟内插型时间数字转换器,将延迟单元首尾依此相连构成环形延迟链,计数器和触发器组分别记录窄脉冲信号在环形延迟链中循环的次数和循环位置,通过两者构建两级测量结构得到细时间的测量结果。与开环延迟结构使用大量的延迟单元去覆盖一个工作时钟周期的传统方法相比,延迟单元首尾依此相连构成环形延迟链的结构,仅需要较少的延迟单元,就可以实现细时间的测量,而且不需要编码,极大地减少了资源的占用和功耗;从时钟触发到细时间输出无需额外时钟,因此实现了无死时间测量。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例公开的一种延迟内插型时间数字转换器示意图;

图2为本申请实施例公开的输入信号处理单元输出的信号示意图;

图3为本申请实施例公开的一种延迟内插型环形延迟链示意图;

图4为本申请实施例公开的另一延迟内插型种时间数字转换器示意图;

图5为本申请实施例公开的另一种延迟内插型时间数字转换器示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请公开一种时间数字转换器,属于延迟内插型时间数字转换器,通过延迟单元构成环形延迟链对时钟信号Clk进行内插,计数器和触发器组在时钟信号触发时刻分别记录窄脉冲信号在环形延迟链中循环的次数和循环位置,无需编码即可实现细时间测量,极大地降低了资源占有量和功耗,实现了无死时间测量。而且可以适应大范围的时钟频率,具有可移植性强的优点。

图1为本实施例公开的一种延迟内插型时间数字转换器

参见图1所示,该时间数字转换器包括:输入信号处理单元11、环形延迟链12、触发器组13、计数器14、控制单元15和寄存单元16。

输入信号处理单元11,参见图2,根据输入信号Input生成第一清空信号S1、窄脉冲信号S2和控制信号Input_s,并分别将第一清空信号S1和窄脉冲信号S2发送至环形延迟链12,以及将控制信号Input_s发送至控制单元15。

环形延迟链12,包括n个延迟单元对时钟信号Clk进行内插,延迟单元包括第一数据输入端、第二数据输入端和输出端,各个延迟单元的第一数据输入端和输出端依次连接,第一延迟单元的第二数据输入端接收窄脉冲信号S2,第二延迟单元至第n延迟单元的第二数据输入端接收所述第一清空信号S1,在接收到第一清空信号S1时,清空环形延迟链12中的循环信号,此时清空的循环信号是前一次测量细时间后,环形延迟链12中残留的循环信号,即前一次的窄脉冲信号。对接收的窄脉冲信号S2进行循环延迟。环状延迟链中延迟单元的延迟时间长度为tcell,环状延迟链的延迟长度为Tloop=n*tcell,其中n为延迟单元的个数。

计数器14连接环形延迟链12中的第n延迟单元的输出端,记录窄脉冲信号S2在环形延迟链12中循环的次数。窄脉冲信号S2从第一延迟单元的输入端输入,从第n延迟单元的输出端输出的完整过程,即在环形延迟链13中循环一次。窄脉冲信号S2在环形延迟链12中循环一次,计数器14进行一次计数,在时钟信号Clk的触发时刻,通过计数器14就可以得到窄脉冲信号S2在环形延迟链12中已经循环的次数。

触发器组13,由与延迟单元相同数量的触发器组成,并且触发器与延迟单元的输出端一一对应连接,记录窄脉冲信号S2在环形延迟链12中的循环位置。窄脉冲信号S2在环形延迟链中循环时,当传输到某个延迟单元时,会输出高电平给其对应的触发器,因此在时钟信号clk的触发时刻,通过触发器组可以得到窄脉冲信号在环形延迟链12中某个延迟单元的具体位置。

先以环形延迟链整条链的延迟长度为度量单位,通过计数器实现第一级细时间测量;再以环形延迟链内部单元的延迟长度为度量单位,通过触发器组实现第二级细时间测量。该两级测量结构无需编码。这样通过触发器组13和计数器14构建的两级测量结构就可以测量出细时间。控制单元15,接收控制信号Input_s,并在接收控制信号Input_s后发送寄存指令S3至寄存单元16,所述寄存指令S3用于控制寄存单元16在控制信号Input_s发出后的时钟信号clk的触发时刻,即第一个时钟信号Clk上升沿时刻,对计数器14记录的窄脉冲信号S2在环形延迟链13中循环的次数,以及触发器组13记录的窄脉冲信号S2在环形延迟链13中的循环位置,进行寄存。即在所述控制信号Input_s发出后的时钟信号clk的触发时刻,对计数器14和触发器组13的记录结果进行寄存。在寄存后,控制单元产生清空信号,清空计数器14和触发器组13的数据,等待下次测量(示意图未画)。

寄存单元16,接收所述控制单元的寄存指令,并在控制信号Input_s发出后的时钟信号clk的触发时刻,对计数器14和触发器组13的记录结果进行寄存。

本实施例公开的时间数字转换器,将延迟单元首尾相连构成环形延迟链对时钟信号clk进行内插,计数器14和触发器组13分别记录窄脉冲信号S2在环形延迟链中循环的次数和循环位置,通过两者构建两级测量结构得到细时间的测量结果。与开环延迟结构使用大量的延迟单元去覆盖一个工作时钟周期的传统方法相比,延迟单元首尾相连构成环形延迟链的结构,仅需要较少的延迟单元,就可以实现细时间的测量,而且不需要编码,极大地减少了资源的占用和功耗,同时从时钟触发到细时间输出无需额外时钟,实现了无死时间测量。而且可以对不同时钟信号Clk周期进行时间内插,无需重新设计就可以适应大范围的时钟频率,如1MHz~100MHz。因此具有可移植性强的优点。

具体的,输入信号处理单元11,包括延迟子单元和合成子单元。延迟子单元,对输入信号Input进行M级延迟,生成M级的延迟信号,并将其中第M1(2<M1<(M-2))级延迟信号作为控制信号Input_s。合成子单元,选择第一级延迟信号,以及第二级至第M1级之间任意一级延迟信号,生成第一清空信号S1;选择第M级延迟信号,以及M1级至第M级任意一级延迟信号,生成窄脉冲信号S2。通过上述方式生成第一清空信号S1和窄脉冲信号S2,保证第一清空信号S1产生后再生成窄脉冲信号S2。第一清空信号S1,以及窄脉冲信号S2的长度大于延迟单元的两倍延迟长度tcell,并小于或等于环形延迟链12的延迟长度Tloop=n*tcell。。

图3为本实施例公开的一种环形延迟链示意图

参见图3,该环形延迟链12由N个相同的延迟单元首尾相连组成,延迟单元1的第一数据输入端接收窄脉冲信号S2,延迟单元1的第二数据输入端连接延迟单元N的输出端。延迟单元1至延迟单元N-1的输出端,分别连接延迟单元2至延迟单元N的第一数据输入端。延迟单元2至延迟单元N的第二数据输入端接收第一清空信号S1。

本实施例公开的环形延迟链12的延迟单元,可以采用常见的基本电路,如与门和或门的组合、二选一数据选择器或加法器等类似单元。既可在FPGA中,也可在ASIC中实现,较容易实现,通用性强。

图4为本实施例公开的另一种延迟内插型时间数字转换器

参见图4,该时间数字转换器包括输入信号处理单元11、环形延迟链12、触发器组13、计数器14、控制单元15、寄存单元16和循环控制单元17。

循环控制单元17分别连接计数器14和第二延迟单元至第n延迟单元的第二数据输入端,当计数器14的记录次数大于预设阈值时,生成第二清空信号S2,并将第二清空信号S2发送至环形延迟链12,环形延迟链12在接收到第二清空信号S2时,清空环形延迟链12中的循环信号。

循环控制单元17还包括阈值设置子单元,可以设置环形延迟链12中循环信号的循环次数阈值。根据时钟信号Clk的周期设置环形延迟链12中循环信号的循环次数阈值,循环次数阈值与环形延迟链延迟长度Tloop=n*tcell的乘积大于时钟信号Clk的一个周期。当计数器14的记录次数大于循环次数阈值时,循环控制单元17生成第二清空信号S5,并将第二清空信号S5发送至环形延迟链12,环形延迟链12在接收到所述第二清空信号S5时,清空环形延迟链S5中的循环信号。延迟单元2至延迟单元N的第二数据输入端不但接收第一清空信号S1,还可以接受第二清空信号S5。

本实施例公开的时间数字转换器,通过循环控制单元17设置循环次数阈值,根据不同的时钟周期可以很方便地改变窄脉冲信号S2在环形延迟链12中的循环次数。细时间结果记录后,当达到阈值时产生第二清空信号S5,避免窄脉冲信号S2在环形延迟链12中的长时间的无用循环,进一步降低功耗。

图5为本实施例公开的另一种延迟内插型时间数字转换器

参见图5,该时间数字转换器,包括:输入信号处理单元11、环形延迟链12、触发器组13、计数器14、控制单元15、寄存单元16、粗时间测量模块21和存储器31。

粗时间测量模块21,对时钟信号Clk进行计数,在接收到控制单元15的测量指令S6时寄存计数结果。对时钟信号Clk进行计数可以通过技术器完成,粗时间测量为比较成熟的技术,不再做过多介绍。

存储器31,接收控制单元15的存储指令S7,分别获取并存储寄存单元16和粗时间测量模块21的寄存信息。

本实施例公开的时间数字转换器,将延迟单元构成环形延迟链对时钟信号Clk进行内插实现细时间测量,极大地降低了资源消耗量,结合粗时间测量模块进行粗时间测量,实现动态范围大、高精度的时间测量。

下面对采用环形延迟链的时间数字转换器的时间测量方法进行介绍。待测时间间隔可以由两个脉冲start信号和stop信号之间的前沿间隔表示:

t=tstop-tstart

其中,t是待测的时间间隔,tstop表示stop信号的前沿时刻,tstart表示start信号的前沿时刻。通过该环形时间数字转换器测量信号的前沿时刻,测量的结果可以表示为:

t时刻=t粗+t细

=t粗+(t细_stage1+t细_stage2)

=N1*Tclk+(N2*Tloop+N3*tcell)

=N1*Tclk+(N2*n*tcell+N3*tcell)

=N1*Tclk+(N2*n+N3)*tcell

式中,N1为粗时间测量的计数结果,Tclk表示时钟周期,N1*Tclk也即粗时间的测量;N2为根据计数器得到的计数结果(第一级细测量),N3为根据触发器组得到的结果(第二级细测量),n表示组成一个环状延迟链所用的延迟单元的数目,tcell表示环状延迟链中延迟单元的延迟时间长度,Tloop=n*tcell表示环状延迟链的延迟时间长度,细时间测量,也即(N2*n+N3)*tcell。

通过一路该时间数字转换器对start信号的前沿测量的结果可表示为:

tstart=N1_start*Tclk+(N2_start*n+N3_start)*tcell

其中,N1_start是粗时间测量的计数结果,N2_start是根据计数器得到的计数结果,N3_start为根据触发器组得到的测量结果。

类似地,通过另一路该时间数字转换器对stop信号的前沿测量的结果可表示为:

tstop=N1_stop*Tclk+(N2_stop*n+N3_stop)*tcell

其中,N1_stop是粗时间测量的计数结果,N2_stop是根据计数器得到的计数结果,N3_stop为根据触发器组得到的测量结果。

进而,根据这两路的测量结果得到所述待测的时间间隔可以表达式为:

t=tstop-tstart

=(N1_stop-N1_start)*Tclk+((N2_stop-N2_start)*n+(N3_stop-N3_start))*tcell

最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1