基于fpga测试自适应进位延时链系数调节系统及方法

文档序号:1845176 发布日期:2021-11-16 浏览:20次 >En<

阅读说明:本技术 基于fpga测试自适应进位延时链系数调节系统及方法 (Self-adaptive carry delay chain coefficient adjusting system and method based on FPGA (field programmable Gate array) test ) 是由 廖阳阳 李全任 于 2021-10-20 设计创作,主要内容包括:本发明公开了一种基于FPGA测试自适应进位延时链系数调节系统及方法,包括模数信号转换与信号展宽电路、FPGA单元、数据处理模块,所述FPGA单元包括边缘检测模块、满时钟进位链模块、粗时钟计数模块、进位链计数模块,模数信号转换与信号展宽电路是为了适应各种电信号形式和为了适应不同的信号宽度。边缘检测模块用于对数据边缘定位,粗时钟计数模块用于对信号粗精度计数。满时钟进位链模块用于实时传输满时钟在同一条进位链传输的进位链数量,用于实时校准进位链精度数据,本发明降低了进位链测试系统中,温度以及电压对测时精度的影响,提高进位链测时精度。(The invention discloses an adaptive carry time delay chain coefficient adjusting system and method based on FPGA (field programmable gate array) test, which comprises an analog-digital signal conversion and signal broadening circuit, an FPGA unit and a data processing module, wherein the FPGA unit comprises an edge detection module, a full clock carry chain module, a coarse clock counting module and a carry chain counting module, and the analog-digital signal conversion and signal broadening circuit is used for adapting to various electric signal forms and different signal widths. The edge detection module is used for positioning data edges, and the coarse clock counting module is used for counting the coarse precision of signals. The full clock carry chain module is used for transmitting the carry chain quantity transmitted by a full clock in the same carry chain in real time and is used for calibrating carry chain precision data in real time.)

基于FPGA测试自适应进位延时链系数调节系统及方法

技术领域

本发明涉及一种基于FPGA的高精度信号时间间隔测试系统及方法,属于电子学技术领域。

背景技术

现代高精度时间测时系统,涉及应用场景很多,主要有TOF(Time of flight)相机,激光测距,IC领域波形信号测试。测试方法有基于专用ASIC芯片测时和基于FPGA测时两种方案,两种方案相比,专用ASIC适合通道数量少,测试精度高,测试芯片个体差异较大,芯片成本高,需要外围输入输出电路的特点,基于FPGA测时具有价格成本低,支持通道数量多,无需额外电路,测试精度相对ASIC芯片略低的特点。在绝大部分中低端对时间测试相对要求低的商用场合,基于FPGA的测时系统,应用较为广泛。基于FPAG测时主要测试方法包括:基于高速时钟数量计数测时,时钟计数+PLL相位检测测时,时钟计数+进位延时链测时。进位链是FPGA底层最小的单元的基本元素,具有分布广泛,刻度时间短的优点,故在测时系统中应用广泛。当电信号在线路中传递时,受温度变化,电压变化影响比较大。

发明内容

发明目的:为了解决原技术存在的测时延时链精度受环境温度以及电压影响的问题,本发明提供一种能够优化进位链测试中温度以及电压对测试数据的影响的基于FPGA测试自适应进位延时链系数调节系统及方法,降低了进位链测试系统中温度以及电压对测时精度的影响,提高进位链测时精度。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种基于FPGA测试自适应进位延时链系数调节系统,包括模数信号转换与信号展宽电路、FPGA单元、数据处理模块,所述FPGA单元包括边缘检测模块、满时钟进位链模块、粗时钟计数模块、进位链计数模块,其中:

所述模数信号转换与信号展宽电路用于对起始模拟信号进行数模信号转换,并将转换的信号进行展宽,得到初始TTL电平信号,并将得到初始TTL电平信号发送给FPGA单元。用于对结束模拟信号进行数模信号转换,并将转换的信号进行展宽,得到结束TTL电平信号,并将得到结束TTL电平信号发送给FPGA单元。

所述边缘检测模块用于对初始TTL电平信号进行边缘定位,得到初始进位链边缘定位延时数据,并将初始进位链边缘定位延时数据发送给进位链计数模块。用于对结束TTL电平信号进行边缘定位,得到结束进位链边缘定位延时数据,并将结束进位链边缘定位延时数据发送给进位链计数模块。

所述满时钟进位链模块用于当边沿信号检测结束时,处理初始TTL电平信号得到满时钟初始TTL电平信号,并将得到的满时钟初始TTL电平信号发送给进位链计数模块进行满时钟检测计数。

所述进位链计数模块用于根据初始进位链边缘定位延时数据进行边沿检测计数,得到最终边沿时钟个数T0,并将最终边沿时钟个数T0发送给数据处理模块。用于根据满时钟初始TTL电平信号进行检测计数,得到满时钟进位链计数Tz,将满时钟进位链计数Tz发送给数据处理模块。用于根据结束进位链边缘定位延时数据进行边沿检测计数,得到结束进位链边缘计数T1,并将结束进位链边缘计数T1发送给数据处理模块。

所述粗时钟计数模块用于当边沿检测模块开始处理初始TTL电平信号对初始TTL电平信号开始计数,当进位链计数模块停止对结束进位链边缘定位延时数据进行边沿检测计数时,停止对结束TTL电平信号计数,得到粗时钟计数N,将粗时钟计数N发送给数据处理模块。

所述数据处理模块用于接收上传的最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N,通过以下公式计算高精度测试时间:

其中,Ttof表示测试时间,Tclk表示经过PLL倍频后的时钟间隔。

优选的:包括进位链级联连接模块、进位链模块、D触发器单元、寄存器,所述进位链模块包括一条以上的进位链,所述D触发器单元包括一个以上的D触发器,所述进位链级联连接模块用于将进位链进行级联连接,每条进位链与连接一个D触发器,所述D触发器分别与寄存器连接。

优选的:所述进位链与D触发器一一对应。

优选的:所述数据处理模块为FPGA板或为上位机。

优选的:包括网口模块,当数据处理模块为上位机时,所述网口模块用于将最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N发送给上位机。

一种基于FPGA测试自适应进位延时链系数调节方法,包括以下步骤:

步骤1,当起始模拟信号有电平阈值超过既定电平阈值一时,判定起始模拟信号有效,对起始模拟信号进行展宽,展宽后的信号为初始TTL电平信号,将初始TTL电平信号输入给FPGA单元进行起始边沿进位链检测。

FPGA单元检测到起始模拟信号有效,边沿检测模块开始处理初始TTL电平信号,同时粗时钟计数开始对初始TTL电平信号计数。边沿检测模块检测完后输出初始进位链边缘定位延时数据,寄存器存下此时初始进位链边缘定位延时数据,并将初始进位链边缘定位延时数据发送给进位链计数模块进行边沿检测计数,得到最终边沿时钟个数T0,并将最终边沿时钟个数T0发送给上位机。

步骤2,当边沿信号检测结束时,开始进行满时钟计数检测:满时钟进位链模块开始处理初始TTL电平信号,并将处理后的初始TTL电平信号发送给进位链计数模块进行满时钟检测计数,得到满时钟进位链计数Tz,将满时钟进位链计数Tz发送给上位机。

步骤3,当结束模拟信号有电平阈值超过既定电平阈值二时,判定结束模拟信号有效,对结束模拟信号进行展宽,展宽后的信号为结束TTL电平信号,将结束TTL电平信号输入给FPGA单元进行结束边沿进位链检测。

FPGA单元检测到结束模拟信号有效,边沿检测模块开始处理结束TTL电平信号,同时粗时钟计数开始对结束TTL电平信号计数。边沿检测模块检测完后输出结束进位链边缘定位延时数据,寄存器存下此时结束进位链边缘定位延时数据,并将结束进位链边缘定位延时数据发送给进位链计数模块进行边沿检测计数,得到结束进位链边缘计数T1,同时粗时钟计数停止计数,得到粗时钟计数N。将结束进位链边缘计数T1和粗时钟计数N发送给上位机。

步骤4,所述上位机接收上传的最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N,通过以下公式计算高精度测试时间:

其中,Ttof表示测试时间,Tclk表示经过PLL倍频后的时钟间隔。

优选的:包括网口模块,所述网口模块用于将最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N发送给上位机。

本发明相比现有技术,具有以下有益效果:

1.实时动态调整进位链精度系数,极大的提高了测时精度,在温度变化大以及FPGA内核电压不稳定的场景下,该发明测时精度相比不加实时测时系统,效果提升明显。

2.系统实现对FPGA资源占用率低,实际设计过程中,可以将本发明以模块的形式,将软件模块以及硬件最小系统嵌入到要进行测时的系统中。

附图说明

图1为本发明硬件系统框图。

图2为FPGA单元设计框图。

图3为进位链测时基本原理。

图4为进位链模块在底层实现基本设计框图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种基于FPGA测试自适应进位延时链系数调节系统,如图1、2所示:包括模数信号转换与信号展宽电路、FPGA单元、网口模块、上位机、进位链级联连接模块、进位链模块、D触发器单元、寄存器,所述FPGA单元包括边缘检测模块、满时钟进位链模块、粗时钟计数模块、进位链计数模块,FPGA单元为FPGA最小系统板,用于实现进位链延时测时以及数据传输。其中:

所述模数信号转换与信号展宽电路用于对起始模拟信号进行数模信号转换,并将转换的信号进行展宽,得到初始TTL电平信号,并将得到初始TTL电平信号发送给FPGA单元。用于对结束模拟信号进行数模信号转换,并将转换的信号进行展宽,得到结束TTL电平信号,并将得到结束TTL电平信号发送给FPGA单元。所述模数信号转换与信号展宽电路包括模数信号转换模块和信号展宽模块,模数信号转换模块是为了适应各种电信号形式,信号展宽模块是为了适应不同的信号宽度。

所述边缘检测模块用于对初始TTL电平信号进行边缘定位,得到初始进位链边缘定位延时数据,并将初始进位链边缘定位延时数据发送给进位链计数模块。用于对结束TTL电平信号进行边缘定位,得到结束进位链边缘定位延时数据,并将结束进位链边缘定位延时数据发送给进位链计数模块。

所述满时钟进位链模块用于当边沿信号检测结束时,处理初始TTL电平信号得到满时钟初始TTL电平信号,并将得到的满时钟初始TTL电平信号发送给进位链计数模块进行满时钟检测计数。满时钟进位链模块用于实时传输满时钟在同一条进位链传输的进位链数量,用于实时校准进位链精度数据。

所述进位链计数模块用于根据初始进位链边缘定位延时数据进行边沿检测计数,得到最终边沿时钟个数T0,并将最终边沿时钟个数T0通过网口模块发送给上位机。用于根据满时钟初始TTL电平信号进行检测计数,得到满时钟进位链计数Tz,将满时钟进位链计数Tz通过网口模块发送给上位机。用于根据结束进位链边缘定位延时数据进行边沿检测计数,得到结束进位链边缘计数T1,并将结束进位链边缘计数T1通过网口模块发送给上位机。

所述粗时钟计数模块用于当边沿检测模块开始处理初始TTL电平信号对初始TTL电平信号开始计数,当进位链计数模块停止对结束进位链边缘定位延时数据进行边沿检测计数时,停止对结束TTL电平信号计数,得到粗时钟计数N,将粗时钟计数N通过网口模块发送给上位机。

所述网口传输模块用于上位机指令接收,并将接收到的上位机指令发送给FPGA单元。用于接收FPGA单元的延时链数据,并将接收到的延时链数据发送给上位机。

在本发明测试系统中:

时间测量 =粗精度时间个数时钟间隔 + 信号边沿进位链个数进位链精度

其中,

进位链精度 = 时钟间隔 ÷ 满时钟进位链个数。

为简化FPGA单元设计,本发明优选将两步计算放到上位机软件中,借助上位机软件强大并且简捷的方式进行数据处理,FPGA负责产生数据,以及传输数据,具体实施中如果有更强的实时性要求,在FPGA逻辑资源允许的情况下,可以在FPGA内部实现。

所述上位机用于接收网口模块上传的最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N,通过以下公式计算高精度测试时间:

其中,Ttof表示测试时间,Tclk表示经过PLL倍频后的时钟间隔。

PC上位机用于接收FPGA最小系统版的进位链测时数据以及上位机软件用于场景模拟和数据处理。

如图3所示,输入信号主要包含两部分,起始信号T_start和结束信号T_stop ,进位链测时是为了获取起始信号T_start 和结束信号T_stop之间的精准时间,需要测量的时间量主要包括高精度T_start和T_stop各自的边沿信号,以及粗时钟T_start与T_stop之间的时钟间隔。

如图4所示,所述进位链模块包括一条以上的进位链,所述D触发器单元包括一个以上的D触发器,所述进位链级联连接模块用于将进位链进行级联连接,每条进位链与连接一个D触发器,且所述进位链与D触发器一一对应。所述D触发器分别与寄存器连接。信号输入直接引入传给进位链,将信号板上走线约束到一条链上,每个链连接一级D触发器,用于记录每个时钟状态下的D触发器状态。

一种基于FPGA测试自适应进位延时链系数调节方法,包括以下步骤:

步骤1,当起始模拟信号有电平阈值超过既定电平阈值一(此既定电平阈值一可以通过数模转换模块调整)时,判定起始模拟信号有效,对起始模拟信号进行展宽,展宽参数可以通过信号展宽模块的电路阻容系数调整,展宽后的信号为初始TTL电平信号,将初始TTL电平信号输入给FPGA单元进行起始边沿进位链检测。

FPGA单元检测到起始模拟信号有效,边沿检测模块开始处理初始TTL电平信号,同时粗时钟计数开始对初始TTL电平信号计数。边沿检测模块检测完后输出初始进位链边缘定位延时数据,寄存器存下此时初始进位链边缘定位延时数据,并将初始进位链边缘定位延时数据发送给进位链计数模块进行边沿检测计数,得到最终边沿时钟个数T0,并将最终边沿时钟个数T0通过网口模块发送给上位机。

步骤2,当起始边沿信号进位链检测结束时,此时由于信号展宽,展宽周期远远大于整时钟周期,故当边沿信号检测结束时,开始进行满时钟计数检测:满时钟进位链模块开始处理初始TTL电平信号,并将处理后的初始TTL电平信号发送给进位链计数模块进行满时钟检测计数,得到满时钟进位链计数Tz,将满时钟进位链计数Tz通过网口模块发送给上位机。满时钟进位链计数和边沿信号进位链计数为同一模块,不同时刻的使用。满时钟计数检测的进位链产生和检测方法与边沿信号进位链检测一致。

步骤3,当结束模拟信号有电平阈值超过既定电平阈值二(此既定电平阈值二可以通过数模转换模块调整)时,判定结束模拟信号有效,对结束模拟信号进行展宽,展宽参数可以通过信号展宽模块的电路阻容系数调整,展宽后的信号为结束TTL电平信号,将结束TTL电平信号输入给FPGA单元进行结束边沿进位链检测。

FPGA单元检测到结束模拟信号有效,边沿检测模块开始处理结束TTL电平信号。边沿检测模块检测完后输出结束进位链边缘定位延时数据,寄存器存下此时结束进位链边缘定位延时数据,并将结束进位链边缘定位延时数据发送给进位链计数模块进行边沿检测计数,得到结束进位链边缘计数T1,同时粗时钟计数停止计数,得到粗时钟计数N。将结束进位链边缘计数T1和粗时钟计数N通过网口模块发送给上位机。

步骤4,所述上位机接收网口模块上传的最终边沿时钟个数T0、整时钟进位链计数Tz、结束进位链边缘计数T1和粗时钟计数N以及已知的FPGA软件经过PLL倍频后的时钟间隔Tclk,通过以下公式计算高精度测试时间:

其中,Ttof表示测试时间,Tclk表示经过PLL倍频后的时钟间隔。

上位机根据得到的结果进行场景模拟。

本发明所涉及的进位延时优化方法时间测试精度的提高有非常显著的效果。尤其时在一些环境恶劣的场景,效果更加明显。对于对时间精度要求比较高的场景,非常适合使用。进位链在传输过程中,受温度和电压变化波动影响。在传统进为链延时测试中,要得到高精度测试数据,需要降低温度以及电压的影响,需要外部加温控设备,稳压电路设计需要更加考究。本发明方法与传统的基于FPGA进位链延时测试方法相比,具有精度测时更高,资源使用增加少,对外部环境依赖性低,使用场景更加广泛等特点。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:进行刻度指示的无指针式电子表装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!