基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法转让专利

申请号 : CN201510729484.8

文献号 : CN105426329B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张博为卢士鹏朱颖苏丽

申请人 : 北京遥测技术研究所航天长征火箭技术有限公司

摘要 :

基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,在高性能FPGA平台上,采用万兆网硬协议栈IP核加万兆网MAC的IP核的方式在一片FPGA上实现信号采集功能和包括应用层、网络层、MAC层、物理层的万兆以太网发送通路与接收通路,实现一种将IRIG格式封装的采集数据通过高速万兆以太网发送到后端信号处理服务器并进一步处理的高速采集转发方法。据此实现的信号采集转发实现方法及信号采集转发系统,可以实现对多路中频信号的采集并将中频采集数据高速转发到由交换机、服务器、存储阵列等节点组成的高速以太网集群中。该采集转发实现方法将信号的采集与处理功能在系统架构上分离,具有系统架构简单、设备小型化、传输速度高、整体功耗低等特点。

权利要求 :

1.基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于包括下列步骤:

(1)将FPGA片外采集的N个通道中频数字信号流数据、时码信息、AGC功率信息输入到FPGA片内,N为正整数,且1≤N≤4;

(2)将步骤(1)中所述的N个通道中频数字信号流数据、时码信息、AGC功率信息按照IRIG协议帧格式进行封装,得到N个通道的IRIG协议帧数据;

(3)将步骤(2)中所述的N个通道的IRIG协议帧数据采用Round-Robin仲裁方式和时分复用方式按1帧为单位的串行IRIG协议帧数据发送到自定义的采集打包模块数据输出接口;

(4)将步骤(3)中所述的串行IRIG协议帧数据输入到FPGA片内的由Block RAM组成的异步FIFO中进行异步缓冲;

(5)将步骤(4)中所述异步FIFO中缓冲后的串行IRIG协议帧数据通过一条AXI-Stream总线,即AXIS总线,发送到FPGA片内的网络模块中的收发引擎的TX引擎M个AXIS Slave端口中的1个端口,M为正整数,且1≤M≤3;

(6)为步骤(5)中所述发送的AXIS Slave端口的IRIG协议帧数据添加AXIS协议流标识,即设置网络模块中的收发引擎的TX引擎2-bit的多路转1路选通信号,TX引擎接收选通的这路IRIG协议帧数据;

(7)从TX引擎AXIS Master端口输出的IRIG协议帧数据,通过另一条AXIS总线发送到FPGA片内的万兆网UDP/IP硬协议栈TX端数据端口;

(8)在万兆网UDP硬协议栈中,将步骤(7)的IRIG协议帧数据按1帧IRIG协议帧为单位,即8192字节,进行UDP首部封装,得到UDP首部封装的数据包;

(9)将步骤(8)完成UDP首部封装的数据包,进行符合IPV4协议的IP首部封装,得到IP首部封装的数据包;

(10)对步骤(9)完成IP首部封装的数据包进行校验,填充校验字段,得到完成UDP/IP协议封装的数据包;

(11)将步骤(10)完成UDP/IP协议封装的数据包通过再一条AXIS总线传送到FPGA片内的10G Ethernet MAC层模块;

(12)在10G Ethernet MAC层模块中,对步骤(10)得到的UDP/IP协议封装的数据包进行符合10G Ethernet MAC层协议格式的MAC帧封装,得到MAC帧封装的数据包;

(13)将步骤(12)完成MAC帧封装的数据包通过10G Ethernet MAC层模块的TX端XGMII接口传送到FPGA片内的10G BASE-R PCS/PMA层模块;

(14)在10G BASE-R PCS/PMA层模块中,对步骤(12)得到的MAC帧封装的数据包进行物理层封装,并通过TX端连接的FPGA片的引脚发送到FPGA片外“SFP+”光端口模块,再通过LC光纤的发送链路发送出去;

(15)循环进行步骤(1)~(14),直至N个通道中频数字信号流数据采集完成,即完成对信号的高速采集转发。

2.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:在循环进行步骤(1)~(14)的同时,实时通过LC光纤的接收链路接收符合UDP/IP以太网协议的远程命令信息数据包,并依次通过10G BASE-R PCS/PMA层RX端、10G Ethernet MAC层RX端、UDP硬协议栈RX模块、收发引擎RX引擎,以依次完成物理层解封装、MAC解封装、IP层协议解封装、UDP层协议解封装、接收数据包地址过滤,获得远程命令信息数据包中的远程命令信息数据,该远程命令信息数据用以实现对基于嵌入式万兆网络硬协议栈的信号高速采集转发的控制,即对得到的远程命令信息数据进行解析,对步骤(6)~步骤(14)描述的过程进行控制,包含对采集打包模块的通道配置、A/D采集的启停、UDP/IP地址的配置和信号采集启停进行控制。

3.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:经FPGA片外A/D采集的中频数字信号频率为56MHz,且量化位宽为16-bit。

4.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:所述步骤(1)中由片外传入FPGA的时码信息符合IRIG-B(DC)码的格式。

5.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:所述步骤(2)中采集打包模块产生的IRIG协议帧数据每帧长度为8192字节的整数倍。

6.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:所述步骤(4)中由Block RAM组成的异步FIFO宽度为8字节,深度不小于16K。

7.根据权利要求1所述的基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于:所述步骤(7)中UDP/IP硬协议栈TX端数据端口为8字节位宽,该万兆网UDP/IP硬协议栈运行时钟频率为156.25MHz。

说明书 :

基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法

技术领域

[0001] 本发明涉及基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,属于嵌入式系统高速网络技术领域。

背景技术

[0002] 信号高速采集转发是将经过射频下变频、A/D量化得到的中频数字信号进行封装或处理,并通过高速以太网转发出去的数据传输技术,是当前测控通信中的重要技术。随着一些高性能的有效载荷(如高分辨率CCD相机)在航天器上的应用,天地通信的数据量和速率大大增加,一些测控设备的数据处理能力超过1Gbps,对万兆级别(10Gbps)通信能力的需求越加急迫。在软解调技术中,需要采用信号采集转发系统来获取中频数字信号。随着对测控站、测控系统的通用性和小型化,对信号高速采集转发实现方法的要求可以归纳为集成化、小型化、功耗低、经济耐用。在采用“商用服务器+高性能并行软件”的软解调技术中,需要将总速率超过2Gbps的前端采集的中频数字信号通过网络发送到后端商业服务器。这就需要采用嵌入式系统方式实现万兆以太网通路。
[0003] 目前业界常用的嵌入式以太网解决方案为在微控制器内移植软件协议栈和在ASIC内置协议栈,但往往都不能同时兼顾传输效率、可集成化和可移植性。常见的嵌入式以太网数据传输实施方案包括:(1)ARM+Linux+网卡;(2)DSP+PHY芯片;(3)FPGA+PHY芯片。方案(1)需要为数据传输加入网卡,并自行编写外设与网络协议驱动,操作复杂,前期设计成本高,维护难度大,ARM中Linux操作系统上运行的软件协议栈最高可以支持千兆网性能,无法达到软解调技术所需要的性能。方案(2)利用专门针对网络应用而开发的LIB库,其中包含的函数实现协议功能。这种方案相比(1)的情况开发难度有所降低,应用也较为成熟。但由于DSP内部CPU仍采取串行调用方式,同样无法满足性能需求。方案(3)中,若采用FPGA片内软核处理器实现网络协议栈则与方案(1)、方案(2)具有同样难以解决的性能问题。在此情况下,需要采用高速IP核来实现网络协议栈。目前能够满足万兆性能的TCP/IP协议栈IP核实现难度大,在国内尚无相关产品出现,需要考虑采用其他网络协议栈IP核以满足要求。

发明内容

[0004] 本发明的技术解决问题为:克服现有技术的不足,提出了基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,解决了微控制器内移植软件协议栈和在ASIC内置协议栈不能同时兼顾传输效率、可集成化和可移植性的问题,提供了一种在一片FPGA上实现包括多通道信号采集、缓冲、并直接通过万兆性能的嵌入式网络进行数据传输的解决方案,可以直接解决软解调技术中前端信号采集传输能力不足的问题。
[0005] 本发明的技术解决方案为:一种基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,步骤如下:
[0006] (1)将FPGA片外采集的N个通道中频数字信号流数据、时码信息、AGC功率信息输入到FPGA片内,N为正整数,且1≤N≤4;
[0007] (2)将步骤(1)中所述的N个通道中频数字信号流数据、时码信息、AGC功率信息按照IRIG协议帧格式进行封装,得到N个通道的IRIG协议帧数据;
[0008] (3)将步骤(2)中所述的N个通道的IRIG协议帧数据采用Round-Robin仲裁方式和时分复用方式按1帧为单位的串行IRIG协议帧数据发送到自定义的采集打包模块数据输出接口;
[0009] (4)将步骤(3)中所述的串行IRIG协议帧数据输入到FPGA片内的由Block RAM组成的异步FIFO中进行异步缓冲;
[0010] (5)将步骤(4)中所述异步FIFO中缓冲后的串行IRIG协议帧数据通过一条AXI-Stream总线,即AXIS总线,发送到FPGA片内的网络模块中的收发引擎的TX引擎M个AXIS Slave端口中的1个端口,M为正整数,且1≤M≤3;
[0011] (6)为步骤(5)中所述发送的AXIS Slave端口的IRIG协议帧数据添加AXIS协议流标识,即设置网络模块中的收发引擎的TX引擎2-bit的多路转1路选通信号,TX引擎接收选通的这路IRIG协议帧数据;
[0012] (7)从TX引擎AXIS Master端口输出的IRIG协议帧数据,通过另一条AXIS总线发送到FPGA片内的万兆网UDP/IP硬协议栈TX端数据端口;
[0013] (8)在万兆网UDP硬协议栈中,将步骤(7)的IRIG协议帧数据按1帧IRIG协议帧为单位,即8192字节,进行UDP首部封装,得到UDP首部封装的数据包;
[0014] (9)将步骤(8)完成UDP首部封装的数据包,进行符合IPV4协议的IP首部封装,得到IP首部封装的数据包;
[0015] (10)对步骤(9)完成IP首部封装的数据包进行校验,填充校验字段,得到完成UDP/IP协议封装的数据包;
[0016] (11)将步骤(10)完成UDP/IP协议封装的数据包通过再一条AXIS总线传送到FPGA片内的10G Ethernet MAC层模块;
[0017] (12)在10G Ethernet MAC层模块中,对步骤(10)得到的UDP/IP协议封装的数据包进行符合10G Ethernet MAC层协议格式的MAC帧封装,得到MAC帧封装的数据包;
[0018] (13)将步骤(12)完成MAC帧封装的数据包通过10G Ethernet MAC层模块的TX端XGMII接口传送到FPGA片内的10G BASE-R PCS/PMA层模块;
[0019] (14)在10G BASE-R PCS/PMA层模块中,对步骤(12)得到的MAC帧封装的数据包进行物理层封装,并通过TX端连接的FPGA片的引脚发送到FPGA片外“SFP+”光端口模块,再通过LC光纤的发送链路发送出去,
[0020] (15)循环进行步骤(1)~(14),直至N个通道中频数字信号流数据采集完成,即完成对信号的高速采集转发;
[0021] 在循环进行步骤(1)~(14)的同时,实时通过LC光纤的接收链路接收符合UDP/IP以太网协议的远程命令信息数据包,并依次通过10G BASE-R PCS/PMA层RX端、10G Ethernet MAC层RX端、UDP硬协议栈RX模块、收发引擎RX引擎,以依次完成物理层解封装、MAC解封装、IP层协议解封装、UDP层协议解封装、接收数据包地址过滤,获得远程命令信息数据包中的远程命令信息数据,该远程命令信息数据用以实现对基于嵌入式万兆网络硬协议栈的信号高速采集转发的控制,即对得到的远程命令信息数据进行解析,对步骤(6)~步骤(14)描述的过程进行控制,包含对采集打包模块的通道配置、A/D采集的启停、UDP/IP地址的配置和信号采集启停进行控制。
[0022] 经FPGA片外A/D采集的中频数字信号频率为56MHz,且量化位宽为16-bit;
[0023] 所述步骤(1)中由片外传入FPGA的时码信息符合IRIG-B(DC)码的格式;
[0024] 所述步骤(2)中采集打包模块产生的IRIG协议帧数据每帧长度为8192字节的整数倍;
[0025] 所述步骤(4)中由Block RAM组成的异步FIFO宽度为8字节,深度不小于16K;
[0026] 所述步骤(7)中UDP/IP硬协议栈TX端数据端口为8字节位宽,该万兆网UDP/IP硬协议栈运行时钟频率为156.25MHz。
[0027] 本发明与现有技术相比带来的有益效果是:
[0028] (1)在FPGA上实现嵌入式万兆以太网传输的方案,不仅可以弥补上述方案出现的不足,而且在传输效率、可集成化和可移植性上都会得到改进;
[0029] (2)采用嵌入式万兆网传输,不增加专门的通用网络转发设备(如主板+万兆网卡),仅在采集系统所在的FPGA上增加硬件逻辑并增加光纤端口即可实现数据的高速转发,大幅度提高了设备的利用率;
[0030] (3)将信号采集系统与数据转发系统直接耦合在一起,去掉上述方案中由专门的通用网络转发设备带来的额外的数据通路,提高了系统和数据传输的可靠性;
[0031] (4)由片外传入FPGA的时码信息采用符合IRIG-B(DC)码的格式有利于该方法直接用于航空航天领域较常见的采用IRIG数据格式的系统;
[0032] (5)采集打包模块产生的IRIG协议帧数据每帧长度为8192字节的整数倍,有利于万兆网协议栈处理效率的提高;
[0033] (6)由Block RAM组成的异步FIFO宽度为8字节,深度不小于16K,有利于万兆网协议栈处理效率的提高;
[0034] (7)UDP/IP硬协议栈运行时钟频率为156.25MHz,与现有的主流商业FPGA提供的时钟保持一致,有利于该方法在主流商业FPGA中直接使用。

附图说明

[0035] 图1是本发明方法原理流程图;
[0036] 图2是本发明的流程图。

具体实施方式

[0037] 本发明的基本思路为:一种基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,在高性能FPGA平台上,采用万兆网硬协议栈IP核加万兆网MAC的IP核的方式在一片FPGA上实现信号采集功能和包括应用层、网络层、MAC层、物理层的万兆以太网发送通路与接收通路,实现将IRIG格式封装的采集数据通过高速万兆以太网发送到后端软解调商用服务器并进一步处理的一种高速采集转发方法。在一片FPGA内,采用打包模块对片外传入的中频数字信号进行采集,将采集的数字信号按IRIG数据帧格式进行封装。对封装后的数据帧进行异步缓冲。将缓冲后的IRIG帧格式数据通过AXI-stream总线,或称为AXIS总线,送到网络模块中的网络收发引擎TX引擎Slave端,在TX引擎中完成数据的多对一交换、添加流标识、地址过滤等操作,再通过网络收发引擎TX引擎Master端通过AXI-stream总线传送到万兆网UDP硬协议栈IP核的应用层端数据接口。将IRIG帧格式数据在UDP/IP硬协议栈中完成符合UDP/IP网络协议的网络包封装并传送到万兆以太网MAC层和PCS/PMA层,最后通过LC光纤发送出去。该发明采用硬件逻辑实现应用层和网络层协议栈,在FPGA嵌入式系统中可达到软件协议栈无法达到的10Gbps级数据传输速率。据此实现的信号采集转发实现方法及信号采集转发系统,利用了嵌入式万兆网的先进技术,可以实现在一片FPGA中对多种中频信号的高速采集并将数据高速转发到由交换机、服务器、存储阵列等节点组成的高速以太网集群中。该采集转发实现方法具有系统架构简单、设备小型化、数传性能高、整体功耗低等特点。同时可推广到其他与高速数据采集或发送相关的系统(如高速检前记录器、高码率接收机)中。
[0038] 下面结合附图和具体实施例对本发明进行详细说明。
[0039] 本方法是基于一种基于嵌入式万兆网硬协议栈的信号高速采集转发系统,该系统包括:
[0040] 一个FPGA片外A/D采集模块与FPGA引脚直接相连,负责将中频模拟信号转换为中频数字信号,得到的多通道中频数字信号传入FPGA片内的采集打包模块中。采集打包模块采用Round-Robin仲裁器轮询多通道中频数字信号IRIG协议帧数据,并以时分复用的方式串行输出。采集打包模块通过自定义接口与FPGA片内的由Block RAM组成的异步FIFO连接。异步FIFO通过第一条片内AXI-Stream总线,即AXIS总线,与FPGA片内的网络模块中的收发引擎的TX引擎连接。网络模块内包括收发引擎模块、万兆网UDP/IP硬协议栈模块、10G Ethernet MAC层模块和10G BASE-R PCS/PMA层模块。收发引擎模块通过第二条片内AXIS总线与万兆网UDP/IP硬协议栈模块的TX端模块连接。TX端模块通过第三条AXIS总线与10G Ethernet MAC层模块连接。10G Ethernet MAC层模块通过Xgmii接口10G Base-R PCS/PMA模块连接。10G Base-R PCS/PMA模块与FPGA片外的“SFP+”光纤端口模块连接。“SFP+”光纤端口模块连接LC光纤的一端,LC光纤的另一端与远程的信号处理服务器连接。
[0041] 万兆网UDP/IP硬协议栈模块由专门的10G Hardware Ethernet UDP/IP协议栈IP核及接口组成,采用硬件逻辑完成网络传输层UDP和IP协议的解析。
[0042] 如图1和图2所示,本发明提供了基于嵌入式万兆网硬协议栈的信号高速采集转发实现方法,其特征在于包括下列步骤:
[0043] (1)将FPGA片外A/D采集的N个通道中频数字信号流数据、时码信息、AGC功率信息输入到FPGA片内的采集打包模块,N为正整数,且1≤N≤4,中频数字信号频率不高于93.3MHz;(2)在采集打包模块中将步骤(1)中所述的N个通道中频数字信号流数据、时码信息、AGC功率信息按照IRIG协议帧格式进行封装,得到N个通道的IRIG协议帧数据,每帧长度为8192字节;每帧长度为8192字节的整数倍有利于万兆网协议栈处理效率的提高;(3)在采集打包模块中将步骤(2)中所述的N个通道的IRIG协议帧数据采用Round-Robin仲裁方式和时分复用方式按1帧为单位串行发送到自定义的采集打包模块数据输出接口;(4)将步骤(3)中所述的采集打包模块数据输出串行输出的IRIG协议帧数据输入到FPGA片内的由Block RAM组成的异步FIFO中进行异步缓冲,该异步FIFO宽度为8字节,深度不小于16K,有利于万兆网协议栈处理效率的提高;(5)将步骤(4)中所述异步FIFO中缓冲后的IRIG协议帧数据通过AXI-Stream总线,即AXIS总线,发送到FPGA片内的网络模块中的收发引擎的TX引擎M个AXIS Slave端口中的1个端口,M为正整数,且1≤M≤3;(6)为步骤(5)中所述发送的AXIS Slave端口的IRIG协议帧数据添加AXIS协议流标识,通过设置网络模块中的收发引擎的TX引擎2-bit的多路转1路选通信号,接收IRIG协议帧数据;
[0044] (7)从TX引擎AXIS Master端口将IRIG协议帧数据作为应用层数据通过AXIS总线发送到FPGA片内的万兆网UDP硬协议栈TX端数据端口,该数据端口为8字节位宽,该万兆网UDP硬协议栈运行时钟频率为156.25MHz;采用156.25MHz,与现有的主流商业FPGA提供的时钟保持一致,有利于该方法在主流商业FPGA中直接使用;
[0045] (8)在万兆网UDP硬协议栈中,将数据按1帧IRIG协议帧为单位,即8192字节,进行UDP首部封装;每帧长度为8192字节的整数倍有利于万兆网协议栈处理效率的提高;
[0046] (9)将完成UDP首部封装的数据包,进行符合IPV4协议的IP首部封装;
[0047] (10)对完成IP首部封装的数据包进行校验,填充校验字段;
[0048] (11)将完成UDP协议封装的数据包通过AXIS总线传送到FPGA片内的10G Ethernet MAC层模块;
[0049] (12)在10G  Ethernet MAC层模块中对UDP协议封装的数据包进行符合10G Ethernet MAC层协议格式的MAC帧封装;
[0050] (13)将完成MAC帧封装的数据包通过TX端XGMII接口传送到FPGA片内的10G BASE-R PCS/PMA层模块;
[0051] (14)在10G BASE-R PCS/PMA层模块中对MAC帧封装的数据包进行物理层封装,并通过TX端连接的FPGA上引脚发送到片外“SFP+”光端口,再通过LC光纤发送链路发送出去。循环进行步骤(1)~(14),完成对信号的高速采集转发;
[0052] (15)循环进行步骤(1)~(14),直至N个通道中频数字信号流数据采集完成,即完成对信号的高速采集转发;
[0053] (16)在循环进行步骤(1)~(14)的同时,实时通过LC光纤接收链路接收符合UDP/IP以太网协议的远程命令信息数据包,并依次通过10G BASE-R PCS/PMA层RX端、10G Ethernet MAC层RX端、UDP硬协议栈RX模块、收发引擎RX引擎,以依次完成物理层解封装、MAC解封装、IP层协议解封装、UDP层协议解封装、接收数据包地址过滤,获得远程命令信息数据;
[0054] (17)对步骤(6)~步骤(14)描述的过程进行控制,包含对采集打包模块的通道配置、A/D采集的启停、UDP/IP地址的配置和信号采集启停进行控制。
[0055] 本发明已经使用在采用“前端采集+万兆网转发+商用服务器+信号处理高性能并行软件”架构的软解调技术中,将56MHz中频模拟信号采样、量化和封包后,再将总速率超过2Gbps的封包后中频数字信号数据通过光纤万兆以太网发送到后端商业服务器端,并进行软解调信号处理。在该实施例中,基于本发明的采集转发系统性能良好,工作稳定。