一种基于抽头动态可调进位链细时间内插延时线的TDC电路的制作方法

文档序号:19633086发布日期:2020-01-07 11:42阅读:607来源:国知局
一种基于抽头动态可调进位链细时间内插延时线的TDC电路的制作方法

本发明属于时间量的数字化测量技术领域,特别是一种基于抽头动态可调进位链细时间内插延时线的tdc电路。



背景技术:

数字时间转换器(tdc)是以高精度时间测量为基础的诸多科学和工程系统的核心部件。tdc系统一般有两个平台:应用专用集成电路(asic)和可编程门阵列(fpga)。但是asic的开发周期长、成本高,不适合应用在小产量和需要经常性系统改动的场合。而fpga技术由于其可重构特性,降低了硬件开发的难度并提高了产品面向市场的速度,可以显著节约研发成本。而基于fpga的tdc由于fpga的可重复性,能够快速地满足新的系统需求,大大降低了成本。

其中细时间内插延时线是tdc中核心部分。传统意义上,基于可编程门阵列(fpga)的tdc是通过在抽头式延时线(tdl)中利用进位链来构造的,虽然能够获得较高的分辨率,但微分非线性(dnl)误差在2lsbs至4lsbs的范围内,误差较大。此外,它使用的进位链长度固定,且需要相当高的资源,不利于多通道tdc。



技术实现要素:

本发明所解决的技术问题在于提供一种基于抽头动态可调进位链细时间内插延时线的tdc电路,利用抽头动态可调进位链结构来实现的一种细时间内插延时线。

实现本发明目的的技术解决方案为:一种基于抽头动态可调进位链细时间内插延时线的tdc电路,包括时间抽取单元、粗计数单元、细计数单元、时间戳组合单元、usb通信接口和信息解析模块;

所述时间抽取单元、细计数单元、时间戳组合单元、usb通信接口、信息解析模块依次相连,所述信息解析模块与细计数单元相连,所述粗计数单元与时间戳组合单元相连;

所述时间抽取单元,用于寻找和搜索出现于被测信号后且距离被测信号最近的粗时钟信号,并将分别经过不同延迟的被测信号和粗计数时钟信号馈入到细计数单元;

所述细计数单元,用于测量被测信号和粗计数时钟信号之间的时间间隔,产生时间戳结果中的细计数部分;

所述粗计数单元,用于产生时间戳结果中的粗计数部分;

所述时间戳组合单元,用于输出完整的时间戳结果;

所述usb通信接口,用于接收时间戳组合单元产生的时间戳结果,并输出命令字信息至信息解析模块;

所述信息解析模块,用于产生信道切换信息并将信道切换信息输入至细计数单元。

进一步地,所述细计数单元包括第一延时线、第二延时线、鉴相器、细计数器和四个脉冲整形模块;

所述第一延时线的输入端连接一个脉冲整形模块;第一延时线的输出端与鉴相器的数据端口相连,并通过一个脉冲整形模块与细计数器的时钟端口、2选1的mux相连,2选1的mux通过或门与第一延时线的输入端相连从而形成第一振荡环形进位链;鉴相器的输出端口与细计数器的使能端口相连;

所述第二延时线的输入端连接一个脉冲整形模块;第二延时线的输出端与鉴相器的时钟端口相连,并通过一个脉冲整形模块、一个2选1的mux、或门与第二延时线的输入端相连形成第二振荡环形进位链。

进一步地,所述第一延时线,用于传递领先信号,所述领先信号为被测信号;

所述第二延时线,用于传递落后信号,所述落后信号为粗计数时钟信号;

所述鉴相器,用于判断领先信号与落后信号的相对时间关系,并控制细计数器的使能端口;

所述细计数器,用于输出时间戳结果中的细计数部分;

所述脉冲整形模块,用于控制振荡环形进位链中传播信号的高电平持续时间,使细计数测量范围能够覆盖粗计数时钟周期。

进一步地,所述第一延时线包括n1个延时单元和具有n1个输入端口的第一多路复用器,其中工作的延时单元的个数根据信息解析模块输送的sel1值确定;第i个延时单元输出端与第一多路复用器的第i个输入端相连,并与第i+1个延时单元输入端相连,其中1≤i≤n1-1;

所述第二延时线包括n2个延时单元和n2个输入的第二多路复用器,其中工作的延时单元的个数根据信息解析模块输送的sel2值确定;第j个延时单元输出端与第二多路复用器的第j个输入端相连,并与第j+1个延时单元输入端相连,其中1≤j≤n2-1。

本发明与现有技术相比,显著优点为:1)本发明tdc电路中的细时间内插延时线的进位链长度可以动态调整,实现不同的延时效果;2)本发明tdc电路不需要太多的资源,成本低;3)本发明tdc电路拥有较好的积分非线性和微分非线性,微分非线性和低积分非线性被抑制到小于1lsb。

下面结合附图对本发明作进一步详细描述。

附图说明

图1为本发明基于抽头动态可调进位链细时间内插延时线的tdc电路的整体架构示意图。

图2为本发明基于抽头动态可调进位链细时间内插延时线的tdc电路中的细计数单元架构示意图。

图3为本发明实施例中振荡周期与sel值的关系图。

图4为本发明实施例中两个振荡信号的实际波形示意图。

图5为本发明实施例中tdc信道1的微分非线性(dnl)曲线图。

图6为本发明实施例中tdc信道1的积分非线性(inl)曲线图。

图7为本发明实施例中tdc信道2的微分非线性(dnl)曲线图。

图8为本发明实施例中tdc信道2的积分非线性(inl)曲线图。

图9为本发明实施例中改变被测信号的时间延时时的tdc的传递曲线图。

图10为本发明实施例中时间延时在2469ps处的测量结果精度直方图。

图11为本发明实施例中时间延时在23475ps处的测量结果精度直方图。

具体实施方式

结合图1,本发明基于抽头动态可调进位链细时间内插延时线的tdc电路,包括时间抽取单元、粗计数单元、细计数单元、时间戳组合单元、usb通信接口和信息解析模块。

时间抽取单元、细计数单元、时间戳组合单元、usb通信接口、信息解析模块依次相连,信息解析模块与细计数单元相连,粗计数单元与时间戳组合单元相连。

时间抽取单元,用于寻找和搜索出现于被测信号后且距离被测信号最近的粗时钟信号,并将分别经过不同延迟的被测信号和粗计数时钟信号馈入到细计数单元;

细计数单元,用于测量被测信号和粗计数时钟信号之间的时间间隔,产生时间戳结果中的细计数部分。细计数单元由两个环形进位链构成的环形振荡器组成。通过将最后一个延时单元连接到第一个延时单元,形成环形进位链。通过分配不同数量的延时单元,两个环形振荡器的振荡周期差别很小,而环形振荡器的振荡周期决定了分辨率。细计数单元的工作原理是基于vernier模式,将超前的被测信号馈送到第一环形振荡器、延时时钟信号馈送到第二环形振荡器。利用d型触发器识别滞后信号超过超前信号的时刻,并用计数器记录超越时刻的振荡数。最后,根据计数器值,得到高分辨率的时间戳。

粗计数单元,用于产生时间戳结果中的粗计数部分,其是使用粗计数器记录时钟周期t的数目。

时间戳组合单元,用于输出完整的时间戳结果。

usb通信接口,用于接收时间戳组合单元产生的时间戳结果,并输出命令字信息至信息解析模块。

信息解析模块,用于产生信道切换信息并将信道切换信息输入至细计数单元。该信道切换信息由pc机动态编程和发送。信息解析模块根据信道切换信息控制细计数单元中使用的延时单元的数量,实现进位链结构的动态可调。

结合图2,细计数单元包括第一延时线、第二延时线、鉴相器、细计数器和四个脉冲整形模块;

第一延时线的输入端连接一个脉冲整形模块;第一延时线的输出端与鉴相器的数据端口相连,并通过一个脉冲整形模块与细计数器的时钟端口、2选1的mux相连,2选1的mux通过或门与第一延时线的输入端相连从而形成第一振荡环形进位链;鉴相器的输出端口与细计数器的使能端口相连;

第二延时线的输入端连接一个脉冲整形模块;第二延时线的输出端与鉴相器的时钟端口相连,并通过一个脉冲整形模块、一个2选1的mux、或门与第二延时线的输入端相连形成第二振荡环形进位链。

第一延时线,用于传递领先信号,领先信号为被测信号。

第二延时线,用于传递落后信号,落后信号为粗计数时钟信号。

鉴相器,用于判断领先信号与落后信号的相对时间关系,并控制细计数器的使能端口。

细计数器,用于输出时间戳结果中的细计数部分。

脉冲整形模块,用于控制振荡环形进位链中传播信号的高电平持续时间,使细计数测量范围能够覆盖粗计数时钟周期。

第一延时线包括n1个延时单元和具有n1个输入端口的第一多路复用器,其中工作的延时单元的个数根据信息解析模块输送的sel1值确定;第i个延时单元输出端与第一多路复用器的第i个输入端相连,并与第i+1个延时单元输入端相连,其中1≤i≤n1-1;

第二延时线包括n2个延时单元和n2个输入的第二多路复用器,其中工作的延时单元的个数根据信息解析模块输送的sel2值确定;第j个延时单元输出端与第二多路复用器的第j个输入端相连,并与第j+1个延时单元输入端相连,其中1≤j≤n2-1。

n个输入多路复用器分别对应进位链的n个延时单元,第p个延时单元的输出连接到多路复用器的第p个输入端。同一时间,根据由信息解析模块设置的sel的信道选择值,只有一个连接是有效的。因此,该电路具有n种不同的进位链环,可以通过pc机程序进行动态切换和控制。

当多路复用器切换到下一个信道时,进位链中的延时单元的数目仅增加一个。因此,随着sel的逐渐增大,所获得的振荡周期变化将非常大。这种结果的获得是基于假设进位链延时元的延时值很小和假设进位链和多路复用器之间的线路对于每个延时单元是相同的基础上的。然而,实际上不是这样。实际构建的环形进位链振荡周期与sel值的关系曲线如图3所示,进位链的长度为32。可以看出,随着sel值的增加,振荡周期保持相应增加的趋势,保持在从6.4ns到7.4ns的宽跨度范围中。然而,有许多局部的“异常”情况,具有较大sel值的环形进位链与之前相比具有较短的振荡周期,例如图3中的sel值为8。这是因为在不同的sel值下,进位链和多路复用器之间线路的实际延时量并不相同。每个环形进位链的振荡周期tcyc可以表示为:

tcyc=τ1+τ2+τconst

其中,τ1为实际使用的进位链的总延时,其随sel值的增加而明显增加,而τconst为由环形进位链的剩余电路部分所引起的延时,它是恒定的。τ2的存在使得tcyc发生不可预知的改变,尽管tcyc随着sel值的增加而保持增长趋势。

现在构造vernier型tdc就需要找到提供给两个环形进位链的适当的seli(i=1,2)值,使它们的振荡周期具有较小的差异。完成这一任务有一个重要前提:保证两个环形进位链的τconst的值,即τconst,1和τconst,2,没有很大差异。若|τconst,1-τconst,2|超过τ1的最大可调范围,则会导致设计失败。根据设计经验,对于长度为32的进位链,τ1的可调范围约为几百皮秒至约1纳秒,因此,|τconst,1-τconst,2|建议保持小于1纳秒。因此提出了一个两步的设计方案来满足这一要求,其目的是保证两个环形进位链具有相同的电路结构,使得τconst,1和τconst,2的值仅由于它们在fpga上不同的实际位置而略有不同。第一步是在一个独立的设计项目中建立环形进位链,编译项目并将环形进位链的拟合结果作为ip模块导出。第二步是在标准的tdc设计项目中,通过导入ip模块来实例化环形进位链,避免其自身重新编译过程,以保证相同的电路结构。

在两个长度分别为n1、n2的进位链中,可能的组合元素(sel1,sel2)的数目n1×n2,本发明将整个组合集称为设计空间。对应每个(sel1,sel2),可以计算分辨率:tcyc1-tcyc2,其中tcyc1表示第一环形进位链的振荡周期,tcyc2代表第二环形进位链的振荡周期。通过独立地从1到n1、1到n2分别枚举sel1和sel2,并记录相应的tcyc1和tcyc2,就能覆盖整个设计空间,并且只需要n1+n2次操作。通过在多路复用器的输出端接收到的振荡信号,利用外部示波器获得tcyc1和tcyc2,如图4所示。如果设计空间足够大,总是会有一些合适的(sel1,sel2)组合来得到tdc的目标分辨率。

实施例

本发明所提出的tdc电路是在英特尔公司的stratixiiifpga上实现的。电路模块采用verilog语言编写,并利用quartus13.1自动整合。粗计数器的时钟频率设置为600mhz,并且给出t=1667ps。每个环形进位链的延时单元的数目被设置为n=32,并且给出了设计空间的尺寸为32×32=1024。pc程序将组合元素(sel1,sel2)发送到tdc,以搜索整个设计空间。通过记录相应的tcyc1和tcyc2,可以确定动态配置tdc的分辨率,从而选择出合适的分辨率。参数tcyc1和tcyc2是利用外接的tektronix示波器(dpo3032)来估计的。沿两个环状进位链中振荡信号的示例波形如图4所示,根据图4估计获得tdc的分辨率为tcyc1-tcyc2=6919-6902=17ps。

接下来进行效果评估。建立两个tdc信道来测量一个时间间隔,每个tdc信道包含两个环形进位链,因此在设计中总共有四个环形进位链。编译结果表明,每个tdc信道的资源成本仅为493个查找表(luts)和86个寄存器。这个拥有总共85200个查找表和寄存器的中间端fpga资源成本百分比大概为0.5%,,所以在一个单一的fpga上可以支持超过一百个这样的tdc信道,这对于高密度的信道应用系统来说是非常有利的。

此次效果评估采用代码密度测试方法。在200.1khz的重复频率下利用函数发生器afg3251产生两个与tdc时钟信号不相关的被测信号,并送入两个tdc信道。所有测试均在标准电源电压1.1v和环境温度20℃下进行。测试得到的tdc信道1的dnl和inl曲线分别如图5、6所示,tdc通道2的dnl和inl曲线分别如图7、8所示。较大的dnl(tdc信道1)位于(-0.36lsb,0.52lsb)的范围内,较大的inl(tdc信道1)位于(-0.23lsb,0.71lsb)的范围内,这两者都比基于tdl的tdc小。由于tdc信道1(2)的振荡数范围为10到76(16到80),因此能计算出相应的分辨率:

两个被测信号之间的时间延时从1ns到22ns进行编译,以3ns为间隔。tdc的传递曲线如图9所示。通过tdc信道2的时间戳减去tdc信道1时间戳,可以计算延时值。该曲线显示出很好的线性度,其斜率非常接近1,并且偏移是由fpga上的被测信号到达其相应的tdc信道的不平衡的延时路径引起的。计算出每个时间延时的有效值精度,其结果大约为34~36ps。在延时为2469ps和23475ps处的测量结果直方图分别如图10、11所示。

计算出tdc电路的死区时间为:tcyc*ncyc,其中,根据图4,tcyc约为7纳秒,根据图6,表示的最大振荡数的ncyc为80。则死区时间为7×80=560ns。

本发明提出的tdc电路架构开辟了一种利用fpga上的进位链能力为高性能tdc应用服务的新途径。除了具有高分辨率、低dnl、inl和资源成本等优点外,还可以通过软件自动实现,还可以通过pc程序在没有人工干预或重新编译的情况下实现分辨率调整。本发明tdc电路可以在现代基于时间测量的应用中发挥重要作用。

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