一种水下线列阵的使用网络恢复时钟的同步采集方法与流程

文档序号:13891491阅读:231来源:国知局
一种水下线列阵的使用网络恢复时钟的同步采集方法与流程

本发明涉及对水下数据采集传输系统的同步采集方案的改进,属于数据采集与传输技术领域。



背景技术:

目前,水下数据采集传输系统已经获得了非常广泛的应用。在能源领域,它被运用到海上渗水地震采集处理一体化技术中;在军事领域,它被运用到拖曳式线阵声纳、海底光缆等系统中。早前的拖缆主要基于模拟信号传输,随着水下基元的增加,许多缺点开始显露出来,诸如直径粗、重量大、信号衰减畸变严重以及信号间干扰较大等。随着微电子技术的不断发展,近年来开始转型于在数字化平台上研制水下数据采集及高速传输系统。目前已经具有大容量和多基元的水下数据采集传输系统,且多为单向串联式。但是现在的采集传输系统多采用485时钟同步方案,此方案不仅需要在阵缆中多加2根线用于时钟信号的传输,且不能消除线上传输所导致的延时误差,在单向多节点的采集传输系统中,传输距离越远,同步误差越大。



技术实现要素:

发明目的:针对现有技术中存在的问题,本发明提供一种水下线列阵的使用网络恢复时钟的同步采集方法,目前网络传输方面比较成熟的技术是千兆网络,本发明所搭建的网络恢复时钟同步方案就是建立在千兆网络的基础上,通过千兆网的传输速率,达到ns级的同步误差。本发明的目的是尽量降低同步误差,同时也可减少阵缆中的排线,降低成本,提高系统沉入海底后的可靠性。

技术方案:一种水下线列阵的使用网络恢复时钟的同步采集方法,包括以下步骤:

1. 线列阵的采集传输节点使用支持千兆网络的网口芯片;

2. 线列阵的阵缆中使用超六类双屏蔽网线,使传输速率达到千兆网速级别;

3. 各个采集传输节点间级联组成线列阵,通过主机向各个采集传输节点发起计算延时要求;

4. 每个采集传输节点收到此计算延时要求后,在传输给级联的下个采集传输节点的同时开始计数,然后等待响应包“计算传输延时响应数据包”从级联的下个节点回传至本节点,同时锁存计数值;

5. 以末节点收到该计算延时要求包的时刻为基准,各个采集传输节点将自身信息与锁存的计数值插入至回传包中,回传到主机;

6. 主机收到各个采集传输节点的计数值后,可以通过第N+1个采集传输节点从收到计算延时要求包至收到“计算传输延时响应数据包”的时间t(N+1)与第N个节点从收到计算延时要求包至收到“计算传输延时响应数据包”的时间t(N)的差算出第N个节点到第N+1节点的物理延时时间=[t(N) - t(N+1)]/2,然后把每个节点相对于末节点的延时再通过UDP参数包写入每个节点;

7. 各个节点根据6中写入每个节点的延时值delay,收到主机发出的同步命令包后,在延时值delay的时间后,再产生采集板所需要的sync信号;至此每个节点基本在同一时间产生sync信号给各自的采集板,完成同步。

本发明采用上述技术方案,具有以下有益效果:

1. 节省了阵缆中的布线,更适合于深海区域的水下采集传输系统。因为下潜越深阵缆越难布放,对阵缆的尺寸要求更严,少了485同步的2根线后,阵缆的尺寸会缩减,更有利于深海布放;

2. 缩减了节点数目较多时的同步采集的延时误差。原有的485同步是有固定延时的,所以距离越长,延时叠加的就越大,本发明方法不受距离限制,更适用于多节点线列阵。

附图说明

图1为采集传输节点模块结构图;

图2为网络恢复时钟的同步原理图;

图3为线列阵水下采集传输系统原理图;

图4为实例中adc_if模块具体结构图;

图5为实例中giga_if模块具体结构图;

图6为实例中udp_if模块具体结构图;

图7为实例中主机到节点计算传输延时要求包格式;

图8为实例中节点发给主机的响应计算延时的包格式;

图9为实例中各节点延时的计算方法。

具体实施方式

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

如图1所示,采集传输节点模块结构,其中SP6 Board为传输板,IF Board为接口板,ADC Board为采集板,传输板主要由FPGA芯片、网口芯片及MCU芯片组成,通过FPGA芯片可以控制采集板的各项采集参数及负责数据的整理打包与向上位机传送,网口芯片能控制4个网口,由FPGA决定使用哪2组网口作为节点的数据收发端;接口板起到连接和供电作用;采集板负责信号的采集。

其中,网络恢复时钟的同步原理是通过PHY内部锁相功能产生跟随前级传输板的同步时钟(其中,以第一个节点的时钟为标准时钟)。具体如附图2所示。

同步采集方法原理

每个采集传输节点使用的是网络同步时钟,所以节点间时钟抖动产生的误差忽略不计;由于各节点间级联关系,从主机传送至每个节点的命令存在物理上的延时,所以为了测量各个节点间的物理延时,我们通过“计算传输延时要求包”向每个节点发起计算延时要求,每个节点收到此计算要求命令后,正常地传输给级联的下个节点的同时开始计数,然后等待对应此命令的响应包“计算传输延时响应数据包”从级联的下个节点回传至本节点,同时锁存计数值,并以末节点收到该计算延时要求包的时刻为基准把本节点信息与锁存的计数值插入至回传包中,直至回传到主机。

主机得到每个节点的收到UDP包与回传UDP包的时间间隔,就可以通过第N+1个节点从收到计算延时要求包至收到“计算传输延时响应数据包”的时间t(N+1)与第N个节点从收到计算延时要求包至收到“计算传输延时响应数据包”的时间t(N)的差算出第N个节点到第N+1节点的物理延时时间delay=[t(N) - t(N+1)]/2,然后把计算出来的每个节点的延时再通过UDP参数包写入每个节点,每个节点根据写入的延时值delay,收到sync命令包后,在该延时值delay的时间后再产生ADC芯片的SYNC信号,这样从整体上看,每个节点基本在同一时间产生sync信号给各自的ADC芯片,完成同步。当然上述中,主机计算延时值delay会多次重复以上步骤后对得到的延时值取平均;级联芯片的最后一个节点也由主站来指定,以末节点接收到计算延时要求包的时刻为基准,所以末节点不需等待下级回传包。因为是千兆网络平台,即1个bit所需的传输时间为1ns,而每个节点所使用的FPGA芯片的处理速度几乎一样,所以该同步采集方法所产生的同步延时误差当在ns级别,比目前现有的485同步方法延时误差要小很多。

应用实例:

该实例是一种线列阵水下采集传输系统,由10个电子舱节点组成,本系统经由海缆内的导线从陆上获取电源,通过分布式数据采集传输技术获取水听器信号,经由海缆内的光纤完成与干端设备数据交互,包括接受干端设备发送的控制命令并将采集的声阵数据发送干端。具体结构如附图3所示。

电子舱节点是分布式数据采集及传输系统的基本组成单元,按功能将电子舱分为数据采集部分和数据传输部分。

每个电子舱节点由传输板、接口板及采集板构成。ADC采集板实现信号调理和数据采集,传输板完成同步时钟传递和数据封装传输,接口板主要实现所有对外接口信号的接入和共享。

整套系统的主要功能模块如下:

1)adc_if 模块

如附图4所示,adc_if表示ADC板的接口部分,根据同步时钟sync信号,发起读ADC的命令,拿到的ADC数据,先经过CHECK,根据上位机设定的阈值(p_adc_threshold)判断数据是否正确,若是正确就存到dpram中,若是有错误,则报告错误到UDP包生成模块,生成错误状态包,上传到host。若是adc数据在阈值范围内,待全部adc数据写入dpram后,发出end信号给read_out部,read_out部读出dpram的所有正确的adc数据,并发送至UDP包生成模块,生成数据包,传送至host。

2)giga_if 模块

如附图5所示,giga_if利用xilinx的FPGA所带的serdes(gtp)的资源生成SGMII转RGMM桥的IP,与xilinx的MAC IP核组成UDP_IF模块。负责把用户侧接口的数据打包成以太网数据包,并通过SGMII协议发送至板上PHY芯片。

3)udp_if 模块

如附图6所示,udp_if利用负责检测主网口与备份网口的ready信号,选择对应网口通路,把giga_if接收到的数据存入rx_fifo中,并根据包的数据信息判断是host发来的参数设置信息还是下级传来的ADC数据信息,分别转换成寄存器控制信号与DPRAM写信号。tx_fifo负责把需要发送数据缓存下来,防止udp_if未准备好,起到对数据流的控制作用。

整套系统的数据链路由UDP包组成,其中涉及网络恢复时钟同步采集方法的数据包格式如下:

a)计算传输延时要求:包类型:0x04

如附图7所示,主机发送到节点的计算传输延时要求包格式为UDP包,其中MAC包头14Byte,IP包头20Byte,UDP包头8Byte,UDP内容占8Byte,包类型为0x04,于UDP内容中显示。UDP内容中还包含了Last ID设定,具体是指在计算延时的时候,对系统级联的最后一个节点的ID的设定,原因是让系统从最后一个节点开始传输数据,而其他节点只是等待接收下级数据。

b)计算传输延时响应数据包,包类型:0x14

如附图8所示,此数据包为主站发起计算传输延时要求(包类型:0x04),各节点把延时数据回复给主站的数据包。其中MAC包头14Byte,IP包头20Byte,UDP包头8Byte,UDP内容占8Byte,包类型为0x14,于UDP内容中显示。UDP内容中还包含了各个节点返回至主机的该节点锁存的计数值。

c)通过UDP参数设定及UDP状态回传计算节点延时说明

由于每个节点使用的是网络同步时钟,所以节点间时钟抖动产生的误差在此系统中忽略不计;由于各节点间级联关系,从主机传送至每个节点的命令存在物理上的延时,所以为了测量各个节点间的物理延时,我们通过“计算传输延时要求包(包类型:0x04)”向每个节点发起计算延时要求,每个节点收到此计算要求命令后,正常地传输给级联的下个节点的同时开始计数,然后等待对应此命令的响应包“计算传输延时响应数据包(包类型:0x14)”从级联的下个节点回传至本节点,同时锁存计数值,并把本节点信息与锁存的计数值插入至回传包中,直至回传到主机。

主机得到每个节点的收到UDP包与回传UDP包的时间间隔,就可以通过N+1节点的时间t(N+1)与第N个节点的时间t(N)差算出第N个节点到第N+1节点的物理延时时间delay=[t(N) - t(N+1)]/2,然后把每个节点的延时再通过UDP参数包写入每个节点,每个节点根据delay值,在收到sync命令包后,延时delay值的时间后再产生ADC芯片的SYNC信号,这样从整体上看,每个节点基本在同一时间产生sync信号给各自的ADC芯片,完成同步。当然上述中,主机计算延时值delay会多次重复以上步骤后对得到的延时值取平均;级联芯片的最后一个节点也由主站来指定,以末节点接收到计算延时要求包的时刻为基准,所以末节点不需等待下级回传包。计算示意图如附图9所示。

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