一种基于Linux系统下的时间测量系统及其方法与流程

文档序号:16064014发布日期:2018-11-24 12:29阅读:427来源:国知局

本发明涉及一种基于linux系统下的时间测量系统及其方法,属于时间测量技术领域。

背景技术

时间服务是国家的基本技术支撑,而高精度的时间传递与同步是其主要的部分。时间同步技术是当前高精度时间服务与卫星导航的热点。卫星导航出现,改变了时间比对技术落后于时间基准发展的状态。时间同步手段也因为通信技术的快速发展而不断进步,这些技术的发展为卫星导航提供了高精度同步以及定位的方法,提高了国际原子时的精度和实时服务能力。

近年来,随着信息技术的发展,时间精度越来越高,卫星通信、车载设备、无线传感网络的不断发展,对于时间的精度越来越高。高分辨率的时间测量技术越来越多的被应用于各种民用及军事领域。时间测量的高精度和高分辨率将会大大促进我国的科技、民用、军事领域中关键技术的发展。

脉冲星因具有很好的稳定性,其发射的x射线信号可以作为天然信标,引导航天器等在宇宙中的自由航行。时间测量电路是x射线脉冲星导航的重要组成部分,通过采集到的x射线脉冲作为触发信号获取此时刻的时间,该时间精度达到皮秒级。高精度的脉冲达到时间对于太空导航具有重要意义。

随着电子技术的发展,人们开始采用电子计数器进行时间测量。计数器技术的分辨率主要取决于主时钟的频率,也就是说,分辨率等于主时钟的频率。分辨率越高,相对应的主时钟频率也要求越高。电子计数法具有以下特点:测量范围广,容易实现,且能够做到实时处理,存在时标误差与原理误差,限制了其测量精度。因而目前的时间测量系统的时间精度不是特别高,测量结果带来的误差也较大,从而在时间测量的精度和分辨率上还有待提高。



技术实现要素:

针对上述现有技术存在的问题及不足,本发明提供一种基于linux系统下的时间测量系统及其方法。本用于解决现有时间测量系统及方法中存在测量精度及分辨率不高的技术问题,提供一种使用方便,成本低廉,可移植性好,抗干扰能力强的基于linux系统的时间测量系统及方法。本发明通过以下技术方案实现。

一种基于linux系统下的时间测量系统,包括输入信号模块1、时间测量模块2、axi总线模块3和linux系统4,输入信号模块1用于将时间测量信号传递给时间测量模块2;时间测量模块2包括tdc电路,tdc电路包括粗时间测量模块21、细时间测量模块22和fifo模块23,粗时间测量模块21采用二进制计数器用于产生年、月、日、时、分、秒时间,细时间测量模块22采用数字时钟管理模块中倍频法和iodelay延迟单元模块中内插法分别用于产生纳秒至秒和75皮秒以上至纳秒时间,fifo模块23作用是进行数据缓存,解决跨时钟域问题,使得粗时间测量模块21和细时间测量模块22产生的时间数据读写速度能够匹配;axi总线模块3用于将时间测量模块2中的tdc电路和linux系统4握手通信;linux系统4用于对时间测量模块2进行时间数据存储、时间数据处理、程序的调试和修改,linux系统4通过linux操作系统移植安装在硬件上。

所述输入信号模块1包括探测器11、放大器12和恒定比定时器13,探测器11用于采集接收微弱信号传递给放大器12,放大器12放大的信号传递给恒定比定时器13,恒定比定时器13将放大的信号转化成数字信号传递给时间测量模块2。

所述axi总线模块3包括创建ip核流程和握手机制,创建ip核流程包括创建ip核31、指定创建路径32、输入ip核名和版本33、选择axi总线类型34、配置ipinterface35、配置slaveinterface36、配置用户寄存器个数37和配置ipinterface38依次顺序创建的流程。

所述linux系统4包括移植linux操作系统和应用程序41,应用程序41包括matlab、.txt生成文件程序和数据处理程序。

一种基于linux系统下的时间测量方法,其具体步骤如下:

步骤1、输入信号模块1用于将采集接收微弱信号转化成数字信号的步骤;

步骤2、将步骤1的数字信号传递给时间测量模块2,时间测量模块2中粗时间测量模块21用于产生年、月、日、时、分、秒和细时间测量模块22用于产生纳秒至秒和75皮秒以上至纳秒时间的步骤;

步骤3、步骤2产生的年、月、日、时、分、秒、纳秒至秒和75皮秒以上至纳秒时间通过axi总线模块3通信传递给linux系统4的步骤;

步骤4、linux系统4用于对时间数据存储、时间数据处理、程序的调试和修改的步骤。

本发明的有益效果是:

本发明基于linux系统下的时间测量系统,其时间精度可以达到75皮秒,具有测量精度和分辨率高的特点,可用于高精度的时间测量;在航天导航,工业控制,智能家居、环境监测等领域,具有很好的应用前景和实用价值。

附图说明

图1是本发明系统结构示意图;

图2是本发明输入信号模块结构示意图;

图3是本发明实施例1中细时间测量模块中iodelay延迟单元模块具体的结构图;

图4是本发明实施例1中fifo模块数据的存入设计状态图;

图5是本发明实施例1中axi总线的ip核创建图;

图6是本发明实施例1中时间测量系统设计框架结构图。

其中:1-输入信号模块,11-探测器,12-放大器,13-恒定比定时器,2-时间测量模块,21-粗时间测量模块,22-细时间测量模块,23-fifo模块,3-axi总线模块,31-创建ip核,32-指定创建路径,33-输入ip核名和版本,34-选择axi总线类型,35-配置ipinterface,36-配置slaveinterface,37-配置用户寄存器个数,38-配置ipinterface,4-linux系统,41-应用程序。

具体实施方式

下面结合附图和具体实施方式,对本发明作进一步说明。

实施例1

如图1所示,该基于linux系统下的时间测量系统,包括输入信号模块1、时间测量模块2、axi总线模块3和linux系统4,输入信号模块1用于将时间测量信号传递给时间测量模块2;时间测量模块2包括tdc电路,tdc电路包括粗时间测量模块21、细时间测量模块22和fifo模块23,粗时间测量模块21采用二进制计数器用于产生年、月、日、时、分、秒时间,细时间测量模块22采用数字时钟管理模块中倍频法和iodelay延迟单元模块中内插法分别用于产生纳秒至秒和75皮秒以上至纳秒时间,fifo模块23作用是进行数据缓存,解决跨时钟域问题,使得粗时间测量模块21和细时间测量模块22产生的时间数据读写速度能够匹配;axi总线模块3用于将时间测量模块2中的tdc电路和linux系统4握手通信;linux系统4用于对时间测量模块2进行时间数据存储、时间数据处理、程序的调试和修改,linux系统4通过linux操作系统移植安装在硬件上。

如图2所示,所述输入信号模块1包括探测器11、放大器12和恒定比定时器13,探测器11用于采集接收微弱信号传递给放大器12,放大器12放大的信号传递给恒定比定时器13,恒定比定时器13将放大的信号转化成数字信号传递给时间测量模块2。

如图5所示,所述axi总线模块3包括创建ip核流程和握手机制,创建ip核流程包括创建ip核31、指定创建路径32、输入ip核名和版本33、选择axi总线类型34、配置ipinterface35、配置slaveinterface36、配置用户寄存器个数37和配置ipinterface38依次顺序创建的流程。

linux系统4包括移植linux操作系统和应用程序41,应用程序41包括matlab、.txt生成文件程序和数据处理程序。

本实施例中细时间测量模块中iodelay延迟单元模块具体的结构图如图3所示,从图3中可以看出时钟周期数据通过输入端datain经过一个锁存器到达输出端dataout,从而产生延迟。使用内插法在时钟周期内插入多个iodelay延迟单元,从而在dataout端口输出75皮秒的时钟数据。当多个延迟单元级联的时候,以75皮秒为时间延迟单位,对该延迟单位进行计数,即可实现75皮秒以上至纳秒的时间测量。

本实施例中fifo模块数据的存入设计状态图如图4所示,本发明采用fifo模块用于解决跨时钟域问题,实现在不同时钟域下,时间数据读写速度匹配,表述如下:

(1)ini状态:tdc电路模块初始化以及系统复位。

(2)s1状态:tdc数据输出端口dout数据锁存,等待操作系统对端口的数据进行读取。

(3)s2状态:操作系统读取一次tdc输出端口的数据结束状态。

将本基于linux系统下的时间测量系统在本实施例中进行嵌入式开发,嵌入式开发环境edk,使用的版本号是14.7,具体的将基于fpga技术的硬件tdc电路封装成用户自定义的ip核,其中用户自定义ip中定义了axi总线接口,通过握手机制使axi总线实现fpga和linux系统4的通信(也就是实现fpga和linux系统4系统移植的arm处理器通信)。

嵌入式开发基于linux系统下的时间测量系统其中一个具体的实例如图6所示,包括底层硬件部分,上一层的操作系统部分,操作系统之上的linux系统调用接口部分,以及库文件和用户应用程序。具体步骤:

(1)设计前端的输入信号模块1,采集x射线的光信号使其转化为脉冲信号,通过放大器12和恒比定时器13后成为tdc电路的数据采集信号。

(2)设计时间测量模块2,对tdc电路部分进行配置和修改,包括二进制计数器、数字时钟管理模块和iodelay延迟单元模块的配置和设计,增加fifo模块23,仿真使其达到正确的效果。

(3)设计基于axi总线的tdc系统硬件电路,创建ip核,利用fpga技术设计的tdc硬件电路模块和linux系统4之间的axi总线为通信桥梁的硬件电路。

设计通过裸机运行控制程序,通过debug调用确保电路硬件的正确性。

对linux系统4进行系统移植。使其运行在arm处理器上。其中包括:

安装arm的交叉编译工具链;利用交叉编译工具链编译linux内核;制作引导内核的u-boot启动文件;建立linux下完整的文件系统和应用软件;建立devicetree管理系统和资源。实现fpga和linux系统4系统移植的arm处理器通信。

该基于linux系统下的时间测量方法,其具体步骤如下:

步骤1、输入信号模块1用于将采集接收微弱信号转化成数字信号的步骤;

步骤2、将步骤1的数字信号传递给时间测量模块2,时间测量模块2中粗时间测量模块21用于产生年、月、日、时、分、秒和细时间测量模块22用于产生纳秒至秒和75皮秒以上至纳秒时间的步骤;

步骤3、步骤2产生的年、月、日、时、分、秒、纳秒至秒和75皮秒以上至纳秒时间通过axi总线模块3通信传递给linux系统4的步骤;

步骤4、linux系统4用于对时间数据存储、时间数据处理、程序的调试和修改的步骤。

以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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