论文部分内容阅读
【摘要】航空全双工交换式以太网络(AFDX)是在以太网的基础上建立起来的,由于linux操作系统强大的网络功能和稳定的系统,从而提出一种在linux操作系统下面实现AFDX端系统通信端口的方法,端口在端系统驱动中通过加载配置,创建端口、端口发送/接收3个步骤实现,经过应用程序测试验证了其正确性和可靠性。
【关键词】AFDX端系统通信端口端口配置端口配置表linux操作系统
数据通信技术是航空电子系统实现综合化、模块化的关健技术。其中,AFDX作为近年来最先进的用于航空电子系统的通用通信链路,首次将网络化技术成功地引入到了航空电子系统中。AFDX端系统是AFDX网络组成部分,作为航电子系统与AFDX分组交换机连接的接口,每个航电子系统的端系统保证了航电系统之间数据交换的安全和可靠性。[1]AFDX通信端口作为端系统的一部分,对于AFDX网络消息的传递有着重要的作用,因此本设计以AFDX协议标准为依据,针对AFDX端系统板卡的AFDX协议栈在板上实现的特点,详细讨论了通信端口的通信机制以及一种实现通信端口的方法。
一、AFDX端系统端口概述
AFDX端系统按照层次划分,可以分为4层,包括:媒体访问控制(MAC)层;网络层;传输层;应用层;这4层的功能及关系如图1所示。
其中MAC层、网络层和传输层均在AFDX端系统板卡实现,应用层则由端系统驱动来实现。本文只给出了AFDX通信端口的实现,以下提到的端口均指通信端口。端口在应用层实现,每个端口都有自己的属性。端口在一个端系统中由惟一的端口号标识,端口范围为l024~65635,端口的角色要么是发送端口,要么是接收端口,不能两者兼顾。端口是端系统提供给应用程序的接口,应用程序和端系统板卡通过端口来传递数据。这些特种端口是普通的TCP/IP[2]协议栈所没有的,它是端系统在UDP协议的上层实现的服务。
二、端口通信机制
2.1通信端口类型
根据ARINC 653规范《航空电子应用软件标准接口》[3],端系统提供两种类型的通信端口(communicationport):采样端口(sampling port)和队列端口(queuing port),每种通信端口都采用UDP(无连接)数据报服务。
如图2所示,本图中将在处理程序中读取接收到的UDP数据报,然后将收到的数据报存入一个消息队列,而应用程序从该队列中取出下一个数据报进行处理。
三、端口通信的实现
3.1端口实现的结构体
为了满足端口的特性和实现端口的创建和使用,驱动中定义了两个重要结构体:端口配置和端口配置表。端口配置用于描述每一个端口的属性,包括以下配置信息:端口号、端口模式、端口方向、最大消息长度、最大消息数目、端口刷新率、端口所在分区名称、源UDP端口、目的UDP端口、目的IP、VL号、子VL号、分段标志。端口配置表是根据端口配置生成的,用于存放所有端口的配置信息。它是端口通信实现的一个关键,有关端口的操作都要通过它来完成。在端口的创建和用端口发送/接收数据时用到。端口配置表按端口号升序排列。图4给出了端口配置表的具体组成部分。
3.2端口实现的步骤
端口的实现分为以下3个步骤:加载配置、创建端口、端口发送/接收。
(1)加载配置
由于AFDX网络是确定型网络,使用哪些端口和VL来通信以及发送和接收路径都是在通信之前配置好的,所以在应用程序通信之前,首先要加载端口和VL的配置信息,根据配置信息生成端口配置表和板卡配置表并将板卡配置表拷贝到端系统板卡。
(2)创建端口
在加载配置完成后,要使用端口通信前必须先创建端口。创建端口是根据端口配置表动态申请一块端口缓冲区和数据长度数组。端口缓冲区用于存放消息,大小为最大消息长度与最大消息数的积。数据长度数组用于存放每个消息的实际长度,数组大小为最大消息数。
(3)端口发送/接收
创建端口之后,应用程序就可以通过端口来发送和接收数据了。发送时驱动将用户数据拷贝到端口缓冲区,然后通过端系统板卡将数据发送出去。接收时板卡将数据放到端口缓冲区,驱动再将数据从端口缓冲区拷贝到用户端。
3.3端口实现过程
加载配置函数load_config()的参数为AFDX终端系统配置信息、VL配置信息、端口配置信息,根据这些信息生成端口配置表。端口配置表在逻辑上分为发送和接收,分别将发送端口和接收端口的配置信息填人发送和接收配置表。
四、结论
基于linux实现的AFDX采用动态分配,对于不同的配置任务动态生成不同的配置,使用灵活方便。该交换网络,经分析和测试,证明其可以为航空通信系统提供更大更稳定的带宽,提高系统的通信性能,还有利于航空子系统的升级和维护。这对航空电子通信系统网络的设计具有一定的参考意义。目前本方法只是针对基于linux实现的AFDX通信端口,下一步要进行SAP端口的扩展,并进一步优化端口通信过程,以便达到更高的实时性。
参考文献
[1]赵国斌.航空电子全双工交换式以太网分析.中国制造业信息化,2011,40(21): 61-63
[2] IEEE Standard 802.3. 2000 Edition. 2000
[3]祝永卫,刘俊千. AFDX总线实验平台的设计与实现.中国现代教育装备,2009(17):54-56
【关键词】AFDX端系统通信端口端口配置端口配置表linux操作系统
数据通信技术是航空电子系统实现综合化、模块化的关健技术。其中,AFDX作为近年来最先进的用于航空电子系统的通用通信链路,首次将网络化技术成功地引入到了航空电子系统中。AFDX端系统是AFDX网络组成部分,作为航电子系统与AFDX分组交换机连接的接口,每个航电子系统的端系统保证了航电系统之间数据交换的安全和可靠性。[1]AFDX通信端口作为端系统的一部分,对于AFDX网络消息的传递有着重要的作用,因此本设计以AFDX协议标准为依据,针对AFDX端系统板卡的AFDX协议栈在板上实现的特点,详细讨论了通信端口的通信机制以及一种实现通信端口的方法。
一、AFDX端系统端口概述
AFDX端系统按照层次划分,可以分为4层,包括:媒体访问控制(MAC)层;网络层;传输层;应用层;这4层的功能及关系如图1所示。
其中MAC层、网络层和传输层均在AFDX端系统板卡实现,应用层则由端系统驱动来实现。本文只给出了AFDX通信端口的实现,以下提到的端口均指通信端口。端口在应用层实现,每个端口都有自己的属性。端口在一个端系统中由惟一的端口号标识,端口范围为l024~65635,端口的角色要么是发送端口,要么是接收端口,不能两者兼顾。端口是端系统提供给应用程序的接口,应用程序和端系统板卡通过端口来传递数据。这些特种端口是普通的TCP/IP[2]协议栈所没有的,它是端系统在UDP协议的上层实现的服务。
二、端口通信机制
2.1通信端口类型
根据ARINC 653规范《航空电子应用软件标准接口》[3],端系统提供两种类型的通信端口(communicationport):采样端口(sampling port)和队列端口(queuing port),每种通信端口都采用UDP(无连接)数据报服务。
如图2所示,本图中将在处理程序中读取接收到的UDP数据报,然后将收到的数据报存入一个消息队列,而应用程序从该队列中取出下一个数据报进行处理。
三、端口通信的实现
3.1端口实现的结构体
为了满足端口的特性和实现端口的创建和使用,驱动中定义了两个重要结构体:端口配置和端口配置表。端口配置用于描述每一个端口的属性,包括以下配置信息:端口号、端口模式、端口方向、最大消息长度、最大消息数目、端口刷新率、端口所在分区名称、源UDP端口、目的UDP端口、目的IP、VL号、子VL号、分段标志。端口配置表是根据端口配置生成的,用于存放所有端口的配置信息。它是端口通信实现的一个关键,有关端口的操作都要通过它来完成。在端口的创建和用端口发送/接收数据时用到。端口配置表按端口号升序排列。图4给出了端口配置表的具体组成部分。
3.2端口实现的步骤
端口的实现分为以下3个步骤:加载配置、创建端口、端口发送/接收。
(1)加载配置
由于AFDX网络是确定型网络,使用哪些端口和VL来通信以及发送和接收路径都是在通信之前配置好的,所以在应用程序通信之前,首先要加载端口和VL的配置信息,根据配置信息生成端口配置表和板卡配置表并将板卡配置表拷贝到端系统板卡。
(2)创建端口
在加载配置完成后,要使用端口通信前必须先创建端口。创建端口是根据端口配置表动态申请一块端口缓冲区和数据长度数组。端口缓冲区用于存放消息,大小为最大消息长度与最大消息数的积。数据长度数组用于存放每个消息的实际长度,数组大小为最大消息数。
(3)端口发送/接收
创建端口之后,应用程序就可以通过端口来发送和接收数据了。发送时驱动将用户数据拷贝到端口缓冲区,然后通过端系统板卡将数据发送出去。接收时板卡将数据放到端口缓冲区,驱动再将数据从端口缓冲区拷贝到用户端。
3.3端口实现过程
加载配置函数load_config()的参数为AFDX终端系统配置信息、VL配置信息、端口配置信息,根据这些信息生成端口配置表。端口配置表在逻辑上分为发送和接收,分别将发送端口和接收端口的配置信息填人发送和接收配置表。
四、结论
基于linux实现的AFDX采用动态分配,对于不同的配置任务动态生成不同的配置,使用灵活方便。该交换网络,经分析和测试,证明其可以为航空通信系统提供更大更稳定的带宽,提高系统的通信性能,还有利于航空子系统的升级和维护。这对航空电子通信系统网络的设计具有一定的参考意义。目前本方法只是针对基于linux实现的AFDX通信端口,下一步要进行SAP端口的扩展,并进一步优化端口通信过程,以便达到更高的实时性。
参考文献
[1]赵国斌.航空电子全双工交换式以太网分析.中国制造业信息化,2011,40(21): 61-63
[2] IEEE Standard 802.3. 2000 Edition. 2000
[3]祝永卫,刘俊千. AFDX总线实验平台的设计与实现.中国现代教育装备,2009(17):54-56