一种基于FPGA的计数型高精度时间间隔测量装置的制作方法

文档序号:12189680阅读:491来源:国知局
一种基于FPGA的计数型高精度时间间隔测量装置的制作方法

本实用新型涉及精密时间间隔测量技术,尤其涉及一种基于FPGA的计数型高精度时间间隔测量装置;具体地说,本实用新型是在FPGA芯片上实现计数型时间间隔测量,即在FPGA芯片上,通过使用Verilog HDL硬件描述语言来编程实现能够测量起始、停止事件发生时刻的两事件时间间隔的精密时间测量装置;可应用地震仪器中短时间间隔的测量等领域。



背景技术:

高精度时间间隔测量技术在地震观测技术中起着举足轻重的作用,其时间间隔测量的精度直接影响着观测结果的正确性,所以高精度时间间隔测量技术一直是研究对象。

近年来基于FPGA成为时间间隔测量系统实现的研究热点。使用FPGA芯片,可以大大降低设计风险和系统成本,高集成度设计即可提高可靠性和开发效率,又容易实现多通道的测量。

现有的时间间隔测量方法绝大多数都是基于较长的延迟链计数来实现的,然而在FPGA芯片内部很难构造具有优秀延迟一致性且可以提供高延迟分辨率的长延迟单元,要求较长的延迟链中的所有延迟单元具有很好的延迟一致性是非常困难。

基于计数型的时间间隔测量原理是将参考频率信号作为计数器的参考时钟,待测时间间隔信号作为计数器计数的使能信号,计数器的计数值乘以参考时钟信号的周期即为待测时间间隔信号的时间值,得到的时间间隔分辨率较低,但该计数实现方法较为简单。

基于FPGA实现紧密时间系统,其成本低、开发周期短、设计灵活、兼容性强等优点,因此基于FPGA实现该样机中精密时间测量系统是很有必要的。



技术实现要素:

本实用新型的目的在于针对现有计数型实现时间间隔测量的不足,提供一种基于FPGA的计数型高精度时间间隔测量装置,以提高时间间隔测量精度、降低测量误差。

本实用新型的目的是这样实现的:

在FPGA芯片上,通过Verilog HDL硬件描述语言来编程实现能够实现基于FPGA的计数型高精度时间间隔测量装置的。

具体地说,本系统包括PLL参考时钟、待测信号产生电路、精密延时电路、计数器组、数据存储和数据输出;

其连接关系是:

外部输入信号有Rst_n:复位信号、Tr:外部输入时钟源、Start:开始信号、Stop:停止信号;

将外部输入:Rst_n(复位信号)、Tr(外部输入时钟源)作为PLL参考时钟的输入;

将外部输入:Start(开始信号)、Stop(停止信号)作为待测信号产生电路的输入;

PLL参考时钟的输出C0、C1、C2、C3,分别将连接到精密延时电路的第1LCELL链的输入、第2LCELL链的输入、第3LCELL链的输入、第4LCELL链的输入;

待测信号产生电路的输出gate信号连接到计数器组的所有计数器计数使能端,分别为cnt01计数器、……、cnt12计数器、cnt13计数器、……、cnt24计数器、cnt25计数器、……、cnt36计数器、cnt37计数器、……cnt48计数器的计数使能端;

精密延时电路的第1LCELL链的输出(共12个)、第2LCELL链的输出(共12个)、第3LCELL链的输出(共12个)、第4LCELL链的输出(共12个),分别作为计数器组的cnt01计数器、……、cnt12计数器、cnt13计数器、……、cnt24计数器、cnt25计数器、……、cnt36计数器、cnt37计数器、……cnt48计数器的计数参考时钟输入;

计数器组的输出(共48个)连接到数据存储的输入;

数据存储的输出连接到数据输出的输入。

本实用新型具有下列优点和积极效果:

①本实用新型的电路是由FPGA芯片上产生,由Verilog HDL硬件描述语言编程实现;

②本实用新型所使用4个延迟链是有11个LCELL器件构成,延迟链较短,延迟时间较精确,实现简单;

③本实用新型使用48个同频、相邻相位差相等的参考时钟信号作为48个计数器的计数参考时钟信号,对待测时间间隔测量,有效地提高了测量分辨率,且使用4个相邻两个相位差为90°的参考时钟信号作为基准时钟信号,来校正LCELL链的延迟,大大降低了测量误差。

④本实用新型使用的计数器计数输出位宽为10bit,可以根据时间间隔测量系统的使用场合不同,更改计数器宽度,增大其测量范围。

⑤本实用新型是基于计数型时间间隔测量,相较于其他基于FPGA实现的时间间隔测量系统来说,该发明实现起来较为简单,占用资源较少。

可应用地震仪器中短时间间隔的测量等领域。

附图说明

图1是本装置的结构图;

图2是待测信号产生电路的结构图;

图3是精密延时电路的结构图;

图4是计数器组的结构图;

图5是本系统的开始信号和停止信号两事件时间间隔时序原理图;

图6是本系统的精密延时电路中4个LCELL链延迟示意图;

图7是本系统的精密延时电路的输出48个时钟信号初始相位示意图。

图中:

100—PLL参考时钟;

200—待测信号产生电路,

201—D1触发器,202—D2触发器,

203—F非门,204—&与门;

300—精密延时电路,

310—第1LCELL链,

311—LCELL01器件,312—LCELL02器件,……,321—LCELL11器件,

330—第2LCELL链,

331—LCELL12器件,332—LCELL13器件,……,341—LCELL22器件,

350—第3LCELL链,

351—LCELL23器件,352—LCELL24器件,……,361—LCELL33器件,

370—第4LCELL链,

371—LCELL34器件,372—LCELL35器件,……,381—LCELL44器件;

400—计数器组,

401—cnt01计数器,……,412—cnt12计数器,

413—cnt13计数器,……,424—cnt24计数器,

425—cnt25计数器,……,436—cnt36计数器,

437—cnt37计数器,……,448—cnt48计数器;

500—数据存储;

600—数据输出。

具体实施方式

下面结合附图和实施例详细说明:

一、结构

1、总体

如图1,本装置包括PLL参考时钟100、待测信号产生电路200、精密延时电路300、计数器组400、数据存储500和数据输出600;

其连接关系是:

外部输入信号有Rst_n:复位信号、Tr:外部输入时钟源、Start:开始信号、Stop:停止信号;

将外部输入:Rst_n(复位信号)、Tr(外部输入时钟源)作为PLL参考时钟100的输入;

将外部输入:Start(开始信号)、Stop(停止信号)作为待测信号产生电路200的输入;

PLL参考时钟100的输出C0、C1、C2、C3,分别将连接到精密延时电路300的第1LCELL链310的输入、第2LCELL链330的输入、第3LCELL链350的输入、第4LCELL链370的输入;

待测信号产生电路200的输出gate信号连接到计数器组400的所有计数器计数使能端,分别为cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……cnt48计数器448的计数使能端。

精密延时电路300的第1LCELL链310的输出(共12个)、第2LCELL链330的输出(共12个)、第3LCELL链350的输出(共12个)、第4LCELL链370的输出(共12个),分别作为计数器组400的cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……cnt48计数器448的计数参考时钟输入;

计数器组400的输出(共48个)连接到数据存储500的输入;

数据存储500的输出连接到数据输出600的输入。

2、功能部件

1)PLL参考时钟100

如图1,PLL参考时钟100是直接调用由Altera公司的PLL的IP core进行设置搭建的硬件电路。

将Tr:外部输入时钟源(周期为20ns、频率为50MHz)作为输入,通过PLL参考时钟100倍频、移相技术生成同频,且相邻两个相位差为90°的C0、C1、C2和C3(周期均为为5ns、频率均为200MHz)。其输出的C0、C1、C2和C3的时钟信号特点是信号稳定。

2)待测信号产生电路200

待测信号产生电路200是一种在FPGA芯片上通过编写Verilog HDL硬件描述语言来设计的硬件电路;如图2,待测信号产生电路200包括D1触发器201、D2触发器202、F非门203和&与门204;

其连接关系是:

开始信号Start作为D1触发器201的CLK输入,停止信号Stop作为D2触发器202的CLK输入,D1触发器201和D2触发器202的D输入端设置为逻辑“1”,将D1触发器201的输出连接到&与门204输入,D2触发器202的输出连接到F非门203输入,F非门203输出连接到&与门204输入,&与门204输出即为待测的时间间隔信号gate。

其工作机理是:

如图2和图5,用D1触发器201和D2触发器202来检测开始信号Start和停止信号Stop的上升沿,将输出检测信号一旦检测到其两个信号的上升沿,即输出1,再将停止信号stop信号的上升沿检测输出信号通过F非门203取反后,与开始信号Start信号的上升沿检测输出信号通过&与门204相与即可得到时间间隔信号gate信号。

3)精密延时电路300

精密延时电路300是一种在FPGA芯片上调用LCELL器件块及编写Verilog HDL硬件描述语言来设计的硬件电路,如图3,精密延时电路300是由第1LCELL链310、第2LCELL链330、第3LCELL链350和第4LCELL链370构成的;

第1LCELL链310包括LCELL01器件311,LCELL02器件312,……,LCELL11器件321;

第2LCELL链330包括LCELL12器件331,LCELL13器件332,……,LCELL22器件341;

第3LCELL链350包括LCELL23器件351,LCELL24器件352,……,LCELL33器件361,

第4LCELL链370包括LCELL34器件371,LCELL35器件372,……,LCELL44器件381;

其连接关系:

如图3(a)可知,第1LCELL链310,将LCELL01器件311,LCELL02器件312,……,LCELL11器件321依次串联起来形成的第1LCELL链310;

如图3(b)可知,第2LCELL链330,将LCELL12器件331,LCELL13器件332,……,LCELL22器件341依次串联起来形成的第2LCELL链330;

如图3(c)可知,第3LCELL链350,将LCELL23器件351,LCELL24器件352,……,LCELL33器件361依次串联起来形成的第3LCELL链350;

如图3(d)可知,第4LCELL链370,将LCELL34器件371,LCELL35器件372,……,LCELL44器件381依次串联起来形成的第4LCELL链370;

其工作机理:

如图6,第1LCELL链310延迟示意图可知,将PLL参考时钟100输出C0作为第1LCELL链310的输入,由于单个LCELL器件的路径延迟时间大约为105ps,则C0在LCELL01器件311,LCELL02器件312,……,LCELL11器件321依次传输,则每个LCELL器件延迟105ps,第1LCELL链310是由11个路径延迟大约105ps的LCELL器件构成的,由此可知第1LCELL链310总路径延迟大约1250ps;

同理,如图6,第2LCELL链330延迟示意图可知,将PLL参考时钟100输出C1作为第2LCELL链330的输入,由于单个LCELL器件的路径延迟时间大约为105ps,则C1在LCELL12器件331,LCELL13器件332,……,LCELL22器件341中依次传输,则每个LCELL器件延迟105ps,第2LCELL链330是由11个路径延迟大约105ps的LCELL器件构成的,由此可知第2LCELL链330总路径延迟大约1250ps;

如图6,第3LCELL链350延迟示意图可知,将PLL参考时钟100输出C2作为第3LCELL链350的输入,由于单个LCELL器件的路径延迟时间大约为105ps,则C2在LCELL23器件351,LCELL24器件352,……,LCELL33器件361依次传输,则每个LCELL器件延迟105ps,第3LCELL链350是由11个路径延迟大约105ps的LCELL器件构成的,由此可知第3LCELL链350总路径延迟大约1250ps;

如图6,第4LCELL链370延迟示意图可知,将PLL参考时钟100输出C3作为第4LCELL链370的输入,由于单个LCELL器件的路径延迟时间大约为105ps,则C3在LCELL34器件371,LCELL35器件372,……,LCELL44器件381依次传输,则每个LCELL器件延迟105ps,第4LCELL链370是由11个路径延迟大约105ps的LCELL器件构成的,由此可知第4LCELL链370总路径延迟大约1250ps。

由此可知,4个LCELL链的输入为PLL参考时钟100的4个频率均为200MHz,移相分别为0°、90°、180°、270°(延时分别为0ps、1250ps、2500ps、3750ps),如图7,通过每个LCELL链的延迟输出便可以将200MHz的参考时钟大致分为48个延迟相位,将参考周期信号的相位偏移均匀分布。

4)计数器组400

计数器组400是在FPGA芯片上通过Verilog HDL硬件描述语言来设计的计数器,如图4,计数器组400包括cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、 cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……、cnt48计数器448,共48个输出宽度均为10bit的计数器(可根据测量时间大小做调整,改变计数器宽度即可)。PLL参考时钟100的输出的C0、C1、C2和C3时钟信号的频率为200MHz(周期为5ns),所以计数器计数最大值为210,可知理论上发明系统的最大测量时间间隔为210*5(ns)。

其工作机理是:

如图4,将待测信号产生电路200的输出gate作为计数器组400的cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、 cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……、cnt48计数器448的计数使能输入,将精密延时电路300中产生的48个同频、相邻两信号延迟为105ps的时钟信号分别作为计数器组400的cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、 cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……、cnt48计数器448的计数时钟信号,采用的是上升边沿触发,则48个计数器在gate时间间隔信号有效情况下,分别累计输入参考时钟的个数。

5)数据存储500

数据存储500是直接调用ltera公司的DPRAM的IP core实现的存储器。

其连接关系:

计数器组400中cnt01计数器401、……、cnt12计数器412、cnt13计数器413、……、 cnt24计数器424、cnt25计数器425、……、cnt36计数器436、cnt37计数器437、……、cnt48计数器448的48个计数结果输出均作为数据存储500的输入。

其工作机理:

DPRAM存储器存储各个时间间隔的计数值,具有两套完全独立的数据线、地址线和读写控制线,可以级联到样机中其他的子系统并提供数据访问,直接调用IP core保证的速度和功耗的最优。

6)数据输出600

数据输出600是使用改进的串口通信协议作为模块的输出模块设计,通过Verilog HDL 语言编程,实现系统与PC机,进行数据传输。

其连接关系:

数据存储500的输出作为数据存储600输入。

其工作机理:

协议设计中,在pc接收模块设计中,接收每位数据时,对每位数据中最为稳定的中间阶段进行多次采样求概率方式确定该位电平,达到工业级串口通信标准,提高数据输出及pc机接收到的数据的可靠性。

三、实验结果

本实用新型以50MHz的外部输入时钟源作为Tr输入,在对系统测试过程,分别固定时间间隔和多种时间间隔进行测量,其测量结果表明测量精度可达105ps,最大测量时间间隔为5120ns,系统运行稳定,说明可以作为精密时间测量系统运用于地震仪器中。

四、应用

本实用新型主要应用用于地震仪器中的精密时间间隔测量,比如人卫激光测距、三维激光扫描仪、绝对重力仪、手持激光测距仪等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1