用于时间数字转换的方法及系统与流程
- 国知局
- 2024-07-30 09:31:20
1.本技术涉及电路技术领域::,更具体的,涉及确定时间数字转换器的温度系数的方法、矫正时间数字转换系统的方法、用于时间数字转换的方法、用于时间数字转换的系统以及激光雷达。背景技术:::2.时间数字转换器(timetodigitalconverter,tdc)用于将时间间隔信息转换为数字信号,从而实现电路对时间间隔的测量。在导航、激光雷达测距、超声波测距、空间技术、遥感成像、通讯等领域都需要时间间隔测量,尤其是精密的时间间隔测量。3.现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)器件属于专用集成电路中的一种半定制电路。fpga器件中集成有大量资源,这些资源可以在程序控制下实现指定的连接并具有指定的功能。例如,fpga器件中存在快速进位链(carrychain)资源,可用于对加法、乘法及移位运算等加速。这些快速进位链可以作为延迟单元,并以插值方式实现tdc功能,该tdc的时间分辨可以达到几十ps的精度。4.然而利用fpga实现tdc功能时还具有一些不足,例如体现在以下两个方面:5.一方面,由于fpga的功能由硬件实现,具体而言其内部的资源是由半导体工艺实现的,因此利用fpga测量的结果容易受到温度影响变得不准确。6.为了减少温度导致的测量误差,当前普遍用到的方法是在设计的模块中包含环路振荡器模块。环路振荡模块用来产生具有一定时间间隔的脉冲信号,来校准tdc在温度变化后所转换出的时间长度。这个方法存在一些问题,例如:需要的数据量偏大,从而占用较大存储空间;需要对这些数据进行较为复杂的数学处理,因而占用更多设计资源;此外,每次进行校准时,需要tdc停止计时工作、进入标定模式,而标定过程要耗费一定时间,对于需要tdc持续工作的场合,这样的校准是无法接受的。7.另一方面,由于fpga内部的进位链的长短不一,进而表现为时间延迟,时间延迟的范围大约为十几皮秒到上百皮秒,这使得fpga编码后得到时间刻度并不是均匀的,存在差分非线性(differentialnonlinearity,dnl)。业内需要一种能矫正差分非线性的tdc。技术实现要素:8.本技术提供一种确定时间数字转换器的温度系数的方法,包括:在至少三种温度条件下,向时间数字转换器发送标定信号;获得标定信号具有的基准时刻;获得时间数字转换器在每种温度条件下输出的时间数据,其中,时间数据包含每个待标定延迟单元的时间长度;通过温度传感器获得时间数字转换器的对应每种温度条件的标定温度;基于至少三种温度条件下的时间数据、标定温度和基准时刻,确定时间数字转换器的温度系数。9.在一个实施方式中,确定时间数字转换器的温度系数包括:拟合出公式δtb-a2kb2+a1kb+a0中的a0、a1和a2;其中,a0是零阶温度系数,a1是一阶温度系数,a2是二阶温度系数,δtb是每个待标定延迟单元在对应时间数据时的时间长度tb与在对应基准时刻时的时间长度t之间的标定修正值,kb是标定温度;其中,零阶温度系数、一阶温度系数及二阶温度系数构成时间数字转换器的温度系数。10.在一个实施方式中,确定时间数字转换器的温度系数还包括:基于另一种温度条件下的时间数据tb1及标定温度kb1,获得另一种温度条件下的对应于标定信号的标定矫正时刻txb,其中,txb=tb1+(a2kb12+a1kb1+a0);验证另一种温度条件下的基准时刻t1与另一种温度条件下的对应于标定信号的标定矫正时刻txb之间的偏差是否合格;若否,则重新拟合公式δtb=a2kb2+a1kb+a0。11.在一个实施方式中,方法还包括:将温度系数写入静态随机存取存储器。12.本技术的另一方面还提供了一种用于时间数字转换的方法,该方法包括:获得时间数字转换器在接收待测信号时的温度;通过时间数字转换器获得对应待测信号的时间数据;确定对应于时间数字转换器的温度系数;以及基于时间数据、温度及温度系数确定对应于待测信号的矫正后的时刻。13.在一个实施方式中,方法还包括:将温度系数写入静态随机存取存储器;其中,确定时间数字转换器的温度系数包括:从静态随机存取存储器调用时间数字转换器的温度系数。14.在一个实施方式中,时间数据包括:每个延迟单元的时间长度。15.在一个实施方式中,确定对应于时间数字转换器的温度系数包括:前述的确定时间数字转换器的温度系数的方法。16.本技术还提供一种用于时间数字转换的系统,其包括:时间数字转换器,时间数字转换器用于生成对应于待测信号的时间数据;温度传感器,被配置成检测时间数字转换器的温度;存储器,存储可执行指令及时间数字转换器的温度系数;以及一个或多个处理器,与存储器通信以执行可执行指令从而实现前述的方法。17.在一个实施方式中,一个或多个处理器中包括:fpga中的逻辑单元和soc处理器;逻辑单元被配置成与存储器通信以执行可执行指令从而实现以下操作:获得时间数字转换器在接收待测信号时的温度;通过时间数字转换器获得对应待测信号的时间数据;确定对应于时间数字转换器的温度系数;以及基于时间数据、温度及温度系数确定对应于待测信号的矫正后的时刻;soc处理器被配置成处理矫正时刻以向外部设备传输。18.本技术提供的确定时间数字转换器的温度系数的方法,有助于得到具有温度补偿性能的时间数字转换器。本技术的实施例提供的时间数字转换方法,基于温度补偿所测量出来的信号的时刻,使得测量出的时刻更准确。补偿过程的运算简单、速度快,不影响时间数字转换器的正常工作。而且时间数字转换系统能耗低,使用成本低。制造成本也比较低。19.一种矫正时间数字转换系统的方法,其包括步骤:标定第一时间数字转换器的第一延迟链,第一时间数字转换器基于fpga内部的一部分被约束的进位链实现;标定第二时间数字转换器的第二延迟链,第二时间数字转换器基于fpga内部的另一部分被约束的进位链实现;调整第一延迟链和第二延迟链中一者的起点,使得在时间轴上,第一延迟链的至少一个延迟单元的两端位于第二延迟链的不同的延迟单元中;将调整后的第一延迟链写入第一延迟单元查找表形成第一比对链;将调整后的第二延迟链写入第二延迟单元查找表形成第二比对链。20.在一个实施方式中,标定第一延迟链的步骤包括:向第一时间数字转换器发送标定信号;获得标定信号具有的基准时刻。21.在一个实施方式中,标定第一延迟链的步骤包括:获得第一时间数字转换器输出的第一时间数据,第一时间数据包含第一延迟链中每个延迟单元的时间长度。22.在一个实施方式中,第一延迟单元查找表中存储的数据包括:第一比对链中每个延迟单元相对于第一比对链的起点所代表的时刻;以及第一比对链中每个延迟单元的时间长度。23.在一个实施方式中,第一延迟链中包括多个长延迟单元,长延迟单元的长度大于第一延迟链中延迟单元的平均长度;其中,第一延迟链的至少一个延迟单元的两端位于第二延迟链的两个延迟单元中包括:多个长延迟单元中半数以上的长延迟单元的两端位于第二延迟链的不相邻的两个延迟单元中。24.在一个实施方式中,信号输入端至第一时间数字转换器的起点之间包括被约束的第一走线;信号输入端至第二时间数字转换器的起点之间包括被约束的第二走线。其中,第一走线与第二走线的时延可以相同。25.本技术在另一方面提供一种用于时间数字转换的方法,包括:获得第一待选时刻,第一待选时刻等于第一时间数字转换器在接收待测信号时输出的第一时刻,第一时刻是第一时间数字转换器具有的第一延迟链中对应于待测信号的第一延迟单元所表征的时刻;获得第二待选时刻,第二待选时刻等于第二时间数字转换器在接收待测信号时输出的第二时刻,第二时刻是第二时间数字转换器具有的第二延迟链中对应于待测信号的第二延迟单元所表征的时刻,其中,在时间轴上,第一延迟链的至少一个延迟单元的两端位于第二延迟链的不同的延迟单元中;选取第一待选时刻和第二待选时刻中较小的一个。26.在一个实施方式中,第一延迟链的至少一个延迟单元的两端位于第二延迟链的不相邻的两个延迟单元中;当对应于待测信号的第二延迟单元位于不相邻的两个延迟单元之间时,选取的步骤包括:确定第一延迟单元的时间长度;确定第二延迟单元的时间长度;确定第一延迟单元的时间长度与第二延迟单元的时间长度中的最小值;选取第一待选时刻和第二待选时刻二者中、对应的时间长度与最小值相等的一者。27.在一个实施方式中,确定第一延迟单元的时间长度包括:通过第一延迟单元查找表确定第一延迟单元的时间长度;以及确定第二延迟单元的时间长度包括:通过第二延迟单元查找表确定第二延迟单元的时间长度;其中,第一延迟单元查找表存储的数据包括:第一比对链中每个延迟单元相对于第一比对链的起点所代表的时刻,以及第一比对链中每个延迟单元的时间长度;第一比对链中的全部延迟单元与第一延迟链中的全部第一延迟单元一一对应;第二延迟单元查找表存储的数据包括:第二比对链中每个延迟单元相对于第二比对链的起点所代表的时刻,以及第二比对链中每个延迟单元的时间长度;第二比对链中的全部延迟单元与第二延迟链中的全部第二延迟单元一一对应。28.在一个实施方式中,获得第一待选时刻包括:通过第一延迟单元查找表获得基于第一时刻的第一待选时刻;获得第二待选时刻包括:通过第二延迟单元查找表获得基于第二时刻的第二待选时刻。29.在一个实施方式中,还包括:前述的矫正时间数字转换系统的方法。30.在一个实施方式中,第一时间数字转换器包括fpga中的被约束地级联的多个进位链;第二时间数字转换器包括fpga中的被约束地级联的另外的多个进位链。31.本技术还提供一种用于时间数字转换的系统,其包括:第一时间数字转换器,被配置成在接收待测信号时输出第一时刻,第一时刻是第一时间数字转换器具有的第一延迟链中对应于待测信号的第一延迟单元所表征的时刻;第二时间数字转换器,被配置成在接收待测信号时输出第二时刻,第二时刻是第二时间数字转换器具有的第二延迟链中对应于待测信号的第二延迟单元所表征的时刻,其中,在时间轴上,第一延迟链和第二延迟链二者中的一者的至少一个延迟单元跨设于另一者的至少两个延迟单元;存储器,存储可执行指令;以及一个或多个处理器,与存储器通信以执行可执行指令从而实现前述的方法。32.在一个实施方式中,第一时间数字转换器包括fpga中的被约束地级联的多个进位链;第二时间数字转换器包括fpag中的被约束地级联的另外的多个进位链。33.在一个实施方式中,还包括:第一延迟单元查找表,被配置成基于第一时刻输出第一待选时刻,第一延迟单元查找表存储的数据包括:第一比对链中每个延迟单元相对于第一比对链的起点所代表的时刻,以及第一比对链中每个延迟单元的时间长度;第一比对链中的全部延迟单元与第一延迟链中的全部第一延迟单元一一对应;以及第二延迟单元查找表,被配置成基于第二时刻输出第二待选时刻,第二延迟单元查找表存储的数据包括:第二比对链中每个延迟单元相对于第二比对链的起点所代表的时刻,以及第二比对链中每个延迟单元的时间长度;第二比对链中的全部延迟单元与第二延迟链中的全部第二延迟单元一一对应;其中,一个或多个处理器与存储器通信以执行可执行指令从而执行:通过第一延迟单元查找表获得基于第一时刻的第一待选时刻;以及通过第二延迟单元查找表获得基于第二时刻的第二待选时刻。34.在一个实施方式中,还包括:至少一个温度传感器,被配置成检测第一时间数字转换器的温度以及检测第二时间数字转换器的温度;其中,存储器还存储第一时间数字转换器的温度系数和第二时间数字转换器的温度系数;以及一个或多个处理器与存储器通信以执行可执行指令从而执行:获得选取的时刻所对应的时间数字转换器在接收待测信号时的温度;获得选取的时刻所对应的时间数字转换器在接收待测信号前生成的每个延迟单元的时间长度;确定选取的时刻所对应的时间数字转换器的温度系数;以及基于每个延迟单元的时间长度、温度及温度系数矫正选取的时刻。35.在一个实施方式中,还包括:第一走线,被配置成电性连接第一时间数字转换器与信号输入端,第一走线被约束;第二走线,被配置成电性连接第二时间数字转换器与信号输入端,第二走线被约束,所述第二走线与所述第一走线可具有相同的时延。36.在一个实施方式中,一个或多个处理器包括:数据判选单元,由fpga中的逻辑单元构成,所述数据判选单元实现前述的方法;fpga中的soc处理器,与数据判选单元通信连接,并被配置为处理数据判选单元输出的数据以向外部系统传输。37.本技术还提供一种包括前述时间数字转换系统的激光雷达。38.本技术提供的一种矫正时间数字转换系统的方法,可以矫正耦合的两个数字转换器的差分非线性功能,有助于得到差分非线性表现较好的时间数字装换系统。本技术的实施例提供的时间数字转换方法,基于差分非线性补偿方式,使一个延迟单元跨设于另一个延迟链的至少两个延迟单元,即通过并行比对使得一个延迟链中的延迟单元的长度被另一个的延迟单元细分。继而测量出的时刻的间隔更细致、均匀。本技术提供的时间数字转换系统的测量精度较高。附图说明39.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:40.图1示出了根据本技术的确定时间数字转换器的温度系数的方法的示意性流程图;41.图2示出了根据本技术的用于时间数字转换的系统的示意性结构图;42.图3示出了根据本技术的用于时间数字转换的方法的示意性流程图;43.图4示出了根据本技术的用于时间数字转换的系统的示意性结构图;44.图5示出了根据本技术的矫正时间数字转换系统的方法的示意性流程图;45.图6示出了根据本技术实施例的时间数字转换系统中的延迟单元排列的示意图;46.图7示出了根据本技术的用于时间数字转换的方法的示意性流程图;47.图8示出了根据本技术的选取待选时刻步骤的示意性流程图;以及48.图9示出了根据本技术的另一种用于时间数字转换的系统的示意性结构图。具体实施方式49.为了更好地理解本技术,将参考附图对本技术的各个方面做出更详细的说明。应理解,这些详细说明只是对本技术的示例性实施方式的描述,而非以任何方式限制本技术的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。50.应注意,在本说明书中,第一、第二、第三等的表述仅用于将一个特征与另一个特征区分开来,而不表示对特征的任何限制。因此,在不背离本技术的教导的情况下,下文中讨论的第一时间数字转换器也可被称作第二时间数字转换器。反之亦然。51.如在本文中使用的,用语“大致”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。52.还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、元件和/或部件,但不排除存在或附加有一个或多个其它特征、元件、部件和/或它们的组合。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本技术的实施方式时,使用“可”表示“本技术的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。53.除非另外限定,否则本文中使用的所有措辞(包括工程术语和科技术语)均具有与本技术所属领域普通技术人员的通常理解相同的含义。还应理解的是,除非本技术中有明确的说明,否则在常用词典中定义的词语应被解释为具有与它们在相关技术的上下文中的含义一致的含义,而不应以理想化或过于形式化的意义解释。54.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。另外,除非明确限定或与上下文相矛盾,否则本技术所记载的方法中包含的具体步骤不必限于所记载的顺序,而可以任意顺序执行或并行地执行。下面将参考附图并结合实施例来详细说明本技术。55.参考图1,本技术实施例提供一种用于确定时间数字转换器的温度系数的方法1000,包括如下步骤:56.s1010,在一种温度条件下,向时间数字转换器发送标定信号。标定信号中包括大量的被标定了时刻的脉冲。57.s1040,获得标定信号具有的基准时刻。标定信号具有的基准时刻可以基于外部设备确定,例如低温漂晶振时钟。58.s1020,获得时间数字转换器在该种温度条件下输出的时间数据。具体地,时间数字转换器在工作时具有延迟链,延迟链包括首尾相连的一串延迟单元。时间数据中包含有每个待标定延迟单元的时间长度。59.时间数字转换器在工作时到达脉冲将会输出一个对应到达位置编码值,由编码值转化为具体时间数据两个相邻的编码值所表征的时刻的差值,也是两个编码值之间的时间长度,认为是一个编码值的延迟单元。因此基于编码值出现的频数,也可以确定该时间数据内包含的标定延迟单元的数量,以及每个延迟单元的时间长度也即延时时间。60.s1030,通过温度传感器获得时间数字转换器的对应每种温度条件的标定温度。61.通常来讲,实现该方法的温度条件是通过外部设备控制的,例如通过热交换器控制隔热空间内的温度,使隔热空间内的时间数字转换器处于不同的温度水平。不过时间数字转换器的工作温度和所设定的温度条件可能会有差异,因此直接测量时间数字转换器的温度比调用所设定的温度条件更好。62.s1050,在至少三种温度条件下,执行s1010、s1020、s1030和s1040。可以基于时间数字转换器的使用温度及效果来确定标定次数。例如,在0℃至80摄氏度内标定9次,具体地每隔10℃为一个温度条件。63.s1060,基于至少三种温度条件下的时间数据、标定温度和基准时刻,确定时间数字转换器的温度系数。64.进一步地,确定时间数字转换器的温度系数的步骤包括:65.使用公式:66.δtb=a2kb2+a1kb+a0ꢀꢀꢀꢀꢀꢀ(1)67.拟合步骤s1020、s1030和s1040获得的数据,进而拟合出公式(1)中的a0、a1和a2。68.其中,a0是零阶温度系数,a1是一阶温度系数,a2是二阶温度系数,δtb是每个时间数据处的标定延迟单元的时间长度tb与在对应基准时刻时的时间长度t之间的标定修正值,kb是标定温度。其中,零阶温度系数、一阶温度系数及二阶温度系数构成时间数字转换器的温度系数。69.当只有三种温度条件下的数据时,可以直接计算公式(1)。通常会在三种以上的温度条件下标定时间数字转换器,进而可以利用例如最小二乘法等对标定出的数据曲线拟合。70.例如时间数值转换器中包括两百个触发器,可以标定出两百个延迟单元。在第一种温度条件下对应的标定时刻是39ns,在第二种温度条件下对应的标定时刻是40ns,在第三种温度下的标定时刻是41ns。可以以第二种温度条件做为参考条件,来标注时间数字转换器。即40ns的时间长度转换为两百段延迟单元,即两百种编码值。每种编码值对应的延迟单元长度,在40ns的总长的基础上,按照每种编码值在标定时出现的频率而按比例地标注。同时得到其他温度条件下,一种编码值所表征的时刻应该具有的标定修正值。71.示例性地,可以以任意温度条件作为参考,来为这两百个延迟单元标注刻度。进而在该温度条件下,被标注后的时间数字转换器输出的时间数据修正值为零。72.例如将时间数字转换器具有的第一百个延迟单元的终点标注为20.1ns。当基准时刻t1的值是20ns时,该时间数字转换器在第一种温度条件下对应的时间数据中包括九十个延迟单元,该时间数据表征的时刻是18.2ns。则在第一种温度下,第九十个延迟单元应当修订为一百,或者第九十个延迟单元的终点所表征的时刻的修正值为+1.9ns,使得虽然时间数字转换器输出的时间数据包括九十个延迟单元,依旧能准确地得出20.1ns的时间长度。73.进一步地,确定时间数字转换器的温度系数还包括:74.基于另一种温度条件下的时间数据tb1及标定温度kb1,获得该另一种条件下的对应于标定信号的标定矫正时刻txb,其中,75.txb=tb1+(a2kb12+a1kb1+a0);76.验证另一种温度条件下的基准时刻t1与该另一种条件下的对应于标定信号的标定矫正时刻txb之间的偏差是否合格;若否,则重新拟合公式δtb=a2kb2+a1kb+a0。经过校准的公式置信度高。重新拟合过的公式的精度高。77.例如在九种温度条件下得到了九组数据,对其中八组数据曲线拟合,确定出a0、a1和a2。再使用公式(1)计算第九组数据得到第九组数据的标定矫正时刻txb,并计算txb与该组数据的基准时刻t1之间的偏差。78.例如基准时刻t1的值是20ns,进而预测在一种温度条件下对应的时间数据中包括100个延迟单元,实际输出的时间数据中包括99-101个延迟单元,可以认为txb与t1之间的偏差合格。79.本技术实施例确定出的时间数字转换器的温度系数,适应性更强,温度补偿后的时刻更精确。80.进一步地,相邻两个基准时刻对应的两个偏差之间的差值,是前一个基准时刻的延迟单元的偏差。81.示例性地,该方法3000可以是制造用于时间数字转换的系统的方法的一部分步骤。82.参考图2,本技术提供的一种用于时间数字转换的系统100,可基于fpga等可编程逻辑器件实现。该系统100在出厂前存储有前述的温度系数。时间数字转换的系统100可利于用于各种电子设备例如激光雷达,来对时间周期、机器周期等计时。83.该系统100包括:时间数字转换器111、温度传感器113、存储器以及一个或多个处理器。84.时间数字转换器111可以包括级联的进位链,其起点可通过走线与信号输入端通信连接。时间数字转换器111在工作时输出的信号可表征为一条延迟链,该延迟链可体现时间间隔。进而时间数字转换器111在接收到待测信号后可生成对应于待测信号的时间数据。85.温度传感器113被配置成检测时间数字转换器111的温度。还用于将检测到的温度输出给一个或多个处理器。86.存储器可包括fpga内部的随机存取存储器(ram)和fpga外部的非易失性存储器。fpga外部的存储器可以是闪存(flashmemory)或带电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)。fpga外部的存储器可以用于存储可执行指令及时间数字转换器111的温度系数。而fpga上电后,ram也用于存储可执行指令及时间数字转换器111的温度系数。示例性地,ram可以包括(staticrandom-accessmemory,sram)102和温度系数查找表115,其中,sram102用于存储可执行指令,温度系数查找表115可用于存储时间数字转换器111的温度系数。87.一个或多个处理器用于与存储器通信以执行可执行指令。一个或多个处理器具体地可包括:fpga中的逻辑单元和soc(systemonchip)处理器101。88.逻辑单元被配置成与存储器通信以执行可执行指令从而实现如图3所示的操作:89.s2010,获得时间数字转换器111在接收待测信号时的温度。90.s2020,通过时间数字转换器获得对应待测信号的时间数据。91.s2030,确定对应于时间数字转换器的温度系数。92.s2040,基于时间数据、温度及温度系数确定对应于待测信号的矫正后的时刻。93.而soc处理器101可被配置成处理矫正时刻以向外部设备传输。94.具体地,逻辑单元可包括矫正处理单元112和温度采集单元114。温度采集单元114用于获得时间数字转换器111在接收待测信号时的温度,并可通过总线103传输给矫正处理单元112。矫正处理单元112用于接收时间数据、温度及温度系数,并将矫正后的时刻输出给soc处理器101。示例性地,矫正处理单元112中可以设计有接口以挂接在soc处理器101上。95.该系统100所采用的时间数字转换方法运算简单、速度快,并且获得的结果精度较高。转换时不影响tdc的正常工作状态,适应不同的工作环境且运行成本低。96.当该系统100基于fpga构建时,fpga中可以集成有总线103以及连接至总线的一个或多个处理器、ram、时间数字转换器111、输入/输出(i/o)接口104、输入部105和驱动器108。97.虽然图2示出了具有各种部件的用于时间数字转换的系统100,但是应理解的是,并不要求实施或具备所有示出的部件。可以替代地实施或具备更多或更少的部件。例如fpga中的进位链的一部分用于构成时间数字转换器111,而其余进位链110也可以用于构成其他时间数字转换器。98.本技术提供一种用于时间数字转换的方法2000,可以使用上述用于时间数字转换的系统100实现。参考图3,该方法2000包括前述的步骤s2010至s2040,其中,s2010至s2030这三步的撰写顺序并不等于这三步的实施顺序。99.本技术提供的用于时间数字转换的方法2000,需要的数据量小,从而占用较小的存储空间。对这些数据进行较为简单的数学处理,从而占用更少的设计资源。100.例如,s2030,确定时间数字转换器的温度系数这一步可包括:从静态随机存取存储器调用时间数字转换器的温度系数。示例性地,在调用之前还可包括:将温度系数写入静态随机存取存储器。如此可以实现每次校准时,tdc持续工作。避免了在工作过程中进入标定模式而造成的时间耗费。该方法在反复多次执行时,调用温度系数的方式具有较小的计算量。101.本技术实施例还提供一种用于时间数字转换的系统500,参考图4,该系统500可包括:第一时间数字转换器510、第二时间数字转换器513、存储器和至少一个处理器。102.在示例性实施方式中,该系统500可基于fpga实现。fpga内部有大量逻辑资源和布线资源,可以使用fpga开发软件选择信号流经的路径。不过,同样的设计源代码,无论是vhdl或veriloghdl,采用不同的综合工具综合会产生不同的结果。103.示例性地,基于fpga制造该系统500的方法可包括:基于fpga内部的一部分被约束的进位链实现第一时间数字转换器510。基于fpga内部的另一部分被约束的进位链实现第二时间数字转换器513。被约束的进位链即被程序逻辑锁定,通过逻辑锁定可将某个模块指定在fpga的某个位置,进而控制延迟链起点位置。逻辑锁定能保证被锁定的模块在下一次综合不被改变。104.示例性地,制造该系统500的方法还包括:约束信号输入端至第一时间数字转换器510的起点之间的第一走线;约束信号输入端至第二时间数字转换器513的起点之间的第二走线。fpga中走线的路径被固定后,可保证走线的时延固定。通过约束第一走线和第二走线,使得待测信号到达第一时间数字转换器510和到达第二时间数字转换器513的时延固定。105.可使用fpga内部信号作为标定信号同时对两个tdc进行标定,得到两个tdc的延迟链。具体地,标定信号中可包括大量的随机脉冲。时间数字转换器针对每个脉冲都输出有编码值,根据编码值的密度可得到延迟链。例如可得到延迟链中自起点开始的延迟单元的数量以及每个延迟单元的长度。106.参考图5和图6,制造该系统500的方法还包括:标定时间数字转换系统的方法s3000,s3000包括步骤:107.s3010,标定第一时间数字转换器510的第一延迟链。108.s3020,标定第二时间数字转换器513的第二延迟链。109.s3030,调整第一延迟链和第二延迟链中一者的起点,使得在时间轴上,第一延迟链的至少一个延迟单元的两端位于第二延迟链的两个延迟单元中。每个延迟单元的时间长度可视为半开半闭区间,例如一个延迟单元的时间长度为9ps,其终点时刻为19ps时,其覆盖的区间是(10ps,19ps],即此时到达信号都被输出为19ps。第一延迟链的延迟单元的两端落在第二延迟链的不同的两个区间内。110.s3040,将调整后的第一延迟链写入第一延迟单元查找表511形成第一比对链3100。111.s3050,将调整后的第二延迟链写入第二延迟单元查找表514形成第二比对链3200。112.其中,s3030步骤中,由于fpga中实际的进位链的差异,使得延迟链沿时间轴的结构千差万别。因此期望延迟链中尽可能多的延迟单元跨设于另一个延迟链的至少两个延迟单元,即期望延迟单元的长度被另一个延迟链在时间轴上细分为至少两段。113.示例性地,第一延迟链中包括长延迟单元,长延迟单元的长度大于第一延迟链中延迟单元的平均长度。在时间轴上,第一延迟链中至少半数的长延迟单元跨设于第二延迟链的至少两个延迟单元。114.参考图6,图6中右侧为时间轴的正向。可以认为将第一延迟链的起点重新设置,形成的第一比对链6100与第一延迟链中对应的一段结构相同。也可以视为将第二延迟链的起点重新设置,而形成了第二比对链6200。第一比对链6100和第二比对链6200的时刻对齐而形成延迟单元排列。须知第一比对链6100和第二比对链6200是用于表征时间轴上的时间数据,而查找表中存储的是与比对链具有映射关系的数据而非图示的图形。115.具体地,第一延迟单元查找表存储的数据包括:第一比对链中每个延迟单元相对于第一比对链的起点所代表的时刻,以及第一比对链中每个延迟单元的时间长度;第一比对链中的全部延迟单元与第一延迟链中的全部第一延迟单元一一对应。第二延迟单元查找表同理。116.第二比对链6200的自起点6201的第四个延迟单元6220是长延迟单元,跨设于第一比对链6100的第三个延迟单元6110、第四个延迟单元6120直到第八个延迟单元,即其被第一比对链6100细分为六段。同理,第一比对链6100中也有被第二比对链6200细分的长延迟单元。117.示例性地,以第二比对链6200的起点6201对应有起始时刻,例如100ns。第二比对链6200的自起点的第一个延迟单元6210和第二个延迟单元的延迟长度值都为0.1ns。第二比对链6200的第一个延迟单元6210的范围是(100ns,100.1ns],读数为100.1ns,可见第二比对链6200的第三个延迟单元对应的时刻为100.3ns,同时第一比对链6100的起点的时刻是100ns,其第三个延迟单元6110的时刻是其终点6102的时刻,即100.4ns。118.通过对fpga的逻辑资源锁定、布线锁定来实现两个tdc的延迟链的起点改变。在开始工作之后,信号中的触发脉冲信号可以同时到达两个tdc,也可以在标定时获得两个tdc之间的时间差,进而消除。该脉冲信号触发的延迟单元在延迟链中的位次可以不同。例如第100.435ns时,两个tdc同时接收到了该脉冲信号。第二时间数字转换器513中对应第四个延迟单元6220的进位链受到触发,第一时间数字转换器510中是对应其第四个延迟单元6120的进位链受到触发。119.可以理解的,s6030中,不调整第一延迟链和第二延迟链的起点,也可能使第一延迟链的至少一个延迟单元在时间轴上跨过第二延迟链的至少两个延迟单元。120.步骤s3040和s3050中,将调整后的延迟链写入了查找表(look-up-table,lut)中,以形成延迟单元查找表。延迟单元查找表中的数据是对应于延迟链的延迟单元的时间数据。使用延迟单元查找表调用数据比较快,节省计算资源。但是依然可以是通过处理器运行s3030后得到一个调整值,使用该调整值来对每一个延迟单元调整计算。121.通过该基于fpga实现系统的方法而制得的用于时间数字转换的系统500中:122.第一时间数字转换器510用于在接收待测信号时输出第一时刻,第一时刻是第一时间数字转换器510具有的第一延迟链中对应于待测信号的第一延迟单元所表征的时刻;123.第二时间数字转换器513用于在接收待测信号时输出第二时刻,第二时刻是第二时间数字转换器513具有的第二延迟链中对应于待测信号的第二延迟单元所表征的时刻,其中,在时间轴上,所述第一延迟链的至少一个延迟单元的两端位于第二延迟链的两个不同的延迟单元中。示例性地,可以位于第二延迟链的不相邻的两个的延迟单元中,使得长延迟单元跨设于多个延迟单元。124.一个或多个处理器与存储器通信,用于执行存储器中存储的可执行指令。可执行指令被一个或多个处理器运行时,可使一个或多个处理器实现用于时间数字转换的方法。125.参考图7,本技术实施例提供的一种用于时间数字转换的方法4000。该方法4000可由本技术提供的用于时间数字转换的系统500实现。126.该方法4000包括如下步骤:127.s4010,获得第一待选时刻。第一待选时刻基于第一时间数字转换器在接收待测信号时输出的第一时刻得到,例如第一待选时刻等于第一时刻。第一时刻是第一时间数字转换器具有的第一延迟链中对应于待测信号的第一延迟单元所表征的时刻。128.s4020,获得第二待选时刻。第二待选时刻基于第二时间数字转换器在接收待测信号时输出的第二时刻得到,例如第一待选时刻等于第二待选时刻。第二时刻是第二时间数字转换器具有的第二延迟链中对应于待测信号的第二延迟单元所表征的时刻。其中,在时间轴上,第一延迟链的至少一个延迟单元的两端位于第二延迟链的两个不同的延迟单元中。129.s4030,选取第一待选时刻和第二待选时刻中较小的一个。130.该方法4000选取两个tdc比对后得到的时刻,相比于一个tdc提升了测量精度。131.进一步地,所选取的时刻可以是较长的一个延迟单元所表征的时刻,也可以是较短的一个延迟单元表征的时刻。当一个延迟单元的时间长度较长时,其可以被另一个延迟链的多个延迟单元细分,即其两端位于另一个延迟链的不相邻的两个延迟单元中。待测信号可能落在这两个不相邻的延迟单元之间。132.参考图8,选取待选时刻的步骤s4030包括:133.s4031,确定第一延迟单元的时间长度。134.s4032,确定第二延迟单元的时间长度。135.s4033,确定第一延迟单元的时间长度与第二延迟单元的时间长度中的最小值。若第一延迟单元的时间长度和第二延迟单元的时间长度相等,可以将任一个作为最小值,例如将第一延迟单元的时间长度作为最小值。136.s4034,选取第一待选时刻和第二待选时刻二者中、对应的时间长度与最小值相等的一者。例如二者对应的时间长度的值相等时,选取第一待选时刻。137.该方法4000利用了差分非线性补偿的方式,使得用于时间数字转换的系统所测量的时间间隔更细致、均匀。两个tdc比对后得到的时刻,相比于一个tdc提升了测量精度。该方法4000针对大量脉冲而测得大量时刻时,这些时刻的整体精度也比较高。138.该方法4000中步骤s4010和s4020不分先后。步骤s4031和至s4032不分先后。139.在一些实施方式中,s4031确定第一延迟单元的时间长度值包括:通过第一延迟单元查找表确定第一延迟单元的时间长度,第一延迟单元查找表存储的数据包括:第一比对链中每个延迟单元相对于第一比对链的起点所代表的时刻,以及第一比对链中每个延迟单元的时间长度。由于第一比对链中的全部延迟单元与第一延迟链中的全部第一延迟单元一一对应,因此该长度可以被快速地调用。140.s4040确定第二延迟单元的时间长度包括:通过第二延迟单元查找表确定第二延迟单元的时间长度,第二延迟单元查找表存储有第二比对链,第二延迟单元查找表的作用参考第一延迟单元查找表。141.进一步的实施例中,步骤s4010,即获得第一待选时刻包括:通过第一延迟单元查找表获得基于第一时刻的第一待选时刻。第一时刻是被第一延迟链所表征的。实际以第一延迟链的起点时刻为基础加上所经过的全部延迟单元的时间长度(也就是许多个时间段)所得到的时刻。示例性地,第一延迟链的起点时刻未调整,第一待选时刻等于第一时刻。示例性地,第一延迟链的起点经过调整,第一待选时刻是第一比对链所表征的时刻。当然第一比对链所表征的时刻是基于第一时刻得到的。142.获得第二待选时刻包括:通过第二延迟单元查找表获得基于第二时刻的第二待选时刻。143.例如图6中,第100.435ns时,两个tdc同时接收到了脉冲信号。第一时间数字转换器510中是对应第一比对链6100的第四个延迟单元6120的进位链受到触发。第一延迟单元查找表511基于第一时间数字转换器输出的第一时刻而输出100.5ns,作为第一待选时刻。144.而第二时间数字转换器513中对应第二比对链6200的第四个延迟单元6220的进位链受到触发,第二延迟单元查找表基于第二时间数字转换器513输出的第二时刻,输出第二待选时刻101.1ns。145.一方面,选取较小的第一待选时刻100.5ns。146.另一方面,第一比对链6100的第三个延迟单元6120的时间长度是0.1ns,第二比对链6200的第四个延迟单元6220的时间长度是0.8ns。可见第一比对链6100中的对应的延迟单元的时间长度较短。147.选择第一待选时刻100.5ns。可用于后续操作或者输出。148.在示例性实施方式中,该方法4000可包括前述的标定时间数字转换系统的方法3000。具体地,可先执行方法3000,然后s4031步骤和s4032步骤中调用采用方法3000而得到的数据。149.在示例性实施方式中,可以进一步修正tdc在不同温度下工作而造成的偏差。该方法4000还包括:获得选取的时刻所对应的时间数字转换器在接收待测信号时的温度;获得选取的时刻所对应的时间数字转换器在接收待测信号前生成的延迟单元的数量;确定选取的时刻所对应的时间数字转换器的温度系数;以及基于数量、温度及温度系数矫正选取的时刻。150.例如选取了第一待选时刻,则基于第一时间数字转换器输出的时间数据、测得的其温度以及其温度系数矫正第一待选时刻。例如在某温度条件下,102ns时刻的脉冲被第一时间数字转换器输出为100ns,第一待选时刻也为100ns,经计算该温度下修正值为1.8ns。则矫正后的第一待选时刻为101.8ns,该数值用于后续的处理。151.在图4的基础上参考图8,示出了具有标定时间数字转换系统功能和/或时间数字转换功能的系统500的硬件结构示意图。152.该系统500包括:第一时间数字转换器510、第二时间数字转换器513、储存器和一个或多个处理器。示例性地,还包括第一温度传感器518、第二温度传感器520。153.第一时间数字转换器510和第二时间数字转换器513在实际设置时可以设计的较近,进而可以将第一温度传感器518配置成同时检测第一时间数字转换器510的温度和检测第二时间数字转换器513的温度。示例性地,第一温度传感器518被配置成检测第一时间数字转换器510的温度。第二温度传感器520被配置成检测第二时间数字转换器513的温度。其中,存储器还存储第一时间数字转换器510的温度系数和第二时间数字转换器513的温度系数。154.存储器可包括fpga内部的随机存取存储器(ram)和fpga外部的非易失性存储器。fpga外部的存储器可以是闪存(flashmemory)或带电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)。fpga外部的存储器可以用于存储可执行指令、及第一时间数字转换器510和第二时间数字转换器513的温度系数。而fpga上电后,ram也用于存储可执行指令及温度系数。155.示例性地,ram可以包括(staticrandom-accessmemory,sram)502、温度系数查找表516、第一延迟单元查找表511及第二延迟单元查找表514。其中,sram102用于存储可执行指令,温度系数查找表115可用于存储温度系数。156.示例性地,一个或多个处理器可包括:fpga中的逻辑单元和soc处理器501。逻辑单元被配置成与存储器通信以执行可执行指令从而实现如图7或图8所示的操作。而soc处理器101可被配置成处理矫正时刻以向外部设备传输。157.具体地,逻辑单元可包括数据判选单元512、矫正处理单元517、第一温度采集单元519和第二温度采集单元521。第一温度采集单元519用于获得第一时间数字转换器510在接收待测信号时的温度,并可通过总线503传输给矫正处理单元517。第二温度采集单元521同理。矫正处理单元112用于接收数据判选单元512所选取的时刻对应的时间数据、温度及温度系数查找表516输出的温度系数,并将矫正后的时刻输出给soc处理器501。158.本技术提供的用于时间数字转换的系统500,可以包括但不限于移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端、诸如数字tv、台式计算机等等的固定终端以及诸如机器视觉系统等专用检测设备。该系统500所采用的时间数字转换方法运算精度高、速度快,并且获得的结果较好地消除dnl。159.当该系统500基于fpga构建时,fpga中可以集成有总线103以及连接至总线的一个或多个处理器、ram、tdc、传感器及输入/输出(i/o)接口504。进一步地,该系统500还可包括输出部506、存储部507、通信装置515、与可拆卸介质509通信连接的驱动器508等。160.虽然图9示出了具有各种部件的用于时间数字转换的系统500,但是应理解的是,并不要求实施或具备所有示出的部件。可以替代地实施或具备更多或更少的部件。161.示例性地,第一时间数字转换器510包括现场可编程逻辑门阵列中的被约束地级联的多个进位链;第二时间数字转换器513包括现场可编程逻辑门阵列中的被约束地级联的另外的多个进位链。162.示例性地,第一延迟单元查找表511,被配置成基于第一时刻输出第一待选时刻,第一延迟单元查找表511存储有第一比对链,第一比对链的结构与第一延迟链的结构相同。第二延迟单元查找表514被配置成基于第二时刻输出第二待选时刻,第二延迟单元查找表存储有第二比对链,第二比对链的结构与第二延迟链的结构相同;其中,一个或多个处理器与存储器通信以执行可执行指令从而实现如方法4000的所示的步骤。163.示例性地,该系统500还包括:被约束的第一走线和第二走线。第一走线被配置成电性连接第一时间数字转换器510与输入部505。第二走线被配置成电性连接第二时间数字转换器513与输入部505。其中,第二走线与第一走线可具有相同的时延。特别的,soc处理器501也可以通过总线503向第一走线和第二走线传输信号。164.以上描述仅为本技术的较佳实施方式以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的保护范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述技术构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。当前第1页12当前第1页12
本文地址:https://www.jishuxx.com/zhuanli/20240730/149760.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。