在飞机的机载设备中,系统之间、系统和部件之间存在着大量信息需要传递。这些信息要求通信实时、准确,同时在机载设备中希望飞行管理系统控制起来更加灵活,与其他子系统通信更加合理,所以应尽量降低飞行管理系统中电气连线的复杂性,那么选用一种合适的总线来承担此任务是至关重要的。使用AS5643协议的IEEE 1394总线其设计思想独特、性能优良并且可靠性极高,可以很好完成上述任务,所以将基于AS5643协议的IEEE 1394总线应用在飞行管理系统的仿真系统中,可以说是对于航空领域应用的一次新的尝试。本文遵循AS5643协议,传输总线采用IEEE 1394总线,仿真机的通信系统采用工控机子系统,其整个通信系统拓扑采用总线型拓扑结构。该模型可用于仿真飞机某些子系统的功能、估算总线性能情况,测试仿真系统的执行效率和稳定性,为基于AS5643协议的IEEE1394总线在航空领域的应用提供案例。
1 仿真系统的功能
基于AS5643协议的IEEE 1394总线飞行管理仿真系统分为CC(控制计算机),RN(远程节点)和BM(总线监控)三个子系统。该仿真系统必须实现各子系统之间准确、实时的数据传输,并能够根据用户需求设置各种系统通信参数,诸如发送方式、通信方式、通信速率、周期、定时等,显示仿真通信参数、本机参数、定时信息、心跳字信息、系统参数等,实时更新展示系统接收的最新数据,保存通信数据。基于AS5643协议的IEEE 1394通信总线仿真系统由软件和硬件两部分组成。软件的主要功能是根据相应工作状态对数据进行处理、显示以及传输。硬件主要包括PCI_1394,PCIE_1394,CPCL1394,USB_1394通信接口板、仿真计算机及IEEE 1394总线等,该总线的拓扑结构为总线型拓扑结构。典型的基于AS5643协议的IEEE 1394总线的三余度飞行管理仿真系统的拓扑结构如图1所示。
2 仿真系统的功能
整个仿真系统硬件设计的关键部分是AS5643协议通信卡,主要由三大部分组成,包括PCI/PCI-E总线接口部分、通信控制部分和IEEE 1394总线接口部分。其电路设计的原理框图如图2所示。其中使用PCI9052作为PCI协议通信芯片,使用PLX8111作为PCI-E协议通信芯片,并使用512 MB RAM来缓存数据。
2.1 硬件设计
AS5643协议通信卡的特性包括以下几点:
(1)采用FPGA处理AS5643协议,设计更加灵活,通过更改FPGA逻辑就可以实现CC/RN/BM节点功能,而且处理速度更快;
(2)应用API操作接口简洁,上层应用只需实现系统状态控制、数据启动停止,数据填充等基本操作;
(3)为提高系统实时性,AS5643协议全部通过硬件逻辑实现;
(4)FPGA在逻辑设计保留多种通信接口,方便系统设计与维护。
FPGA器件选型时充分考虑AS5643协议处理要求,从逻辑规模、资源等方面综合评估,选用Xilinx公司高速芯片。
2.2 硬件实现
AS5643协议通信卡设计由三部分组成,便于根据需要进行接口变更,包括:PCI/PCIE/USB/CPCI母卡、FPGA子卡和链路物理层子卡。CC/RN/BM上的AS5643协议功能由FPGA子卡上的逻辑实现。同时链路物理层子卡上的物理层芯片TSB41BA3B和链路层芯片TSB12LV32由FPGA子卡操纵,实现IEEE 1394的物理层特性和链路层规程。而PCI/PCIE/USB/CPCI接口控制、AS5643协议、配置表的硬件加载、硬件逻辑自测试和健康监控等功能由FPGA实现,其原理框图如图2所示。
3 软件设计
系统软件开发设计基于是Windows XP操作系统,采用Visual Studio 2008开发,使用面向对象的设计方法开发。系统软件的结构分为5层,如图3所示。
五层中,L0层为驱动,采用DDK进行开发,直接访问硬件资源和FPGA协调工作。L1层为驱动接口层,提供其他语言的访问接口。L2层为对L1层采用.NET Framework技术封装,主要目的是为方便支持.NET Framework的其他对象访问驱动,并提供对TCP/IP的远程服务访问能力。 L3层为采用面向对象技术对CC,RN,BM实现业务逻辑和状态变迁的封装。L4是应用表示层用于数据呈现。软件流程图如图4所示。
3.1 系统主模块
系统主模块通过调用相应功能模块,控制仿真系统初始化,以及整个仿真系统软件的流程。
3.2 初始化模块
初始化模块通过调用API函数进行硬件初始化和软件初始化。将各子系统之间通信所需的发送方式、通信方式、通信速率、周期、定时等参数进行初始化配置。
3.3 数据管理模块
数据管理模块在运行过程中,完成实时编码要发送的数据和实时解码接收到相关数据块。数据处理的主要功能是根据接口控制文件(ICD)文件数据块的大小,通过配合发送、接收模块,完成对数据帧的封装和解析。ICD文件中的参数通过编码组成相对应的AS5643协议的异步流包的形式进行传送。
3.4 控制模块
控制模块完成系统状态、通信、总线复位,远端根节点以及显示的控制,根据用户的输入操作和相关其他节点的相应状态,确定整个仿真系统的运行状态与工作方式的控制与切换和相关数据通信控制等操作。
3.5 通信模块
通信模块通过访问通信卡的本地对象、远程对象或底层的API函数,配合数据发送接收等模块,实现各子系统的数据发送和接收功能。
3.6 网络拓扑模块
拓扑模块通过获取链路层的寄存器的自标识包,计算出当前的网络拓扑。由于IEEE 1394设备配置不需要主机干预,是在本地总线上完成的。每当一个新的设备或节点被连入或从总线上移除时,整个总线都要复位并重新配置。在配置中,下面三个步骤必须执行:树标识、自标识、速度标识。总线初始化之后,节点开始进行树标识以识别根节点和所有连接节点的网络拓扑结构。树标识以后生成一个分层树结构。树标识结束后进行自标识,节点在这一过程中开始配置。自标识主要执行以下动作:给每个节点分配物理ID、邻近节点交换传输速度能力、把树标识中定义的网络拓扑结构广播给所有节点。总线配置完成后,拥有最大节点ID的节点为根结点。如果定义了等时包,那么设置了IRM寄存器的竞争位的根节点将成为等时资源管理器。离根节点最远节点的节点ID为0。节点号随着离根帑赢的距离而递减。因此,对于拓扑结构的生成,必须根据自标识包的信息进行计算,才能得到当前的网络结构。
3.7 传输层协议
由于AS5643协议只规定物理层和链路层的标准,没有规定传输层通信协议,而数据的通信必须按照传输层协议来封装帧、解析帧。考虑到AFDX网络中的软件都支持UDP通信,为便于将AFDX上的软件移植到AS5643上来,为此,为本文提供了UDP协议栈,便于应用系统的移植。
4 结语
IEEE 1394总线传输速度快、传输距离长、驱动能力强,系统灵活、可扩展性强,可以实现实时、确定的点对点传输。安装简单,易于维护,经济性好。该仿真系统已测试使用。测试结果表明,该飞行管理仿真系统通信卡工作良好,系统工作正常,实现了各子系统之间的通信,人机界面友好,为飞管综合控制系统不断发展做好技术和物质准备。