AFDX交换机终端协议栈结构及其数据收发方法技术

技术编号:9740111 阅读:95 留言:0更新日期:2014-03-06 23:33
本发明专利技术公开了一种AFDX交换机终端协议栈结构,包括发送部分与接收部分,其中发送部分包括发送接口模块、添加UDP、IP、MAC头和SN号/分片拆包模块、子虚拟链路调度模块、虚拟链路整形和调度模块、线速发送和FCS计算模块;而接收部分包括线速接收模块、MAC层和IP层检测、完整性检测模块、UDP/分片重组模块、端口映射模块及接收接口模块,其中线速发送和FCS计算模块、线速接收模块、MAC层和IP层检测、完整性检测模块由FPGA通过硬件的方式实现,而其他的功能模块采用软件方式实现。

【技术实现步骤摘要】
AFDX交换机终端协议栈结构及其数据收发方法
】本专利技术涉及航电系统飞机数据总线网络系统,特别是航空全双工交换式以太网(Avionic Full-Duplex Switched Ethernet,AFDX/ARINC664)的交换机终端协议栈结构及其数据收发方法。【
技术介绍
】AFDX网络基于标准的IEEE802.3技术,目前在国内外各型飞机的航电系统中得到广泛使用。在AFDX星型网络拓扑结构中,交换机是整个网络的中枢,主要负责数据的过滤与转发。而交换机终端是交换机的重要组成部分,为交换机中网络管理、数据加载、状态监控等应用提供AFDX数据收发接口。AFDX交换机终端主要实现消息封装、消息提取、发送调度、完整性检查、分片组包等功能,与普通AFDX终端相比,交换机终端支持的端口和链路较少,且不需要提供冗余管理功能。另外交换机终端并没有对外可见的物理端口,而是与交换机内部端口直接相连。按照ARINC664协议,AFDX交换机的架构如图1所示,AFDX交换机工作在MAC层,共有N个100M输入端口和N个100M输出端口,数据可以从配置表中指定的输入端口进入交换机,交换引擎根据配置表将链路数据转发到指定的输出端口。AFDX交换机主要可以分为五个模块:配置表模块、过滤交换模块、监控模块、终端模块、应用程序模块。这几个模块之间相互关联,其中终端模块的主要功能如下:( I)配置表解析,即从配置表模块中获取终端配置表并解析,为各个端口和虚拟链路分配缓冲区。(2)消息的封装和提取。在发送过程中,对应用程序消息进行协议封装,增加UDP头、IP头、SN号、MAC头以及帧校验和,在接收过程中,对AFDX数据帧进行完整性检测和协议解析,去掉Μ)Ρ头、IP头和MAC头,将应用消息存放在目的端口缓冲区。该功能包含了 IP层的分片和重组。(3)流量整形和调度。对每条发送链路的子虚拟链路进行Round-Robin调度,对发送链路的数据帧进行整形和发送,确保在BAG时间内,每条链路最多发送一帧数据。此功能是交换机终端的核心功能,是保证发送虚拟链路之间带宽互不影响的关键基础。在现有的AFDX交换机设计中,过滤交换功能由于数据量大、实时性强一般是由FPGA实现的。出于成本和实现复杂度的考虑,应用程序和终端功能则一般通过软件实现。软件终端虽然实现方便,但是软件顺序执行效率较低,由此引发的终端发送接收性能下降的问题不容忽视。例如交换机终端如果不能线速发送数据,则可能造成链路发送时抖动延时过大,导致数据帧被交换机过滤掉,从而违背了 AFDX网络的确定性要求。【
技术实现思路
】本专利技术的目的在于提供一种符合ARINC664协议的AFDX交换机终端协议栈结构及其数据收发方法,用以解决现有的终端功能通过软件实现导致的发送接收性能下降的问题。为实现上述目的,实施本专利技术的AFDX交换机终端协议栈结构包括发送部分与接收部分,其中发送部分包括发送接口模块、添加m)P、IP、MAC头和SN号/分片拆包模块、子虚拟链路调度模块、虚拟链路整形和调度模块、线速发送和FCS计算模块;而接收部分包括线速接收模块、MAC层和IP层检测、完整性检测模块、UDP/分片重组模块、端口映射模块及接收接口模块,其中线速发送和FCS计算模块、线速接收模块、MAC层和IP层检测、完整性检测模块由FPGA通过硬件的方式实现,而其他的功能模块采用软件方式实现。为实现上述目的,本专利技术提供一种利用上述的AFDX交换机终端协议栈进行数据发送的方法,该方法包括如下步骤:(I)由发送接口模块将应用消息存放在发送接口缓冲区;(2)由添加UDP、IP、MAC头和SN号/分片拆包模块从发送接口中取出消息,并进行协议封装,将打包好的数据存放在子虚拟链路缓冲区,但不计算MAC帧校验和;(3)由子虚拟链路调度模块轮询各条链路的子虚链路,查看链路是否有数据发送并符合BAG ;(4)由虚拟链路整形和调度模块将所有可以发送的数据地址和长度通过寄存器接口传递给FPGA,并通知FPGA启动DMA传输;(5)由线速发送和FCS计算模块从子虚拟链路缓冲区中获取数据并线速发送到交换机内部端口,并且计算MAC帧的校验和。依据上述主要特征,在发送数据时,发送接口模块将应用程序发送的消息用单向链表链接起来,在发送数据时直接从单向链表中获取数据并添加协议头,而不再需要对所有的端口进行轮询。为实现上述目的,本专利技术提供一种利用上述的AFDX交换机终端协议栈进行数据接收的方法,该方法包括如下步骤:(I)由线速接收模块从交换机内部端口中线速接收数据;(2)由MAC层和IP层检测、完整性检测模块对接收到的数据进行MAC帧校验和检测、MAC地址检测、链路检测、完整性检测、IP地址检测、IP校验和检测、IP长度检测、ICMP校验和检测;(3 )由MAC层和IP层检测、完整性检测模块将符合协议的帧存放在MAC帧缓冲区,不符合协议的帧丢弃并更新相应的计数器;(4)由UDP/分片重组模块对MAC帧缓冲区中的数据进行IP和UDP层的解析,由于FPGA已经完成了大部分接收检测,软件仅需从数据帧中获取链路号、UDP端口号、IP标识号;(5)由端口映射模块根据步骤4中获取的消息进行端口映射,如果是分片帧,则将分片消息存放到端口分片缓冲区,待重组完成后再拷贝到端口缓冲区;如果不是分片帧,则直接将消息存放到接收接口缓冲区;(6)由接收接口模块从接收接口缓冲区中取出数据并传递给应用程序处理。依据上述主要特征,该方法中一个接收链路最多对应4个接收接口,在终端初始化阶段对接收虚拟链路号从小到大进行排序,在进行端口映射时,首先通过二分法查找虚拟链路号,然后查询每条链路对应的接收接口。与现有技术相比较,本专利技术利用软件和FPGA协同方式实现AFDX交换机终端协议栈,该方案结合了软件的灵活性与硬件描述语言的高速处理能力,对交换机终端功能进行了合理划分,对软件实现进行了有效优化,能够在满足交换机终端功能需求前提下,提升终端数据收发性能和可维护性。并且该方案能够方便的移植到各种硬件平台,应用范围广,具有显著的市场前景和经济效益。【【附图说明】】图1为AFDX交换机的架构示意图。图2为实施本专利技术的AFDX交换机终端协议栈的功能模块结构示意图。【【具体实施方式】】本专利技术按照ARINC664协议对交换机终端的要求,将交换机终端的功能进行了合理划分,结合软件顺序执行和FPGA并发执行的特点,采用了图2所示的终端协议栈。实施本专利技术的AFDX交换机终端协议栈的功能模块被分为发送部分与接收部分,其中发送部分包括发送接口模块、添加m)P、IP、MAC头和SN号/分片拆包模块、子虚拟链路调度模块、虚拟链路整形和调度模块、线速发送和FCS计算模块;而接收部分包括线速接收模块、MAC层和IP层检测、完整性检测模块、UDP/分片重组模块、端口映射模块及接收接口模块,其中计算量较大、对时间要求严格的功能模块,包括线速发送和FCS计算模块、线速接收模块、MAC层和IP层检测、完整性检测模块,则由FPGA通过硬件的方式实现,而其他的功能模块采用软件方式实现。至于上述各模块的功能及实现方式,现有技术中多有描述,此处不再详细说明。利用图2所示的AFDX交换机终端协议栈结构,交换机终端发送数据的流本文档来自技高网
...

【技术保护点】
一种AFDX交换机终端协议栈结构,其特征在于,包括发送部分与接收部分,其中发送部分包括发送接口模块、添加UDP、IP、MAC头和SN号/分片拆包模块、子虚拟链路调度模块、虚拟链路整形和调度模块、线速发送和FCS计算模块;而接收部分包括线速接收模块、MAC层和IP层检测、完整性检测模块、UDP/分片重组模块、端口映射模块及接收接口模块,其中线速发送和FCS计算模块、线速接收模块、MAC层和IP层检测、完整性检测模块由FPGA通过硬件的方式实现,而其他的功能模块采用软件方式实现。

【技术特征摘要】
1.一种AFDX交换机终端协议栈结构,其特征在于,包括发送部分与接收部分,其中发送部分包括发送接口模块、添加m)P、IP、MAC头和SN号/分片拆包模块、子虚拟链路调度模块、虚拟链路整形和调度模块、线速发送和FCS计算模块;而接收部分包括线速接收模块、MAC层和IP层检测、完整性检测模块、UDP/分片重组模块、端口映射模块及接收接口模块,其中线速发送和FCS计算模块、线速接收模块、MAC层和IP层检测、完整性检测模块由FPGA通过硬件的方式实现,而其他的功能模块采用软件方式实现。2.一种利用权利要求1所述的AFDX交换机终端协议栈结构进行数据发送的方法,该方法包括如下步骤: (O由发送接口模块将应用消息存放在发送接口缓冲区; (2)由添加UDP、IP、MAC头和SN号/分片拆包模块从发送接口中取出消息,并进行协议封装,将打包好的数据存放在子虚拟链路缓冲区,但不计算MAC帧校验和; (3)由子虚拟链路调度模块轮询各条链路的子虚链路,查看链路是否有数据发送并符合 BAG; (4)由虚拟链路整形和调度模块将所有可以发送的数据地址和长度通过寄存器接口传递给FPGA,并通知FPGA启动DMA传输; (5)由线速发送和FCS计算模块从子虚拟链路缓冲区中获取数据并线速发送到交换机内部端口,并且计算MAC帧的校验和。3.如权利要求2所述的方法,其特征在于:在发送数据时,发送接口模块将应用程序发送的消息...

【专利技术属性】
技术研发人员:关乃轩谭永亮
申请(专利权)人:中国航空无线电电子研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1