一种基于FPGA和高精度延时芯片的数字信号延时方法与流程

文档序号:24406009发布日期:2021-03-26 17:08阅读:1279来源:国知局
一种基于FPGA和高精度延时芯片的数字信号延时方法与流程
一种基于fpga和高精度延时芯片的数字信号延时方法
技术领域
1.本发明属于电子学技术领域,尤其涉及一种基于fpga和高精度延时芯片的数字信号延时方法。


背景技术:

2.在现代的大型物理实验中,各电子学设备和仪器一般都利用电脉冲触发信号来进行启停,或者在试验中利用脉冲触发信号触发试验设备的某项功能。图1为现有的典型大型物理试验的装置结构示意图,从图中可以看出各设备或仪器的位置摆放不同,除此之外由于各设备实现的功能和仪器设备启停时序要求也不同,因此对输入设备或仪器的电脉冲触发信号的时间和宽度的要求也有所不同。在一些有较高要求的实验中,设备和仪器不仅要求触发信号的时间和宽度的分辨率达到10ps级,而且还对电脉冲触发信号的抖动和上升时间也有严格要求。为解决上述问题,在大型物理实验的触发系统往往采用高精度延时仪器对各电子学设备和仪器的触发信号分别进行延时和宽度设置。
3.传统的基于模拟时间

幅度变换器(tac)和模拟游标卡尺的延时仪器由于电路复杂、集成度低、成本高昂、功耗较高,已逐渐被数字延时仪所取代。
4.现有的数字延时方法有以下两类:第一类是采用高精度延时芯片实现延时,由于该方法中不对信号进行粗延时处理,其延时的动态范围取决于延时芯片,一般延时芯片的动态范围只有几个微秒。因此虽然这种方法的延时分辨可达10ps级,但其延时动态范围却只有几个微秒,达不到大型物理实验的要求;
5.第二类是采用现场可编程逻辑门阵列(fpga)芯片构建粗计数器实现延时,这种方法的延时动态范围较大,可以满足实验要求,但由于其延时的分辨能力由粗计数器的时钟周期决定,时钟周期往往是纳秒级,因此这种方法的分辨能力却只有纳秒级。
6.因此,亟需一种数字信号延时方法,该方法能够实现ps级的延时分辨及大动态范围的时间延时,并能够降低延时抖动。


技术实现要素:

7.有鉴于此,本发明提供一种基于fpga和高精度延时芯片的数字信号延时方法。
8.为达此目的,本发明采用以下技术方案:一种基于fpga和高精度延时芯片的数字信号延时方法,所述方法包括以下步骤:
9.s1:用户根据需求设置输入信号的延时时长t与延时后输出脉冲的宽度tw;
10.s2:利用tdc测量输入信号相对于fpga时钟的时间值t1;
11.s3:利用参数t、tw和t1分别计算数字信号前沿或后沿的延时参数;
12.s4:利用步骤s3中计算的延时参数,对数字信号前沿和后沿进行延时处理;
13.s5:通过逻辑运算合成经过延时处理的信号前沿和后沿,获得延时和宽度均精确可调的输出脉冲。
14.优选的,所述步骤s1中参数t和tw满足如下关系:t<tclk
×
(2
n

1),t+tw<tclk
×
(2
n

1),其中,n为粗计数器的位数,tclk为粗延时器的延时时钟周期。
15.优选的,上述步骤s2中的时间

数字变换器(tdc)为fpga内构建的tdc和fpga芯片外的专用tdc芯片中的任意一种。
16.优选的,上述步骤s3中信号前沿延时参数与参数t和t1相关,后沿延时参数与参数t、tw和t1均相关。
17.优选的,上述步骤s3中计算的延时参数包括粗延时周期n和细延时码值code两种延时参数或者粗延时周期n、中延时级数tap和细延时码值code三种延时参数。
18.优选的,上述步骤s4中的数字信号延时处理为信号粗延时和细延时这两种方式结合的处理,或者是粗延时、中延时和细延时三种方式结合的延时处理。
19.优选的,上述粗延时通过fpga中的粗延时计数器实现,所述中延时采用fpga芯片内的受控延时单元iodelay逻辑或fpga芯片外的dll芯片实现,所述细延时采用fpga芯片外的高精度延时芯片或者fpga芯片内的延时链资源实现。
20.本发明的有益效果是:本发明公开的数字信号延时方法,利用fpga和高精度延时芯片,采用粗延时结合中延时和细延时的数字信号延时方式,降低了延时抖动,提高了延时分辨率,通过该方法获得的延时脉冲信号可用于大型物理实验中电子学设备和仪器的触发信号;本发明公开的数字信号延时方法在测量输入信号相对于fpga时钟的时间值t1,即使输入信号与本地时钟不同步,依旧能够精确实现延时功能,有效降低了误差;本发明公开的数字信号延时方法对输出脉冲前沿和后沿分别进行延时,之后再进行逻辑运算得合成,使得输出脉冲的延时和宽度同时满足延时分辨率与大的动态范围的要求,除此之外,本发明公开的数字信号延时方法的绝大部分的功能均在一片fpga芯片内完成,该方法硬件电路简单可靠,集成度高,有效降低了延时误差。
附图说明
21.图1为现有的典型大型物理实验布局结构示意图;
22.图2为实现高精度时间延时的原理示意图。
23.图3为本发明公开的基于fpga和高精度延时芯片的数字信号延时方法流程图。
24.图4为基于fpga和高精度延时芯片的数字信号延时器的结构示意图。
具体实施方式
25.本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
26.下面结合附图和具体实施例对本发明进行详细说明。
27.实施例1
28.本实施例中提高了一种粗延时+中延时+细延时的数字信号延时方法,如图3所示该实施例包括下步骤:
29.s1:用户根据需求设定输入信号延时时长t与延时后输出脉冲的宽度tw;参数t和tw满足如下关系:t<tclk
×
(2
n

1),t+tw<tclk
×
(2
n

1),其中,n为粗计数器的位数,tclk
为粗延时时钟周期,由上式不难看出t和tw的最大值设置与粗计数器的位数设置有关;
30.s2:利用tdc测量输入信号相对于fpga时钟的时间值t1,如图4所示,本实施例是通过fpga内构建的tdc来获取输入信号相对于fpga时钟的时间值,除此之外,也可以用fpga芯片外的专用tdc芯片来进行测量;
31.s3:利用参数t、tw和t1分别计算数字信号前沿或后沿的延时参数,延时参数具体包括:粗延时周期n、中延时级数tap和细延时码值code,其中前沿延时参数只与参数t和t1相关,计算方法如下:
[0032][0033][0034][0035]
后沿延时参数与参数t、tw和t1均相关,计算公式如下:
[0036][0037][0038][0039]
上式中,floor代表对计算的结果向下取整,tclk为粗延时时钟周期,ttap为中延时每一级的延时时间,tcode为细延时每一码值的延时时间;
[0040]
s4:利用步骤s3中计算的延时参数,对数字信号前沿和后沿进行延时处理,本实施例需要对信号前沿和后沿均进行粗延时、中延时和细延时处理;
[0041]
将需要延时的时长t将其进行划分,划分为:粗延时时钟周期tclk的整数倍部分n
×
tclk以及减去粗延时时钟周期tclk的整数倍n
×
tclk后剩余的部分t2,粗延时是指完成n
×
tclk时长的延时,中延时和细延时完成t2+t1时长的延时。举例来说,假设对信号进行1234.56ns的延时,粗时钟周期为10ns,则其中粗延时负责1230ns的延时,细延时(或中延时加细延时)负责4.56ns的延时,这个1230ns为n
×
tclk,4.56ns就被称为t2,再将4.56ns与t1的和进行中延时和细延时,这里假设t1为1ns,则中延时和细延时的延时时长为5.56ns,确定中延时ttap为0.1ns,细延时为0.01ns,则中延时需要完成5.5ns的延时,细延时只需要完成0.06ns的延时即可。
[0042]
这样操作主要是因为待延时的信号通常不会在粗延时时钟周期tclk的边沿到来,为了使得4.56ns的延时更加准确,因此需要tdc测量出输入信号相对于时钟边沿的时间,然后再补偿回去,其延时补偿原理图如图2所示。
[0043]
具体的延时过程如下:当粗延时计数器的计数值到达n后,fpga内粗延时逻辑的输出信号发生跳变,将粗延时逻辑的输出信号接入中延时逻辑部分和高精度延时芯片进行中延时和细延时。
[0044]
对于前沿来说,粗延时逻辑的输出信号输出由0跳变为1;对于后沿来说,粗延时逻辑的输出信号由1跳变为0。当本fpga内所有的粗延时逻辑的输出均发生跳变后,等待1个周
期之后,粗延时逻辑所有的输出又复位回原来的状态,即前沿输出由1复位回0,后沿输出由0复位回1。
[0045]
本实施例的粗延时通过fpga中的粗延时计数器实现,中延时采用fpga芯片内的受控延时单元iodelay实现,除此之外还可以采用fpga芯片外的dll芯片实现中延时,本实施例中的细延时采用fpga芯片外的高精度延时芯片实现,除此之外也可以采用fpga芯片内的延时链资源实现细延时。
[0046]
s5:通过“与”逻辑运算合成经过延时处理的信号前沿和后沿,获得延时和宽度均精确可调的输出脉冲。
[0047]
若用户不关注输出脉冲的宽度,或者想获得更高的脉冲集成度,则只需对输出脉冲的前沿进行精确的延时处理直接输出即可,无需对输出脉冲的后沿进行延时处理,也不需要进行逻辑运算合成工作。
[0048]
在实际中,细延时芯片本身就能完成前面所述的5.56ns动态范围的延时,因此可以不使用中延时逻辑,但是不使用中延时逻辑时,由于延时芯片本身的工艺误差,会导致延时抖动较高,为50ps,采用中延时后延时抖动可降低到25ps,显然采用中延时可明显降低信号延时抖动。
[0049]
然而对于一些对延时抖动要求并不是很严格的使用场景,可直接采用粗计数控制逻辑和高精度延时芯片完成需延时和细延时的高精度时间延时功能,不需要iodelay逻辑进行中延时来降低延时抖动。
[0050]
综上所述,本公开提出了一种基于fpga和高精度延时芯片的数字信号延时方法,数字信号被fpga芯片内构建tdc或专用tdc芯片测量出该相对于fpga时钟的时间值,该时间值与用户设置值在fpga内进行运算,分别获得输出脉冲前沿和后沿的粗延时周期数、中延时级数和细延时码值,用于配置输出脉冲前沿和后沿各自的粗计数控制逻辑、iodelay逻辑和高精度延时芯片,延时后的前沿和后沿经过逻辑运算获得输出脉冲,最终实现了低抖动、高分辨的数字信号延时和宽度设置。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1