APP下载

一种基于航电总线驱动的组播通信功能设计和实现

2018-11-26薛楠张乐乐胡靖宇杜建华

电脑知识与技术 2018年24期

薛楠 张乐乐 胡靖宇 杜建华

摘要:随着机载嵌入式航电网络总线通信技术的迅猛发展,高速率、高稳定性和高可靠性的数据传输特征越来越受到航电网络总体设计的要求[1]。数据传输的实时性和高速性对通信设备硬件的要求也比较高,当航电应用系统设计和数据收发特征比较复杂时,尤其当单设备需要同时给更多个设备发送同一条应用消息,并且根据不同消息更换设备组的时候,通讯设备的数据传输处理负荷增大,很大程度上影响航电网络应用软件的执行效率,也会增大数据传输异常的概率和数据处理的时间[2]。对此,该文提出了一种基于航电总线驱动的组播通信功能的设计实现,在满足航电网络系统应用的前提下,最大效率的提高数据传输效率,提高了整个航电网络系统的稳定性和可靠性。

关键词:航电网络;单播通信;组播通信

中图分类号:TP309 文献标识码:A 文章编号:1009-3044(2018)24-0028-02

1 引言

伴随航电网络的快速发展和网络设备的不断更替,航电网络应用的通信规模和通信方式也在不断更新,一种合理化、可靠化通信方式的设计决定了整个航电总线网络的稳定性和可靠性[3]。在航电网络中一般会设计有多个网络节点,每个网络节点都会通过物理总线连接至交换网络中,实现和其他网络节点进行消息的收发功能[4]。

由于航电网络中的通信需求,部分节点必须实时的给网络中的某几个网络节点同时发送相同的消息,并且根据消息的类型和内容会实时切换消息发送的目的设备,这样就会使发送节点的负担增大。若采用以往的消息通信方式,那么发送节点每发送一包数据,就要调用一次发送函数,消息通过链路传递给交换设备并转发至目的设备。若发送目的网络节点过多,那么链路上传递的数据量会大大增加,不仅会降低软件的工作效率,也会增大数据传输异常的概率,影响网络系统的稳定性和可靠性。对此,本文引入一种基于航电网络总线驱动组播通信功能的实现,很大程度上优化了消息的收发效率,减小了链路上消息传递的负担,提高了应用软件的执行效率[5]。

2 网络节点通信方式

航電总线网络结构一般采用交换网络结构,即所有的网络节点通过物理链路连接至交换设备,每个节点都有其全网独一无二的交换端口ID,作为整个网络的唯一标识。在设计航电总线网络驱动时,不同网络节点均要有其各自的配置数据,作为其和网络中其他节点通信所使用的消息ID、消息类型以及消息通信的目的设备地址标识的定义。

2.1 单播通信

当网络正常运行的时候,若单个网络节点有发送消息的需要,那么节点应用软件会先将目的设备地址标识填在待发送消息的消息头中,再在自身配置表中根据目的设备地址标识找到对应的消息ID,然后调用总线驱动软件提供的接口函数将消息发送至交换设备,交换设备收到消息后,根据消息头填充的目的设备地址标识,将消息路由至和目的设备地址标识对应的物理地址标识所接的网络节点,目的网络节点即收到消息。此种方式为单节点一对一的通信,即调用一次函数接口实现了发送一条消息,具体通信流程如图1所示。

若单节点的消息需要发送至多个网络节点,并且要满足实时发送,那么节点的应用就必须同时调用多次消息发送接口,并且根据消息内容和发送的需要,实时更改其发送的设备,这样大大增大了软件的执行时间,降低了软件执行效率。对此,基于航电总线网络引入组播通信功能。设备若通过组播方式和其他节点进行通信,可以很大程度减小链路上数据传输负担,提高航电总线网络的安全性和可靠性。

2.2 组播通信

具备组播通信的航电总线网络必须在单节点端和交换机端均具备组播通信方式。单网络节点端必须有一张专门用于组播消息通信的配置表,里面定义了用于组播消息发送所使用的组播组设备地址标识以及各类消息的消息ID;交换机端也必须具有一张组播通信配置表,里面定义所有网络节点组播表中每一个组播地址标识对应的组播设备群,即定义每一个组播地址标识里面都有哪些目的网络节点。

应用软件若要发送组播消息,实时的将待发送消息内容进行填充,选择其所需要发送的组播设备群所对应的组播组地址标识,并将组播地址标识填充在消息头中。然后调用驱动软件提供的接口函数将消息发送至交换设备。交换设备收到单节点发送的消息后,首先对消息头中填充的目的设备地址标识进行解析,若消息类型是组播消息,那么交换设备会在自身的组播配置表中进行查找,找到对应组播组地址标识中定义的所有目的网络节点的地址标识,然后将其收到的组播消息同时发送给组播组中定义的所有目的网络节点。组播组中定义的目的网络节点会同时收到来自交换设备转发的组播消息,即完成组播消息的通信。具体组播消息通信流程如图2所示。

2.3 两种通信模式分析

一般来说,航电总线网络的通信方式使用单播通信方式,但是某些特殊网络节点由于其在航电网络中的特殊性和重要性,必须实时将网络中的重要信息或者外部传入的关键信息发给指定的网络节点组,保证航电系统可以实时做出回应。若采用单播消息发送方式,发送端网络节点端必须根据其需要发送的目的网络节点数量来决定调用几次发送接口,若应用软件每次都实时的进行判断并多次调用消息发送接口,会很大程度影响应用软件的效率,增加发送网络节点CPU端的负担。并且每发送一条单播消息,消息都会在链路上从网络节点传递至交换设备,增大了交换设备的处理负担和故障率。

使用组播方式进行消息通信,发送端网络节点只需根据其待发送的目的网络节点组选择对应的组播组地址标识,调用接口进行消息发送。此时只需要发送一条消息至交换设备,然后交换设备根据组播组定义的目的网络节点标识选择对应的目的网络节点,并将收到的组播消息转发至对应的目的网络节点组中的每一个节点。此种方式的消息通信,提高了发送端网络节点的应用软件执行效率,降低了航电总线网络链路和交换设备的处理负担,提高了航电总线网络的安全性和稳定性。

3 组播通信应用实例

在某型号飞机航电网络中,某网络节点作为航电导航系统,最初采取单播消息通信的设计方式,由于初期硬件规划的缘故,此节点的硬件相关配置不高,但是其在整个航电网络的作用非常关键,系统要求此节点实时将关键数据发送至几个固定的设备。由于发送消息频率非常高,并且此节点本身还有自身的其他应用软件在运行,这样导致其CPU资源经常被抢占完,且偶尔应用软件出现异常或者通信出现错误的状况,这样会严重威胁整个航电系统的安全性。

由于上述问题的持续存在性,航电总线网络系统将此节点的消息发送方式升级为组播方式。经过长时间反复测试,软件的执行效率大大提高,且此节点和网络中其他节点消息的通信过程没有出现任何异常狀况,在充分利用硬件资源的前提下高效率完成导航系统的任务。

4 结束语

随着航电总线网络系统的不断升级和应用模式的不断创新,网络通信方式和通信规模也在持续的改进。将组播通信功能运用在航电网络通信中,不仅可以解决上述实例中的安全性问题,也可以促进航电网络的多样性发展,提高整个航电系统的稳定性和可靠性[6]。

参考文献:

[1] ANSI.Fibre Channel Avionics Environment Anonymous Subscriber Messaging (FC-AE-ASM), Rev1.2[M]. US:ANSI,2006.

[2] 李海全,李刚.系统可靠性分析与设计[M].北京:科学出版社,2003.

[3] Alderman R.New standard form odu le electron ics[J].Avionics Magazine,2006,(8):66.

[4] 徐亚军,张晓林等.FC网络性能测试与研究[J].2007,43(15):137-139.

[5] ANSI.Fibre Channel Framing and Signaling-2 (FC-FS-2), Rev0.01[M]. US: ANSI, 2003.

[6] John,Males.F-22 Radar development[J].Aerospace and Electronics Conference,IEEE,1997,l2: 831-839.

【通联编辑:代影】