1.本发明属于时间测量技术领域,尤其涉及一种资源节约型短链结构时间数字转换器及其转换方法。
背景技术:
2.目前,时间数字转换器(time to digital converter,tdc)作为一种具有皮秒级精度的时间测量工具,被广泛应用于各种领域,包括生物医学、通讯工程等。简单的tdc可以通过直接统计高频时钟的变化数量来实现,然后这种方式受限于时钟频率,通常在纳秒级。
3.现有tdc依据实现方式可以分为基于模拟方案的tdc和基于数字方案的tdc。基于模拟方案的tdc包括时间-幅值转换或时间拉伸。这些方法一方面在实现上引入了模拟量,而模拟量容易受到噪声的干扰,导致测试结果容易受到噪声干扰;另一方面,这些方法单次测量时间往往高于待测时间间隔,即较长的转换时间,从而导致过长的死时间,进而无法进行高频次测量。因此,尽管基于模拟方案的tdc可以实现较好的非线性性能,甚至亚皮秒级的时间分辨率,但它们并不常见。相反,基于数字方案的tdc更加流行,因为它们可以更快地部署和迭代(在fpga上),具有更加紧凑的硬件结构,灵活性好,更能忍受噪声干扰。
4.第一个数字j9九游会真人的解决方案是插值方案,即nutt方法,其基本思想是利用多个延迟单元(在fpga中通常为进位模块)对系统时钟进行内插。在nutt方法中,待测时间被分为“粗”时间和“细”时间两个部分,“粗”时间直接利用高频系统时钟获得,即统计待测时间间隔内系统时钟的变化数量;“细”时间是将一系列延迟单元串联在一起,形成一条长链(也称为抽头延迟线,tapped delay line,tdl),内插在系统时钟之间,通过统计链中延迟单元被触发的数量来得到。“细”时间的测量可以通过码密度测试得到tdl链中每个延迟单元所能造成的延迟时间,而这些单元的触发数量可以直接通过测量获取,因此“细”时间的值可以得到。结合“粗”时间和“细”时间可直接计算出最终的时间间隔。
5.该方法的前提是要求tdl链上每一个延迟单元具有相同的延迟时间,而这也决定了测量的时间分辨率。然而,这些延迟单元的特性容易受到器件固有缺陷、电压和温度动态变化等的影响,导致了严重的非线性问题。此外,每一个延迟单元的固有延时由其制造工艺决定,不能被修改,因此,一旦确定了硬件平台,tdc的时间分辨率就确定了。为了解决这些问题,已经提出了众多方法,主要可以分为多链平均拓扑、游标方法、bin-to-bin校准以及waveunion架构。
6.尽管上述方法能够提高tdc某些方面的性能,但它们往往需要有所牺牲,进而导致其它问题。例如多链平均拓扑结构会占用更多的资源。游标方法虽然可以极大地缓解设备本身存在的非线性缺陷,提高时间分辨率,甚至超过延迟单元固有的时间延迟,但其本身需要更多的逻辑资源和更长的转换率,导致更长的死时间。bin-to-bin校准方法只能缓解延迟单元的非线性问题,而且其扩展性较差,当改变通道位置或者更换硬件平台时,都需要进行重新处理,降低了鲁棒性。waveunion方法虽然节约资源,但是需要复杂的环形振荡器设计,其性能取决于延迟单元之间的不均匀性。然而,随着半导体制造工艺的提升,这种不均
匀性时下已经不严重了。
7.使用应用专用集成电路(application-specific integrated circuit,asic)的tdc设计可以显著地解决上述问题,获取较好的tdc性能,但它们一方面要求较长的设计周期和较高的制造成本,导致技术迭代慢,从而极大的限制了发展速度;另一方面,它们不能重复使用,导致灵活性较差。因此,只有经验和资源丰富的团体才有实力选择基于asic的j9九游会真人的解决方案。这种现象在某种程度上可能会抑制创新的步伐,因此许多tdc的设计往往先使用fpga进行验证,再采用asic进行批量流片。
8.传统的tdc通常将延迟单元以一条直线的方式串在一起。如以fpga为平台实现的tdc为例,基于fpga的tdc是通过fpga的进位单位作为延时单位串成一串。为了保证tdc链上的资源能够完整的对系统时钟进行“内插”,要求整条延迟链产生的固有延迟大于计数器的时钟周期,这一必要条件往往称为时钟条件。而整个延迟链产生的延迟由每一个延时单元的固有延迟以及总的延迟单元的数量决定,因此在计数器时钟固定的情况下,当延时单元的固有延时很小时,就需要大量的延迟单元,也就会导致传统的单链tdc在fpga上串得很长,这也就会带来以下技术问题:
9.(1)线性度差。理想的tdc为了保证高线性度,要求每一个延时单元之间的传递延时都要相同。然而,实际中只有在同一个资源块内的延迟单元能保证良好的一致性;在不同的资源块间的延迟单元由于布线资源的差异性较大,导致固有延时差异较大,从而产生了严重的非线性问题。
10.(2)误差大。当tdc链长过长,会加重“气泡”的问题,即当一个信号经过一条链时,理论上其经历过的所有延迟单元都会被触发,即输出应该全为“1”(或相反“0”),然而当链长较长时,全为“1”的触发段中可能会存在许多“0”。这将严重干扰tdc的测量结果。
11.(3)鲁棒性差。延迟单元的固有延迟时间受温度的影响变化较大,当温度变化较大时,不仅会影响链中延迟单元的线性度,且会使其固有延迟整体发生偏移,给测量带来误差。
12.通过上述分析,现有技术存在的问题及缺陷为:
13.(1)现有基于模拟方案的tdc在实现上引入模拟量,而模拟量容易受到噪声的干扰,导致测试结果容易受到噪声干扰;单次测量时间往往高于待测时间间隔,较长的转换时间导致过长的死时间,进而无法进行高频次测量。
14.(2)现有nutt方法的延迟单元的特性容易受到器件固有缺陷、电压和温度动态变化等影响,导致严重的非线性问题;每一个延迟单元的固有延时由制造工艺决定不能被修改,确定硬件平台后tdc的时间分辨率随之确定。
15.(3)现有游标方法本身需要更多的逻辑资源和更长转换率,导致更长的死时间;bin-to-bin校准方法扩展性较差,当改变通道位置或更换硬件平台时需要进行重新处理,降低鲁棒性;waveunion方法需要复杂的环形振荡器设计。
16.(4)现有的使用应用专用集成电路的tdc设计方法要求较长的设计周期和较高的制造成本,导致技术迭代慢,限制发展速度;且不能重复使用,导致灵活性较差;而传统的tdc存在线性度差、误差大以及鲁棒性差的问题。
技术实现要素:
17.针对现有技术存在的问题,本发明提供了一种资源节约型短链结构时间数字转换器及其转换方法。
18.本发明是这样实现的,一种资源节约型短链结构时间数字转换方法,资源节约型短链结构时间数字转换方法包括:利用延迟单元与转换电路搭建本地振荡器,将输入信号在持续的高电平时间内每隔固定的时间间隔对输出状态进行翻转;通过记录本地振荡器的翻转次数得到起始时刻与最后一次翻转时的时间。
19.进一步,本地振荡器造成电平产生翻转的时间已知。本地振荡器指在延迟链上可以看到信号电平在测量期间进行有规律的翻转。每次电平发生翻转的时间由(非延迟链上的)延迟单元的时间差来决定。当信号的起始到达延迟链上后,(非延迟链上的)延迟单元与转换电路会在每隔一定的时间(具体为延迟单元的延迟时间差)将延迟链上的电平信号进行翻转,使得延迟单元与转换电路的作用看起来就像是一个本地振荡器。其中,本地振荡器的振荡时间或周期可以自由配置,并非一定需要是周期性的。
20.进一步,利用tdl tdc获取最后一次翻转的时间。在延迟链上观测信号的结束时间与振荡器最后一次翻转的时间。在延迟链上观测到的信号的起始,到信号最后一次翻转的时间由配置过程决定,这一时间已知。而最后一次翻时刻到信号结束时间不确定,可以通过延迟链上的触发状态,即有多少个延迟单元被触发来测量得到。这样,通过两级测量,就能得到总的细时间分量。
21.进一步,在实际的实现过程中,本地振荡器产生最多不止两次翻转,具体翻转的次数依据时钟条件以及延迟链测量范围确定。
22.进一步,资源节约型短链结构时间数字转换方法还包括:
23.由第一延迟单元、第二延迟单元以及转换电路构成本地振荡器,利用本地振荡器结合tdl tdc对待测信号进行时间间隔测量;其中,本地振荡器中的延迟单元通过软件自由配置,优选为xilinx fpga中的idelay资源;延迟链中的延迟单元具有固定延时,优选为xilinx fpga中的carry4/8资源。
24.进一步,资源节约型短链结构时间数字转换方法还包括:
25.tdl tdc延迟链的输入为转换电路的输出波形,测量范围mτ满足条件mτ》δt
2-δt1以及时钟条件mτ》t
clk
δt
1-δt2;其中,m为延迟链中延迟单元的数量,τ为延迟单元的固有延时,t
clk
为系统的“粗”时钟周期。
26.当时间间隔为δt的信号输入时,起始时间ts=δti ms*τ ns*t
clk
,结束时间te=δtj me*τ ne*t
clk
;其中,i、j表示本地振荡器输出信号在输入信号上升沿和下降沿的翻转次数,ms和me表示延迟链上被触发单元的个数,ns和ne表示系数时钟的整数值,则δt=t
e-ts=(n
e-ns)*t
clk
(δt
j-δti) (m
e-ms)*τ。
27.本发明的另一目的在于提供一种应用所述的资源节约型短链结构时间数字转换方法的资源节约型短链结构时间数字转换器,资源节约型短链结构时间数字转换器包括第一延迟单元、第二延迟单元以及转换电路;其中,第一延迟单元和第二延迟单元的延迟时间分别为δt1、δt2,且δt2》δt1;信号经过第一延迟单元和第二延迟单元后转换成两路延迟信号并直接输入转换电路,转换为一路信号。
28.本发明的另一目的在于提供一种计算机设备,计算机设备包括存储器和处理器,
存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的资源节约型短链结构时间数字转换方法的步骤。
29.本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行所述的资源节约型短链结构时间数字转换方法的步骤。
30.本发明的另一目的在于提供一种信息数据处理终端,信息数据处理终端用于实现所述的资源节约型短链结构时间数字转换器。
31.结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
32.第一,针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
33.1.线性度好。本发明提出的时间数字转换方法利用延迟单元与转换电路搭建本地振荡器,将系统时钟周期进一步细分,从而将tdl tdc中延迟链的测量范围缩小,在保证延迟单元固有延时不变的条件下,降低了tdl tdc中延迟链所需延迟单元的数量,从而实现了将所有延迟单元都放在一个逻辑块中,完全避免了由于跨多个资源块所引入的线长不一致而导致的非线性问题。
34.2.结构简单灵活,资源消耗低、利用率高。本发明提出的资源节约型短链结构时间数字转换方法结构简单灵活,只需要固定的延迟单元结合少量的基本逻辑门资源搭建本地振荡器就可以将系统时钟周期进行细分,然后利用由少量延迟单元搭建的短延迟链便可以进一步测量,降低了资源消耗。同时,由于采用了短延时链,布局上可以更加紧凑,进而减少由于布局导致的资源浪费,从而提高了资源利用率。相反,将长链资源布局在有限的空间中时,未被利用的部分可能无法再次布下一条链,导致资源浪费。这与计算机系统中的内存分配相似,长链等价于大块地址连续的空闲区,而短链则等价于不同空间的小片段内存。大块地址连续的内存是众所周知的稀缺资源,非常有限;而小块的空闲区内存则较多,成功利用这些内存必然能够提高资源利用率。
35.3.鲁棒性好,可以直接在不同通道甚至器件之间移植,可以在线更正温度引起的漂移。器件在生产制作时,邻近位置的资源具有更好的相似度,即更好的一致性,这一性质不会随着通道改变或者器件改变而变化。由此,本发明基于相邻位置资源搭建的tdc,其每个延迟单元的时间延迟一致性也更好,当该tdc被移植到其它通道甚至其它器件中时,这些一致性仍然保留,因而本发明提出的tdc的鲁棒性更好。另外,本发明中采用了可自由配置延迟时间的逻辑资源,如xilinx fpga中的idelay单元,它们通常对温度不敏感,利用这些资源搭建的本地振荡器,可以产生翻转时间间隔随温度不变的电平信号,配合延迟链可以测量出翻转时间间隔内,延迟链上被触发的单元数量在不同温度下的变化,这样就可以求出不同温度条件下,单个延迟单元的固有延迟时间,进而补偿由于温度变化带来的漂移。
36.第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
37.(1)技术效果:衡量tdc性能好坏的标准之一为dnl与inl,值越小,表明其线性度越好,性能越优,通常合格的tdc的dnl与inl都应小于1lsb。通过本发明的tdc的码密度测试结
果可知,在没有采用任何校准方法下,其inl与dnl均低于0.6lsb,性能优异。
38.(2)优点:tdc在应用时需要能够对时间作出准确测量,而准确性主要依赖于自身的最小分辨率以及线性度,而本发明具备的技术效果,导致该技术在应用时可以显著提高测量准确性。
39.第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
40.(1)本发明的技术方案填补了国内外业内技术空白:传统的tdc线性度差、鲁棒性差、结构复杂、资源利用率低。为了解决线性度以及时间分辨率的问题,要么需要引入更多的资源,使得资源消耗更高,结构更加复杂;要么需要花费大量的工作进行校准,使得鲁棒性极差。尽管性能上有提升,但也付出了极大代价,难以得到广泛应用,尤其是在多通道的场景下,很难推广,而本发明提供的资源节约型短链结构时间数字转换器则填补了该项技术的空白。
41.(2)本发明的技术方案解决了人们一直渴望解决、但始终未能获得成功的技术难题:当前基于数字电路的tdc具有严重的非线性问题,通常的j9九游会真人的解决方案需要消耗过多资源成本或时间成本,而本发明的tdc结构利用极少的资源,无需校准(即不需要额外的时间成本与计算成本),即可完美解决非线性问题。
附图说明
42.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
43.图1是本发明实施例提供的资源节约型短链结构时间数字转换方法流程图;
44.图2是本发明实施例提供的资源节约型短链结构时间数字转换方法原理图;
45.图3是本发明实施例提供的“细”时间测量部分原理图;
46.图4a是本发明实施例提供的tdc在码密度测试中的实验效果图;
47.图4b是本发明实施例提供的tdc在dnl中的实验效果图;
48.图4c是本发明实施例提供的tdc在inl中的实验效果图。
具体实施方式
49.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
50.针对现有技术存在的问题,本发明提供了一种资源节约型短链结构时间数字转换器及其转换方法,下面结合附图对本发明作详细的描述。
51.如图1所示,本发明实施例提供的资源节约型短链结构时间数字转换方法包括以下步骤:
52.s101,利用延迟单元与转换电路搭建本地振荡器,将输入信号在持续的高电平时间内每隔固定的时间间隔对输出状态进行翻转;
53.s102,利用tdl tdc获取最后一次翻转的时间;
54.s103,本地振荡器造成电平产生翻转的时间已知,通过记录本地振荡器的翻转次数得到起始时刻与最后一次翻转时的时间。
55.本发明的资源节约型短链结构时间数字转换方法的核心思想是利用延迟单元与转换电路搭建本地振荡器,将输入信号在其持续的高电平时间内每隔固定的时间间隔对其输出状态进行翻转,由于本地振荡器造成电平产生翻转的时间已知,通过记录本地振荡器的翻转次数即可得到起始时刻与最后一次翻转时的时间。而最后一次翻转的时间则利用tdl tdc获取。由于本地振荡器产生的电平翻转将系统“粗”时钟进行分割,导致tdl tdc所需的“细”时间测量范围变小,即tdc延迟链所需的测量范围更小,在延迟链的延迟单元延时大小不变的情况下,所需的延迟单元数量更少,消耗的资源更低。这里以本地振荡器产生最多两次翻转为例,在实际的实现过程中,可能会需要本地振荡器产生最多不止两次翻转,具体翻转的次数依据时钟条件以及延迟链测量范围来确定。
56.图2为本发明实施例提供的利用本地振荡器结合tdl tdc对待测信号进行时间间隔测量的基本原理图。图中第一延迟单元、第二延迟单元以及转换电路构成本地振荡器,其中第一延迟单元和第二延迟单元的延迟时间分别为δt1、δt2,要求δt2》δt1。信号经过第一延迟单元和第二延迟单元之后转换成两路延迟信号,然后直接输入转换电路,转换为一路信号,输出波形如图中绿线所示。注意这里面的延迟单元与tdc延迟链中的延迟单元是两个不同的逻辑资源。此处的延迟单元是可以通过软件自由配置,如xilinx fpga中的idelay资源;延迟链中的延迟单元具有固定延时,如xilinx fpga中的carry4/8资源。
57.tdl tdc延迟链的输入为转换电路的输出波形,其测量范围mτ应当满足条件mτ》δt
2-δt1以及时钟条件mτ》t
clk
δt
1-δt2,其中m为延迟链中延迟单元的数量,τ为延迟单元的固有延时,t
clk
为系统的“粗”时钟周期。
58.当时间间隔为δt的信号输入时,其起始时间ts=δti ms*τ ns*t
clk
,结束时间te=δtj me*τ ne*t
clk
,其中i,j表示本地振荡器输出信号在输入信号上升沿和下降沿的翻转次数,ms和me表示延迟链上被触发单元的个数,ns和ne表示系数时钟的整数值,所以δt=t
e-ts=(n
e-ns)*t
clk
(δt
j-δti) (m
e-ms)*τ。
59.本发明实施例提供的资源节约型短链结构时间数字转换器包括第一延迟单元、第二延迟单元以及转换电路;其中,第一延迟单元和第二延迟单元的延迟时间分别为δt1、δt2,且δt2》δt1;信号经过第一延迟单元和第二延迟单元后转换成两路延迟信号并直接输入转换电路,转换为一路信号。
60.本发明可以应用于生物医学、通讯工程、核物理等众多领域。其中,正电子发射断层成像(positron emission tomography,pet)作为生物医学领域中尖端成像技术之一,可以无创的实现对癌症的早期诊断,从而对患者及时展开治疗,提高患者的存活几率,而pet探测器对高能粒子的飞行时间测量和沉积能量计算的准确性是决定pet空间分辨率的关键因素,当前采用的主要测量手段是利用tdc,本发明具有的高线性度性能可以有效提高测量结果的准确性;此外,当前的pet探测器具有几十个信号读出通道,这也就导致后端需要几十路tdc,而对于一些特殊方法,甚至需要上百路tdc,本发明具有的低资源消耗性能以及高鲁棒性可以大大减小多通道集成的复杂度。在通讯工程中,激光雷达等对时间精度要求较高的产品大多采用tdc进行测量,本发明具有的高线性度可以使其测量结果更加准确。在核物理中,如粒子探测等,都需要高精度的tdc进行测量,采用本发明可以大大提高测量的准
确性。
61.本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
62.以xilinx ultrascale fpga为例描述本发明的具体实现过程。本发明提供的tdc其测量原理本质上与tdl tdc相同,即通过系统时钟测量“粗”时间,通过延迟链资源测量“细”时间,本发明的创新性在于对“细”时间的测量结构进行了创造性的更新,因此这里只讲“细”时间的测量实现过程。
63.如图3所示为系统实现的原理图。整个系统包含信号延时单元、转换电路、延时链三个部分,信号延时单元内包含了3个idelay单元和3个d触发器;转换电路包含有6个基本逻辑门;延时链为30个carry8组成的短链。其中idelay延迟时间与短链的测量范围已标记在图中,由于每个carry8只有约30ps的延迟时间,因此30个carry8构成的短链测量范围仅有900ps。上述设置满足时钟条件:900-0≤900,1800-900≤900,1800 30
×
30=2700ps》t
clk
=2.5ns,即400mhz系统时钟。在运行时,通过检测d触发器的锁存结果以及每条链上的触发状态即可得到待测的时间间隔。设从上到下,每条链前的延迟单元造成的延迟分别为:δt1,δt2,δt3,每条短链上的延迟单元的固有延迟为τ,系统时钟周期为t
clk
。那么对“细”时间的测量过程如下:
64.(1)检测d触发器的结果,当结果为001,011,111时,测量结果为上升沿;当结果为110,100,000时,测量结果为下降沿。
65.(2)依据d触发器的结果,当d触发器的结果为001,111,100时,统计短链上“01”跳变沿的位置为p
01
;当d触发器的结果为011,110,000时,统计短链上“10”跳变沿的位置为p
10
。
66.(3)计算上升沿时间:ts=δti p
01(10)
×
τ,其中i为d触发器结果中1的个数;
67.(4)计算下降沿时间:te=δtj p
01(10)
×
τ,其中j为d触发器结果中0的个数;
68.(5)确定ts与te跳变沿之间经历的系统时钟数分别为ns和ne,则脉冲的间隔δt=(n
e-ns)
×
t
clk
t
s-te。
69.tdc在码密度测试中的实验效果如图4a~图4c所示。
70.衡量tdc性能好坏的标准之一为dnl与inl,值越小,表明其线性度越好,性能越优,通常合格的tdc的dnl与inl都应小于1lsb。
71.图4a~图4c为本发明实施例提供的tdc的码密度测试结果,在没有采用任何校准方法下,其inl与dnl均低于0.6lsb,性能优异。
72.应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
73.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。