基于时间戳的精密计时装置及方法 |
|||||||
申请号 | CN201410418628.3 | 申请日 | 2014-08-22 | 公开(公告)号 | CN104181519A | 公开(公告)日 | 2014-12-03 |
申请人 | 哈尔滨工业大学; | 发明人 | 罗清华; 刘大同; 彭喜元; 彭宇; 宋佳; 张玉杰; | ||||
摘要 | 基于时间戳的精密计时装置及方法,涉及高 精度 水 下距离估计和 定位 技术。它是为解决目前水下声呐传输计时精度低的问题。本 发明 的声呐传输物理层发送或接收声呐 信号 时,在介质 访问 层和网络层之间的MII 接口 会有信号产生,信号捕捉单元捕捉到该信号的起始位,并将捕捉 信号传输 给精密计时单元;精密计时单元将当前精密计时的结果暂存,形成时间戳信息,并通过配置&控 制模 块 转发给微 控制器 中的应用程序;应用程序将时间戳信息进行存储和索引,并根据需要对不同的时间戳进行相减运算,得到两个时间戳之间的时间长度。本发明能够获得纳秒级的传输计时,为精密的距离估计奠定技术 基础 。本发明适用于水下精密计时。 | ||||||
权利要求 | 1.基于时间戳的精密计时装置,其特征在于:它包括微控制器(1)和FPGA(2),所述微控制器(1)与FPGA(2)之间通过MII接口连接,所述的微控制器(1)包括声呐传输物理层(1-1)、介质访问层(1-2)、网络层(1-3)、传输层(1-4)和应用层(1-5),所述声呐传输物理层(1-1)与介质访问层(1-2)之间设置有MII接口,所述的FPGA(2)内嵌入有固件实现的配置&控制模块(2-1)、信号捕捉单元(2-2)、精密计时单元(2-3)和高频率时钟源(2-4); |
||||||
说明书全文 | 基于时间戳的精密计时装置及方法技术领域背景技术[0002] 高精度的水下定位技术为诸多海洋应用提供重要位置信息,而水下定位的精度很大程度上取决于距离估计的精度。而由于目前采用的距离估计方法采用的传输计时技术是在应用层实现的,计时精度只能达到毫秒级,计时精度较低,导致距离估计误差较大。 发明内容[0003] 本发明的目的是为了解决目前水下声呐传输计时精度低的问题,提供一种用于水下计时的基于时间戳的精密计时装置及方法。 [0004] 本发明所述的基于时间戳的精密计时装置包括微控制器和FPGA,所述微控制器与FPGA之间通过MII接口连接,所述的微控制器包括声呐传输物理层、介质访问层、网络层、传输层和应用层,所述声呐传输物理层与介质访问层之间设置有MII接口,所述的FPGA内嵌入有固件实现的配置&控制模块、信号捕捉单元、精密计时单元和高频率时钟源; [0005] 所述的声呐传输物理层:用于发送或接收声呐信号,并将该声呐信号对应的电信号通过MII接口发送给信号捕捉单元; [0006] 应用层:用于向配置&控制模块发送配置命令和控制信息,该配置命令和控制信息用于对信号捕捉单元和精密计时单元进行初始化、清零和使能操作;接收配置&控制模块发来的时间戳信息,并对该时间戳信息进行存储和索引,对不同的时间戳进行相减运算,以得到两个时间戳之间的时间长度; [0007] 高频率时钟源:用于为信号捕捉单元和精密计时单元持续提供1GHz或更高频率的时钟信号; [0008] 信号捕捉单元:用于在时钟信号的驱动下,捕捉MII接口发来的信号的起始位,并向精密计时单元发送捕捉指示信号; [0009] 精密计时单元:用于在时钟信号的驱动下,进行计时,并在接收到捕捉指示信号后,将当前精密计时的结果暂存并形成时间戳信息,并将该时间戳信息发送给配置&控制模块; [0010] 配置&控制模块:用于将接收到的时间戳信息发送给应用层。 [0011] 本发明所述的基于时间戳的精密计时方法通过以下步骤实现: [0012] 配置命令和控制信息发送步骤:微控制器的应用层向FPGA配置&控制模块发送配置命令和控制信息,该配置命令和控制信息用于对FPGA的信号捕捉单元和精密计时单元进行初始化、清零和使能操作; [0013] 时钟信号发送步骤:FPGA高频率时钟源持续向信号捕捉单元和精密计时单元发送GHz或更高频率的时钟信号; [0014] 声呐信号接收/发送步骤:微控制器的声呐传输物理层接收或发送声呐信号,并将该声呐信号对应的电信号通过MII接口发送给信号捕捉单元; [0015] 声呐信号捕捉步骤:在时钟信号的驱动下,信号捕捉单元捕捉MII接口发来的信号的起始位,并向精密计时单元发送捕捉指示信号; [0016] 时间戳生成步骤:在时钟信号的驱动下,精密计时单元在接收到捕捉指示信号后,将当前精密计时的结果暂存并形成时间戳信息,并将该时间戳信息发送给配置&控制模块; [0017] 时间戳信息发送步骤:配置&控制模块将接收到的时间戳信息发送给应用层; [0018] 时间长度计算步骤:应用层接收配置&控制模块发来的时间戳信息,并对该时间戳信息进行存储和索引,对两个不同的时间戳进行相减运算,以得到两个时间戳之间的时间长度。 [0019] 本发明所述的基于时间戳的精密计时装置及方法,采用介质访问层的时间戳技术,在高频率、高精度时钟信号的驱动下,捕捉测距时往返传输的声呐信号,获得准确度较高的传输计时,能够达到纳秒级的计时精度,为精密的距离估计奠定技术基础。附图说明 [0020] 图1为本发明所述的基于时间戳的精密计时装置的原理框图; [0021] 图2为本发明所述的基于时间戳的精密计时方法的流程图。 具体实施方式[0022] 具体实施方式一:结合图1说明本实施方式,本实施方式所述的基于时间戳的精密计时装置包括微控制器1和FPGA2,所述微控制器1与FPGA2之间通过MII接口连接,所述的微控制器1包括声呐传输物理层1-1、介质访问层1-2、网络层1-3、传输层1-4和应用层1-5,所述声呐传输物理层1-1与介质访问层1-2之间设置有MII接口,所述的FPGA2内嵌入有固件实现的配置&控制模块2-1、信号捕捉单元2-2、精密计时单元2-3和高频率时钟源2-4; [0023] 所述的声呐传输物理层1-1:用于发送或接收声呐信号,并将该声呐信号对应的电信号通过MII接口发送给信号捕捉单元2-2; [0024] 应用层1-5:用于向配置&控制模块2-1发送配置命令和控制信息,该配置命令和控制信息用于对信号捕捉单元2-2和精密计时单元2-3进行初始化、清零和使能操作;接收配置&控制模块2-1发来的时间戳信息,并对该时间戳信息进行存储和索引,对不同的时间戳进行相减运算,以得到两个时间戳之间的时间长度; [0025] 高频率时钟源2-4:用于为信号捕捉单元2-2和精密计时单元2-3持续提供1GHz或更高频率的时钟信号; [0026] 信号捕捉单元2-2:用于在时钟信号的驱动下,捕捉MII接口发来的信号的起始位,并向精密计时单元2-3发送捕捉指示信号; [0027] 精密计时单元2-3:用于在时钟信号的驱动下,进行计时,并在接收到捕捉指示信号后,将当前精密计时的结果暂存并形成时间戳信息,并将该时间戳信息发送给配置&控制模块2-1; [0028] 配置&控制模块2-1:用于将接收到的时间戳信息发送给应用层1-5。 [0029] 本实施方式所述的基于时间戳的精密计时装置中,微控制器1实现水下声呐通信所需的协议栈,包括声呐传输物理层1-1、介质访问层1-2、网络层1-3、传输层1-4和应用层1-5,其中声呐传输物理层1-1即为换能器,能够将电信号转化为声呐信号。FPGA2实现对传输信号的捕获和精密计时,FPGA2主要包括配置&控制模块2-1、信号捕捉单元2-2、精密计时单元2-3和高频率时钟源2-4。其中,高频率时钟源2-4为信号捕捉单元2-2和精密计时单元2-3提供GHz甚至更高频率的时钟信号;信号捕捉单元2-2在时钟信号的驱动下,对声呐传输物理层1-1的声呐信号的发射和接收事件进行捕获,并提供捕获指示信号给精密计时单元2-3;精密计时单元2-3在时钟信号驱动下进行计时,并在来自信号捕捉单元2-2、提供的捕获指示信号的驱动下,得到与捕获时间对应的时间戳信息,并将该时间戳信息提供给配置&控制模块2-1;精密计时单元2-3是由64位计数器实现的,在1GHz或者更高频率的时钟信号驱动下进行计数,实现高精度计时;配置&控制模块2-1主要实现接收来自微控制器1中的应用程序的配置和控制命令,并将精密时间戳信息提供给微控制器1中的应用程序,应用程序根据实际需要对不同时间戳进行相差运算,得到不同声呐信号间的时间长度。 [0030] 本实施方式采用介质访问层的时间戳技术,在高频率、高精度时钟信号的驱动下,捕捉测距时往返传输的声呐信号,获得准确度较高的传输计时,能够达到纳秒级的计时精度,为水下精密距离估计奠定技术基础。 [0031] 具体实施方式二:本实施方式是对实施方式一所述的基于时间戳的精密计时装置的进一步限定,本实施方式中,所述的微控制器1采用单片机实现。 [0032] 具体实施方式三:本实施方式是对实施方式一所述的基于时间戳的精密计时装置的进一步限定,本实施方式中,所述的微控制器1采用ARM实现。 [0033] 具体实施方式四:本实施方式是对实施方式一所述的基于时间戳的精密计时装置的进一步限定,本实施方式中,所述的微控制器1采用ARM9实现。 [0034] 具体实施方式五:本实施方式是对实施方式一所述的基于时间戳的精密计时装置的进一步限定,本实施方式中,所述的FPGA2采用XC7Z030实现。 [0035] 具体实施方式六:本实施方式所述的基于时间戳的精密计时方法通过以下步骤实现: [0036] 配置命令和控制信息发送步骤:微控制器1的应用层1-5向FPGA2配置&控制模块2-1发送配置命令和控制信息,该配置命令和控制信息用于对FPGA2的信号捕捉单元2-2和精密计时单元2-3进行初始化、清零和使能操作; [0037] 时钟信号发送步骤:FPGA2高频率时钟源2-4持续向信号捕捉单元2-2和精密计时单元2-3发送GHz或更高频率的时钟信号; [0038] 声呐信号接收/发送步骤:微控制器1的声呐传输物理层1-1接收或发送声呐信号,并将该声呐信号对应的电信号通过MII接口发送给信号捕捉单元2-2; [0039] 声呐信号捕捉步骤:在时钟信号的驱动下,信号捕捉单元2-2捕捉MII接口发来的信号的起始位,并向精密计时单元2-3发送捕捉指示信号; [0040] 时间戳生成步骤:在时钟信号的驱动下,精密计时单元2-3在接收到捕捉指示信号后,将当前精密计时的结果暂存并形成时间戳信息,并将该时间戳信息发送给配置&控制模块2-1; [0041] 时间戳信息发送步骤:配置&控制模块2-1将接收到的时间戳信息发送给应用层1-5; [0042] 时间长度计算步骤:应用层1-5接收配置&控制模块2-1发来的时间戳信息,并对该时间戳信息进行存储和索引,对两个不同的时间戳进行相减运算,以得到两个时间戳之间的时间长度。 [0043] 本实施方式中,微控制器1中的应用程序初始化成功后,给FPGA2中的配置&控制模块2-1发送配置命令和控制信息。当声呐传输物理层1-1发送或者接收声呐信号时,在介质访问层1-2和网络层1-3之间的MII接口(媒体独立接口)会有电信号产生,FPGA2中的信号捕捉单元2-2会及时捕捉到MII接口信号的起始位,并将捕捉指示信号传输给精密计时单元2-3;精密计时单元2-3收到捕捉指示信号后,将当前精密计时的结果暂存,形成时间戳信息,并将该时间戳信息发送给配置&控制模块2-1;配置&控制模块2-1收到时间戳信息后,将其转发给微控制器1中的应用程序;微控制器1的应用程序接收到时间戳信息,将其进行存储和索引,并根据需要,对不同的时间戳进行相减运算,以得到两个时间戳之间的时间长度。 [0044] 本实施方式所述的基于时间戳的精密计时方法采用介质访问层的时间戳技术,在高频率、高精度时钟信号的驱动下,捕捉测距时往返传输的声呐信号,获得纳秒级的传输计时,为精密的距离估计奠定技术基础。 [0045] 具体实施方式七:本实施方式对是实施方式六所述的基于时间戳的精密计时方法的进一步限定,本实施方式中,所述的微控制器1采用单片机实现。 [0046] 具体实施方式八:本实施方式对是实施方式六所述的基于时间戳的精密计时方法的进一步限定,本实施方式中,所述的微控制器1采用ARM实现。 [0047] 具体实施方式八:本实施方式对是实施方式六所述的基于时间戳的精密计时方法的进一步限定,本实施方式中,所述的微控制器1采用ARM9实现。 [0048] 具体实施方式十:本实施方式对是实施方式六所述的基于时间戳的精密计时方法的进一步限定,本实施方式中,所述的FPGA2采用XC7Z030实现。 |