首页 / 专利分类库 / 测时学 / 采用双相位采样与在线计算方式的延时发生系统

采用双相位采样与在线计算方式的延时发生系统

申请号 CN202311838231.5 申请日 2023-12-28 公开(公告)号 CN117767924A 公开(公告)日 2024-03-26
申请人 哈尔滨工业大学; 发明人 朱敏; 崔唐; 高强; 高思煜; 卢礼华; 祁夕涵;
摘要 一种采用双 相位 采样 与在线计算方式的延时发生系统,属于数字延时技术领域。本 发明 针对现有采用进位延时链法的延时器时间 分辨率 相对较低并且不具备实时性的问题。包括延时前链模 块 ,其采样 电路 采用双相位采样的方式根据触发 信号 上升沿的产生时刻及在触发信号上升沿产生之后系统时钟第一个上升沿时刻确定前链延时时长,并通过6条延时前链实现前链延时时长的延时和测量;粗延时模块采用两个二进制计数器计算实现粗延时;延时后链模块,根据设定的延迟时间、前链延时时长和粗延时时长确定后链延时时长,并在粗延时模块计数达到预设值后通过延时后链实现后链延时时长的延时;多个CARRY4单元首尾级联形成延时前链和延时后链。本发明用于实现精细延时。
权利要求

1.一种采用双相位采样与在线计算方式的延时发生系统,其特征在于包括,延时前链模,包括6条延时前链及对应的采样电路,采样电路采用双相位采样的方式根据触发信号上升沿的产生时刻及在触发信号上升沿产生之后系统时钟第一个上升沿时刻确定前链延时时长,并通过6条延时前链实现前链延时时长的延时和测量;
粗延时模块,根据设定的延迟时间及前链延时时长确定粗延时时长,并采用两个二进制计数器分别在触发信号上升沿产生之后参考时钟的第一个上升沿和下降沿时刻开始计数,直到达到预设值,实现粗延时时长的延时和对6条延时前链的前链延时时长测量结果的筛选;参考时钟的频率为系统时钟频率的2倍,且参考时钟与系统时钟同相位;
延时后链模块,根据设定的延迟时间、前链延时时长和粗延时时长确定后链延时时长,并在粗延时模块计数达到预设值后通过延时后链实现后链延时时长的延时;
采用Kintex‑7 FPGA中的多个CARRY4单元作为多个延时单元,多个CARRY4单元首尾级联形成所述延时前链和延时后链;每个CARRY4单元引出CO0和CO3两个抽头,相邻两个抽头之间形成一个精细延时区间;通过精细延时区间实现前链延时时长和后链延时时长的延时。
2.根据权利要求1所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,
所述粗延时模块用于实现参考时钟周期整数倍的延时;延时前链模块和延时后链模块用于实现小于一个参考时钟周期的延时;通过控制延时后链中参与延时功能的精细延时区间的个数来实现后链延时时长的延时。
3.根据权利要求2所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,实现设定的延迟时间的过程为:
对于延时前链模块,触发信号通过6条延时前链的首端进入到延时前链中,当系统时钟的第一个上升沿到来时,读取延时前链的测量结果并启动粗延时模块的二进制计数器开始计数;当二进制计数器的计数值达到预设值时停止计数并启动延时后链模块中的延时后链,当延时后链实现后链延时时长的延时后,延时发生系统产生设定延迟时间的输出信号
4.根据权利要求3所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,每条延时前链对应的采样电路包括寄存器阵列和编码电路;
3条延时前链的采样电路由系统时钟信号中的正相时钟驱动,另外3条延时前链的采样电路由系统时钟信号中的反相时钟驱动;
每条延时前链包括100个CARRY4单元;系统时钟信号中的正相时钟和反相时钟频率均为125MHz,参考时钟的频率为250MHz;
寄存器阵列用于暂时保存延时前链的前链延时时长的200位的测量结果;编码电路用于将200位的测量结果编码为8位的二进制测量结果。
5.根据权利要求4所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,第1、2、3条延时前链对应的寄存器阵列采用正相时钟驱动,4、5、6条延时前链对应的寄存器阵列采用反相时钟驱动;
每个寄存器阵列包括第一级寄存器和第二级寄存器;第一级寄存器和第二级寄存器的寄存器个数相同,均为200个;
第1、2、3条延时前链对应的寄存器阵列的连接形式相同,其中第1条延时前链对应的寄存器阵列的连接形式为:
第一级寄存器中每个寄存器一的D端依次对应连接第1条延时前链的一个抽头,每个寄存器一的C端同时连接正相时钟,每个寄存器一的Q端与第二级寄存器中每个寄存器二的D端对应连接,每个寄存器二的C端同时连接反相时钟,所有寄存器二的Q端输出的结果共同组成200位的测量结果;第1、2、3条延时前链对应的寄存器阵列产生3个正相测量结果;
第4、5、6条延时前链对应的寄存器阵列的连接形式相同,其中第4条延时前链对应的寄存器阵列的连接形式为:
第一级寄存器中每个寄存器三的D端依次对应连接第4条延时前链的一个抽头,每个寄存器三的C端同时连接反相时钟,每个寄存器三的Q端与第二级寄存器中每个寄存器四的D端对应连接,每个寄存器四的C端同时连接正相时钟,所有寄存器四的Q端输出的结果共同组成200位的测量结果;第4、5、6条延时前链对应的寄存器阵列产生3个反相测量结果。
6.根据权利要求5所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,粗延时模块包括两个二进制计数器,两个二进制计数器分别由参考时钟的上升沿和下降沿驱动;当触发信号的上升沿到来时,两个二进制计数器被使能,并在参考时钟的驱动下开始工作;上升沿驱动的二进制计数器用于产生粗延时时长的延时,当上升沿驱动的二进制计数器计数达到预设值时,输出使能信号驱动延时后链进行延时;
根据下降沿驱动的二进制计数器与上升沿驱动的二进制计数器的计数值判断在参考时钟驱动下首先开始工作的二进制计数器,根据首先开始工作的二进制计数器的判断结果选择3个正相测量结果或3个反相测量结果作为最终的前链延时时长测量结果。
7.根据权利要求6所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,在3个正相测量结果和3个反相测量结果中选择最终的前链延时时长测量结果的方法为:
若3个正相测量结果和3个反相测量结果中只有一种测量结果没有超出延时前链的量程,则选择没有超出延时前链的量程的测量结果作为最终的前链延时时长测量结果;
若3个正相测量结果和3个反相测量结果均没有超出延时前链的量程,根据首先开始工作的二进制计数器的判断结果确定最终的前链延时时长测量结果的方法为:
若上升沿驱动的二进制计数器先于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较小,选择3个正相测量结果和3个反相测量结果中较小的测量结果作为最终的前链延时时长测量结果;若上升沿驱动的二进制计数器后于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较大,选择3个正相测量结果和3个反相测量结果中较大的测量结果作为最终的前链延时时长测量结果。
8.根据权利要求7所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,采用在线计算方法计算二进制计数器的计数预设值和后链延时时长的方法为:
采用第一映射表RAM存储6条延时前链的实际参数值,所述实际参数值通过码密度校准法得到;采用第二映射表RAM存储延时后链的实际参数值;
将最终的前链延时时长测量结果作为地址输入第一映射表RAM,得到3条延时前链的实际测量结果;对3个实际测量结果求平均值,得到触发信号上升沿与参考时钟第一个上升沿之间的时间间隔的测量值;
采用减法器从设定的延迟时间中减去所述测量值得到剩余延迟时间,将剩余延迟时间除以参考时钟周期,得到的整数部分作为二进制计数器计数的预设值;小数部分作为后链延时时长;采用二分法快速搜索第二映射表RAM中的一个实际参数值,使所述一个实际参数值与所述后链延时时长之间的误差最小,将所述一个实际参数值对应的地址作为延时后链的输入数据。
9.根据权利要求8所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,延时后链模块包括延时后链和后链寄存器阵列;后链寄存器阵列包括一级后链寄存器和二级后链寄存器;
所述延时后链的输入数据为8位的二进制数,将8位的二进制数解码为200位的二进制数后输入到一级后链寄存器中暂时保存,二级后链寄存器根据200位的二进制数驱动延时后链实现后链延时时长的延时;
当二进制计数器计数达到所述预设值,输出使能信号至二级后链寄存器,二级后链寄存器在参考时钟的驱动下将200位的二进制数输入至延时后链,延时后链实现后链延时时长的延时后,产生输出信号。
10.根据权利要求9所述的采用双相位采样与在线计算方式的延时发生系统,其特征在于,在FPGA中,系统时钟信号由混合模式时钟管理器产生,然后输入到全局时钟缓冲器,再由全局时钟缓冲器输出到延时前链和延时后链的每个寄存器。

说明书全文

采用双相位采样与在线计算方式的延时发生系统

技术领域

[0001] 本发明涉及采用双相位采样与在线计算方式的延时发生系统,属于数字延时技术领域。

背景技术

[0002] 延时发生器又称作数字时间转换器(Digital‑to‑Time Converter,DTC),是一种时间控制部件,该装置可以根据需求产生相应的时间间隔。延时发生器在核物理、自动化测试装备、激光打靶、芯片系统、光谱仪器和质谱仪器等领域都有广泛的应用。例如在超高速分幅相机中,需要对快的控制信号进行精确延时以达到每个快门开启之间的时间间隔严格相等的效果,从而使得超高速分幅相机能够稳定工作;在某些通信系统中,需要对数字信号进行精确延时以达到信号同步的效果。延时发生器还可用于多相高精度电源、多轴机械臂等工业领域。多相高精度电源在工作过程中需要严格控制每一相之间的时序,延时发生器可以很好地调整控制信号的时序;多轴机械臂在工作过程中需要协调每个轴的运动,延时发生器可以减小由于控制误差而引起的不一致性。
[0003] 目前,延时发生器的设计方法主要分为模拟法和数字法两种。模拟法是指利用电容器和DAC等部件来产生时间间隔,该设计方法能够达到很高的时间分辨率,但是由于采用了一部分模拟器件,使得设计流程较为复杂,且部分模拟器件的体积较大,不利于提高延时发生器的集成度,进而降低其可靠性。同时模拟法往往开发周期较长,相关产品的更新迭代速度较慢,难以形成良好的产品生态,因此近年来该设计方法很少使用。
[0004] 数字法是指延时发生器由纯数字电路构成,即完全由组合逻辑电路和时序电路构成,一般采用ASIC(Application Specific Integrated Circuit)或者FPGA(Field Programmable Gate Array)进行实现。相比较于FPGA,采用ASIC进行实现更容易达到更高的时间分辨率,且非线性误差较小,但是其开发周期较长,灵活性很差,一旦设计完成后便难以对架构进行调整,因此采用FPGA实现延时发生器是近年来的主流趋势,FPGA也因其灵活性而受到许多科研人员的广泛关注。采用FPGA实现延时能够灵活地改变延时发生器的架构,从而缩短开发周期,同时更容易实现各种复杂算法,进而加快相关技术的研究速度。在一些文献中,延时发生器被封装成相应的IP核以供使用,在很大程度上提高了其在各种型号FPGA上的可移植性。
[0005] 近年来,大多数延时发生器均采用数字法实现,一般常见的高精度时间间隔产生方法有进位延时链法和游标延时链法。两种常见方法的基本结构均为延时链,其结构如图1所示,延时链由若干基本的延时单元首尾级联而成,且相邻两个延时单元之间均引出一个抽头用于查看延时链当前的工作状态。延时单元一般由基本的逻辑门电路构成,每个延时单元均能够产生一定的延迟时间,当输入信号进入延时链后将依次通过每个延时单元。进位延时链法是指直接利用延时链来产生高精度的延时,显然该方法的时间分辨率取决于单个延时单元产生的延迟时间,所以其缺点是时间分辨率相对不高,但相应地实现较为容易;游标延时链法是指利用多条延时链通过时间差分的方式来产生高精度的延时,其原理类似于游标卡尺,时间分辨率为两条延时链中延时单元产生的延迟时间的差,显然该方法能够达到的时间分辨率较高,但相应地也增加了实现的难度。
[0006] 目前绝大部分的延时发生器仅用于产生高精度的时间间隔,并不具备根据随机外触发信号进行实时性延时的要求,这类延时发生器仅能够作为时间数字转换器(Time‑to‑Digital Converter,TDC)的测试仪器。

发明内容

[0007] 针对现有采用进位延时链法的延时器时间分辨率相对较低并且不具备实时性的问题,本发明提供一种采用双相位采样与在线计算方式的延时发生系统。
[0008] 本发明的一种采用双相位采样与在线计算方式的延时发生系统,包括,[0009] 延时前链模,包括6条延时前链及对应的采样电路,采样电路采用双相位采样的方式根据触发信号上升沿的产生时刻及在触发信号上升沿产生之后系统时钟第一个上升沿时刻确定前链延时时长,并通过6条延时前链实现前链延时时长的延时和测量;
[0010] 粗延时模块,根据设定的延迟时间及前链延时时长确定粗延时时长,并采用两个二进制计数器分别在触发信号上升沿产生之后参考时钟的第一个上升沿和下降沿时刻开始计数,直到达到预设值,实现粗延时时长的延时和对6条延时前链的前链延时时长测量结果的筛选;参考时钟的频率为系统时钟频率的2倍,且参考时钟与系统时钟同相位;
[0011] 延时后链模块,根据设定的延迟时间、前链延时时长和粗延时时长确定后链延时时长,并在粗延时模块计数达到预设值后通过延时后链实现后链延时时长的延时;
[0012] 采用Kintex‑7 FPGA中的多个CARRY4单元作为多个延时单元,多个CARRY4单元首尾级联形成所述延时前链和延时后链;每个CARRY4单元引出CO0和CO3两个抽头,相邻两个抽头之间形成一个精细延时区间;通过精细延时区间实现前链延时时长和后链延时时长的延时。
[0013] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,所述粗延时模块用于实现参考时钟周期整数倍的延时;延时前链模块和延时后链模块用于实现小于一个参考时钟周期的延时;通过控制延时后链中参与延时功能的精细延时区间的个数来实现后链延时时长的延时。
[0014] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,实现设定的延迟时间的过程为:
[0015] 对于延时前链模块,触发信号通过6条延时前链的首端进入到延时前链中,当系统时钟的第一个上升沿到来时,读取延时前链的测量结果并启动粗延时模块的二进制计数器开始计数;当二进制计数器的计数值达到预设值时停止计数并启动延时后链模块中的延时后链,当延时后链实现后链延时时长的延时后,延时发生系统产生设定延迟时间的输出信号
[0016] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,每条延时前链对应的采样电路包括寄存器阵列和编码电路;
[0017] 3条延时前链的采样电路由系统时钟信号中的正相时钟驱动,另外3条延时前链的采样电路由系统时钟信号中的反相时钟驱动;
[0018] 每条延时前链包括100个CARRY4单元;系统时钟信号中的正相时钟和反相时钟频率均为125MHz,参考时钟的频率为250MHz;
[0019] 寄存器阵列用于暂时保存延时前链的前链延时时长的200位的测量结果;编码电路用于将200位的测量结果编码为8位的二进制测量结果。
[0020] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,第1、2、3条延时前链对应的寄存器阵列采用正相时钟驱动,4、5、6条延时前链对应的寄存器阵列采用反相时钟驱动;
[0021] 每个寄存器阵列包括第一级寄存器和第二级寄存器;第一级寄存器和第二级寄存器的寄存器个数相同,均为200个;
[0022] 第1、2、3条延时前链对应的寄存器阵列的连接形式相同,其中第1条延时前链对应的寄存器阵列的连接形式为:
[0023] 第一级寄存器中每个寄存器一的D端依次对应连接第1条延时前链的一个抽头,每个寄存器一的C端同时连接正相时钟,每个寄存器一的Q端与第二级寄存器中每个寄存器二的D端对应连接,每个寄存器二的C端同时连接反相时钟,所有寄存器二的Q端输出的结果共同组成200位的测量结果;第1、2、3条延时前链对应的寄存器阵列产生3个正相测量结果;
[0024] 第4、5、6条延时前链对应的寄存器阵列的连接形式相同,其中第4条延时前链对应的寄存器阵列的连接形式为:
[0025] 第一级寄存器中每个寄存器三的D端依次对应连接第4条延时前链的一个抽头,每个寄存器三的C端同时连接反相时钟,每个寄存器三的Q端与第二级寄存器中每个寄存器四的D端对应连接,每个寄存器四的C端同时连接正相时钟,所有寄存器四的Q端输出的结果共同组成200位的测量结果;第4、5、6条延时前链对应的寄存器阵列产生3个反相测量结果。
[0026] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,粗延时模块包括两个二进制计数器,两个二进制计数器分别由参考时钟的上升沿和下降沿驱动;当触发信号的上升沿到来时,两个二进制计数器被使能,并在参考时钟的驱动下开始工作;上升沿驱动的二进制计数器用于产生粗延时时长的延时,当上升沿驱动的二进制计数器计数达到预设值时,输出使能信号驱动延时后链进行延时;
[0027] 根据下降沿驱动的二进制计数器与上升沿驱动的二进制计数器的计数值判断在参考时钟驱动下首先开始工作的二进制计数器,根据首先开始工作的二进制计数器的判断结果选择3个正相测量结果或3个反相测量结果作为最终的前链延时时长测量结果。
[0028] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,在3个正相测量结果和3个反相测量结果中选择最终的前链延时时长测量结果的方法为:
[0029] 若3个正相测量结果和3个反相测量结果中只有一种测量结果没有超出延时前链的量程,则选择没有超出延时前链的量程的测量结果作为最终的前链延时时长测量结果;
[0030] 若3个正相测量结果和3个反相测量结果均没有超出延时前链的量程,根据首先开始工作的二进制计数器的判断结果确定最终的前链延时时长测量结果的方法为:
[0031] 若上升沿驱动的二进制计数器先于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较小,选择3个正相测量结果和3个反相测量结果中较小的测量结果作为最终的前链延时时长测量结果;若上升沿驱动的二进制计数器后于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较大,选择3个正相测量结果和3个反相测量结果中较大的测量结果作为最终的前链延时时长测量结果。
[0032] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,采用在线计算方法计算二进制计数器的计数预设值和后链延时时长的方法为:
[0033] 采用第一映射表RAM存储6条延时前链的实际参数值,所述实际参数值通过码密度校准法得到;采用第二映射表RAM存储延时后链的实际参数值;
[0034] 将最终的前链延时时长测量结果作为地址输入第一映射表RAM,得到3条延时前链的实际测量结果;对3个实际测量结果求平均值,得到触发信号上升沿与参考时钟第一个上升沿之间的时间间隔的测量值;
[0035] 采用减法器从设定的延迟时间中减去所述测量值得到剩余延迟时间,将剩余延迟时间除以参考时钟周期,得到的整数部分作为二进制计数器计数的预设值;小数部分作为后链延时时长;采用二分法快速搜索第二映射表RAM中的一个实际参数值,使所述一个实际参数值与所述后链延时时长之间的误差最小,将所述一个实际参数值对应的地址作为延时后链的输入数据。
[0036] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,延时后链模块包括延时后链和后链寄存器阵列;后链寄存器阵列包括一级后链寄存器和二级后链寄存器;
[0037] 所述延时后链的输入数据为8位的二进制数,将8位的二进制数解码为200位的二进制数后输入到一级后链寄存器中暂时保存,二级后链寄存器根据200位的二进制数驱动延时后链实现后链延时时长的延时;
[0038] 当二进制计数器计数达到所述预设值,输出使能信号至二级后链寄存器,二级后链寄存器在参考时钟的驱动下将200位的二进制数输入至延时后链,延时后链实现后链延时时长的延时后,产生输出信号。
[0039] 根据本发明的采用双相位采样与在线计算方式的延时发生系统,在FPGA中,系统时钟信号由混合模式时钟管理器产生,然后输入到全局时钟缓冲器,再由全局时钟缓冲器输出到延时前链和延时后链的每个寄存器。
[0040] 本发明的有益效果:本发明的延时发生系统采用进位延时链法实现,具备实时性的要求,能够对随机的外触发信号进行延时,即对随机的外触发信号产生绝对的延时,根据所需的延时参数产生相应的延时。同时本发明通过双相位采样缩短了进位延时链的长度,从而降低了延时发生系统的硬件资源占用率,并提高了其时间精度。由于降低了采用进位延时链法实现的延时发生系统的设计难度,并增强了设计方法的通用性,使得所述延时发生系统具备较强的可移植性。附图说明
[0041] 图1是延时链的结构示意图;图中N为延时单元的总数;
[0042] 图2是延时发生系统的工作原理图;图中延时发生器表示本发明中延时发生系统;
[0043] 图3是CARRY4单元的结构示意图,图中S0至S3表示CARRY4单元中四个数据选择器的选择信号端口,DI0至DI3表示CARRY4单元中四个数据选择器的输入信号端口,CIN和CYINIT表示CARRY4单元中第一级数据选择器的两个输入信号端口,其中CIN能够与其他CARRY4单元进行级联,CYINIT能够输入CARRY4单元以外的其他信号;CO0至CO3表示四个抽头,O0至O3表示CARRY4单元中四个异或门的输出信号端口;
[0044] 图4是由CARRY4单元构成延时链的结构示意图;
[0045] 图5是本发明所述采用双相位采样与在线计算方式的延时发生系统的延时原理图;
[0046] 图6是延时前链模块的结构示意图;图中sclk表示系统时钟信号中的正相时钟,sclk_n表示系统时钟信号中的反相时钟;
[0047] 图7是寄存器阵列的结构示意图;
[0048] 图8是粗延时模块的结构示意图;
[0049] 图9是延时前链模块的测量结果示意图;
[0050] 图10是粗延时计数器工作状态示意图;
[0051] 图11是本发明系统的在线计算流程示意图;
[0052] 图12是延时后链和后链寄存器阵列的结构示意图;图中R表示寄存器;
[0053] 图13是FPGA时钟布线示意图;
[0054] 图14是FPGA时钟区域分布示意图;
[0055] 图15是本发明所述延时发生系统中所有延时链的布局示意图;
[0056] 图16是延时后链输入寄存器布局示意图。

具体实施方式

[0057] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0058] 需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0059] 下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0060] 具体实施方式一、结合图1至图5所示,本发明提供了一种采用双相位采样与在线计算方式的延时发生系统,包括,
[0061] 延时前链模块,包括6条延时前链及对应的采样电路,采样电路采用双相位采样的方式根据触发信号上升沿的产生时刻及在触发信号上升沿产生之后系统时钟第一个上升沿时刻确定前链延时时长,并通过6条延时前链实现前链延时时长的延时和测量;
[0062] 粗延时模块,根据设定的延迟时间及前链延时时长确定粗延时时长,并采用两个二进制计数器分别在触发信号上升沿产生之后参考时钟的第一个上升沿和下降沿时刻开始计数,直到达到预设值,实现粗延时时长的延时和对6条延时前链的前链延时时长测量结果的筛选;参考时钟的频率为系统时钟频率的2倍,且参考时钟与系统时钟同相位;
[0063] 延时后链模块,根据设定的延迟时间、前链延时时长和粗延时时长确定后链延时时长,并在粗延时模块计数达到预设值后通过延时后链实现后链延时时长的延时;
[0064] 采用Kintex‑7 FPGA中的多个CARRY4单元作为多个延时单元,多个CARRY4单元首尾级联形成所述延时前链和延时后链;每个CARRY4单元引出CO0和CO3两个抽头,相邻两个抽头之间形成一个精细延时区间;通过精细延时区间实现前链延时时长和后链延时时长的延时。
[0065] 本实施方式产生延时的原理图如图2所示。
[0066] 本实施方式针对现有延时发生器的设计难度较大,设计方法通用性差的问题,采用双相位采样与在线计算方式进行延时,其整体架构基于进位延时链法实现,可按照本实施方式的限定进行特定的布局布线设计,并采用Xilinx Kintex‑7 FPGA实现整体方案。
[0067] 结合图3所示,CARRY4内部由5个数据选择器和4个异或门构成,每个CARRY4单元最多能够引出4个抽头(CO0~CO3),本实施方式将引出CO0和CO3两个抽头。多个CARRY4单元首尾级联形成所述延时前链和延时后链,如图4所示。其中,一个CARRY4单元被分割为两个精细延时区间,其中前一个CARRY4单元的CO0‑CO3包含了3个数据选择器,作为一个精细延时区间;前一个CARRY4单元的CO3与后一个CARRY4单元的CO0之间包含了两个数据选择器和一段物理布线,作为第二个精细延时区间。理论上两个精细延时区间能够产生的最大延迟时间分别为32ps和22ps,在Kintex‑7 FPGA实际使用的过程中,CARRY4单元产生的延迟时间小于上述的值。
[0068] 虽然延时链能够产生高精度的延时,但是单条延时链能够产生的总延时较短,导致其延时范围很小,所以本实施方式采用了粗延时与细延时相结合的延时方案,在保证较高时间分辨率的前提下产生较长的时间间隔,其原理如图5所示。
[0069] 结合图5所示,粗延时是指利用通用的计数器实现的延时,所述粗延时模块用于实现参考时钟周期整数倍的延时,即实现大于一个参考时钟周期的延时;细延时是指利用延时前链模块和延时后链模块实现小于一个参考时钟周期的延时;通过控制延时后链中参与延时功能的精细延时区间的个数来实现后链延时时长的延时。
[0070] 本实施方式中,实现设定的延迟时间的过程为:
[0071] 外触发信号一般是一个脉冲信号,以该脉冲信号的上升沿作为基准。由于外触发信号的到来时刻是完全随机的,所以当外触发信号的上升沿到来时,其与系统时钟信号的上升沿之间一定存在一段时间间隔,且该时间间隔小于一个系统时钟周期,本实施方式采用延时链对该时间间隔进行测量,该延时链为延时前链。
[0072] 对于延时前链模块,触发信号通过6条延时前链的首端进入到延时前链中,当系统时钟的第一个上升沿到来时,读取延时前链的测量结果并启动粗延时模块的二进制计数器开始计数;然后将延时前链的测量结果从预设的延迟时间中减去,计算得到的剩余延迟时间由粗延时计数器和延时后链共同产生;粗延时计数器用于产生剩余延迟时间中大于一个系统时钟周期的时间间隔,当二进制计数器的计数值达到预设值时停止计数并启动延时后链模块中的延时后链,延时后链用于补偿剩余延迟时间中小于一个系统时钟周期的部分;当延时后链实现后链延时时长的延时后,延时发生系统产生设定延迟时间的输出信号。
[0073] 本实施方式所述延时发生系统同时包含了时间间隔的测量和产生功能。为了提高延时的时间精度,需要同时提高时间间隔测量和产生过程的时间精度。在时间间隔的测量中,本实施方式采用双相位采样与多链平均测量相结合的方法,在保证时间精度的同时降低了FPGA的硬件资源占用率。将6条延时前链与相关的硬件资源包装成一个模块形成延时前链模块。
[0074] 进一步,结合图6所示,每条延时前链对应的采样电路包括寄存器阵列和编码电路;
[0075] 3条延时前链的采样电路由系统时钟信号中的正相时钟驱动,另外3条延时前链的采样电路由系统时钟信号中的反相时钟驱动;外触发信号通过每条延时前链的首端同时输入到延时前链中;6组采样电路分别采用正、反相时钟进行采样的方式能够将等效采样频率提高为系统时钟频率的2倍,相应地,延时前链模块中也能够采用长度更短的延时前链,从而使得延时链在FPGA中的空间跨度更小,所使用的硬件资源也更少;
[0076] 每条延时前链包括100个CARRY4单元;系统时钟信号中的正相时钟和反相时钟频率均为125MHz,参考时钟的频率为250MHz;等效采样频率为250MHz;寄存器阵列用于暂时保存延时前链的前链延时时长的200位的测量结果,如图7所示,主要由两级寄存器构成,两级寄存器分别由正、反相系统时钟驱动,这样的设计能够避免由于某些寄存器不满足建立保持时间而产生的亚稳态传递到后级电路;编码电路用于将200位的测量结果编码为8位的二进制测量结果用于后续的在线计算,其采用了逐级编码的方式,降低了硬件资源的占用率。
[0077] 结合图7所示,第1、2、3条延时前链对应的寄存器阵列采用正相时钟驱动,4、5、6条延时前链对应的寄存器阵列采用反相时钟驱动;
[0078] 每个寄存器阵列包括第一级寄存器和第二级寄存器;第一级寄存器和第二级寄存器的寄存器个数相同,均为200个;
[0079] 第1、2、3条延时前链对应的寄存器阵列的连接形式相同,其中第1条延时前链对应的寄存器阵列的连接形式为:
[0080] 第一级寄存器中每个寄存器一的D端依次对应连接第1条延时前链的一个抽头,每个寄存器一的C端同时连接正相时钟,每个寄存器一的Q端与第二级寄存器中每个寄存器二的D端对应连接,每个寄存器二的C端同时连接反相时钟,所有寄存器二的Q端输出的结果共同组成200位的测量结果;第1、2、3条延时前链对应的寄存器阵列产生3个正相测量结果;
[0081] 第4、5、6条延时前链对应的寄存器阵列的连接形式相同,其中第4条延时前链对应的寄存器阵列的连接形式为:
[0082] 第一级寄存器中每个寄存器三的D端依次对应连接第4条延时前链的一个抽头,每个寄存器三的C端同时连接反相时钟,每个寄存器三的Q端与第二级寄存器中每个寄存器四的D端对应连接,每个寄存器四的C端同时连接正相时钟,所有寄存器四的Q端输出的结果共同组成200位的测量结果;第4、5、6条延时前链对应的寄存器阵列产生3个反相测量结果。
[0083] 再进一步,结合图8所示,粗延时模块包括两个粗延时计数器,即两个二进制计数器,两个二进制计数器分别由参考时钟的上升沿和下降沿驱动,驱动粗延时计数器的参考时钟频率为250MHz,是延时前链模块中驱动采样电路的系统时钟频率的2倍,与等效采样频率相等;当触发信号的上升沿到来时,两个二进制计数器被使能,并在参考时钟的驱动下开始工作;由于外触发信号的到来时刻是完全随机的,所以两个粗延时计数器的工作状态可以分为两种情况,上升沿驱动的粗延时计数器先于下降沿驱动的粗延时计数器开始工作,或者上升沿驱动的粗延时计数器后于下降沿驱动的粗延时计数器开始工作,两个粗延时计数器的工作状态完全取决于外触发信号的到来时刻;由参考时钟信号下降沿驱动的粗延时计数器仅用于进行辅助判断,其并不产生粗延时;上升沿驱动的二进制计数器用于产生粗延时时长的延时,当上升沿驱动的二进制计数器计数达到预设值时,输出使能信号驱动延时后链进行延时;
[0084] 根据下降沿驱动的二进制计数器与上升沿驱动的二进制计数器的计数值判断在参考时钟驱动下首先开始工作的二进制计数器,根据首先开始工作的二进制计数器的判断结果选择3个正相测量结果或3个反相测量结果作为最终的前链延时时长测量结果。
[0085] 再进一步,结合图9和图10所示,在3个正相测量结果和3个反相测量结果中选择最终的前链延时时长测量结果的方法为:
[0086] 根据图6所示延时前链模块的结构,在一次测量过程中将产生6个测量结果,但是显然仅有其中一相的测量结果是有效的,即6个测量结果中的3个,所以需要对6个测量结果进行筛选。根据6个测量结果是否超出相应延时链的量程可以将其划分为两种情况,如图9所示,测量结果分为正常状态和非正常状态。
[0087] 图9中,Tc是系统时钟周期,为8ns;Tch是系统时钟周期的一半,为4ns;Td是延时前链产生的延时,Td介于Tch和Tc之间;tp是外触发信号上升沿与正相系统时钟信号上升沿之间的时间间隔;tn是外触发信号上升沿与反相系统时钟信号上升沿之间的时间间隔。虽然外触发信号的到来时刻是完全随机的,但是至少有一相的测量结果是没有超出延时链量程的。
[0088] 若3个正相测量结果和3个反相测量结果中只有一种测量结果没有超出延时前链的量程,则选择没有超出延时前链的量程的测量结果作为最终的前链延时时长测量结果;图9中(a)所示的正常状态中,其中一相的测量结果没有超出延时链的量程,而另一相的测量结果超出了延时链的量程,显然应当选取没有超出延时链量程的3个测量结果;
[0089] 若3个正相测量结果和3个反相测量结果均没有超出延时前链的量程,根据首先开始工作的二进制计数器的判断结果确定最终的前链延时时长测量结果的方法为:
[0090] 在图9中(b)所示的非正常状态中,由于外触发信号的上升沿与正相或者反相系统时钟信号的上升沿之间的时间间隔较小,使得两相的测量结果均没有超出延时链的量程,该状态下则需要借助粗延时计数器的工作状态来进行辅助判断,由系统时钟信号下降沿驱动的粗延时计数器能够进行辅助判断,如图10所示。
[0091] 两个粗延时计数器的工作状态根据其开始工作的先后顺序分为两种情况,若上升沿驱动的二进制计数器先于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较小,选择3个正相测量结果和3个反相测量结果中较小的测量结果作为最终的前链延时时长测量结果;若上升沿驱动的二进制计数器后于下降沿驱动的二进制计数器开始工作,触发信号上升沿与上升沿驱动的二进制计数器的参考时钟第一个上升沿之间的时间间隔相对较大,选择3个正相测量结果和3个反相测量结果中较大的测量结果作为最终的前链延时时长测量结果。
[0092] 再进一步,本实施方式设计的延时发生系统能够对完全随机的外触发信号进行延时,其具备实时性的要求,所以采用在线计算的方式得到粗延时计数器的设定值和延时后链需要产生的延迟时间,结合图11所示,采用在线计算方法计算二进制计数器的计数预设值和后链延时时长的方法为:
[0093] 图11中共有两个映射表RAM,RAM中存储了每条延时链的实际参数值,所述实际参数值通过码密度校准法得到;码密度校准法与ADC中的码密度校准法原理类似,是一种基于统计规律的校准方法,通过对时间间隔宽度完全随机的脉冲信号进行量化统计分析,从而得到延时链的实际参数值;
[0094] 采用第一映射表RAM存储6条延时前链的实际参数值,采用第二映射表RAM存储延时后链的实际参数值;
[0095] 将最终的前链延时时长测量结果作为地址输入第一映射表RAM,得到3条延时前链的实际测量结果;对3个实际测量结果求平均值,得到触发信号上升沿与参考时钟第一个上升沿之间的时间间隔的测量值;
[0096] 采用减法器从设定的延迟时间中减去所述测量值得到剩余延迟时间,将剩余延迟时间除以参考时钟周期,得到的整数部分作为二进制计数器计数的预设值;小数部分作为后链延时时长;由于延时链的实际参数值以量化的形式存储在RAM中,所以采用二分法快速搜索第二映射表RAM中的一个实际参数值,使所述一个实际参数值与所述后链延时时长之间的误差最小,将所述一个实际参数值对应的地址作为延时后链的输入数据。
[0097] 在线计算的流程均在粗延时计数器工作的过程中进行,且在线计算过程中所有参与计算的数据类型均为单精度浮点数。
[0098] 结合图12所示,延时后链模块包括延时后链和后链寄存器阵列;后链寄存器阵列包括一级后链寄存器和二级后链寄存器;
[0099] 所述延时后链的输入数据为8位的二进制数,当在线计算过程结束后,将8位的二进制数解码为200位的二进制数后输入到一级后链寄存器中暂时保存,并等待粗延时计数器达到在线计算得到的设定值,二级后链寄存器根据200位的二进制数驱动延时后链实现后链延时时长的延时;
[0100] 当二进制计数器计数达到所述预设值,输出使能信号至二级后链寄存器,二级后链寄存器在参考时钟的驱动下将200位的二进制数输入至延时后链,延时后链实现后链延时时长tg的延时后,在完成整个延时过程后产生输出信号。
[0101] 为了保证延时发生系统具有较高的时间精度,需要对每条延时链在FPGA中所处的位置进行布局;结合图13所示,在FPGA中,系统时钟信号由混合模式时钟管理器(Mixed‑Mode Clock Manager,MMCM)产生,然后输入到全局时钟缓冲器(BUFG),再由全局时钟缓冲器输出到延时前链和延时后链的每个寄存器,为FPGA中的所有寄存器提供时钟信号。FPGA的硬件资源被划分为多个时钟区域,如图14所示,本实施方式所使用的Kintex‑7 FPGA的硬件资源被划分为14个时钟区域。BUFG的所在位置几乎位于FPGA的几何中心处,根据图13中的描述,从BUFG引出的时钟布线在FPGA中的分布呈现“树状”结构,每个时钟区域都从BUFG引出一条时钟布线为该时钟区域提供系统时钟信号,如图14所示。
[0102] 为了提高延时链的线性度并减小由于图14中所示的时钟布线造成的影响,需要将延时链布置在FPGA中合理的位置处,如图15所示,延时链分布在时钟区域3、4、10、11中,并关于BUFG对称分布,且尽可能地靠近BUFG。每个时钟区域的宽度为50个CARRY4单元,每条延时链恰好跨越两个相邻的时钟区域。如图15所示,从左至右依次为延时后链、3条正相延时前链和3条反相延时前链,每条延时链在FPGA中的布局都呈现为一条“直线”的形式,所有CARRY4单元都均匀分布在FPGA中,提高了延时链的线性度和一致性。
[0103] 为了进一步提高延时发生系统的时间精度,在完成延时链的布局后还需要对延时后链的输入寄存器在FPGA中所处的位置进行布局,如图16所示,延时后链的输入寄存器是指图12中后链寄存器阵列的第二级寄存器,根据图12中第二级寄存器与延时后链之间的连接关系,将第二级寄存器布置在延时后链的左侧位置,并使其均匀分布在FPGA中,与对应的CARRY4单元并排分布。第二级寄存器的布局也呈现为一条“直线”的形式,与CARRY4单元的布局相同,第二级寄存器与对应的CARRY4单元之间的每一段物理布线长度均相等,如图16所示,图中的红色连线即为物理布线。
[0104] 虽然在本文中参照了特定的实施方式来描述本发明,但是应该理解的是,这些实施例仅仅是本发明的原理和应用的示例。因此应该理解的是,可以对示例性的实施例进行许多修改,并且可以设计出其他的布置,只要不偏离所附权利要求所限定的本发明的精神和范围。应该理解的是,可以通过不同于原始权利要求所描述的方式来结合不同的从属权利要求和本文中所述的特征。还可以理解的是,结合单独实施例所描述的特征可以使用在其它所述实施例中。
QQ群二维码
意见反馈