编辑推荐: |
本文主要介绍
FACE标准的飞行器管理系统软件架构
的各个阶段的功能,希望对你的学习有帮助。
本文来自于微电子学与计算机,由火龙果软件Alice编辑、推荐。 |
|
1. 引言 现代航空飞行器系统要求在降低成本、提高生存能力的同时,大大扩展了任务功能,这样就更加强化了系统功能融合的重要意义.模块化航空电子在物理综合的发展趋势,使得软件功能综合成为可能.功能和数据的深度融合在飞行器管理系统 [ 1 ] (Vehicle Management System, VMS)的研制中也成为重要的方向.由此产生的关键的问题是要满足飞行器管理系统中飞行关键任务的安全性要求,这对VMS的系统和软件架构提出挑战.为了达到VMS系统中公共部分和任务部分的数据互联互通,需要建立机载系统能力的运行环境 [ 2 ] .FACE(Future Airborne Capability Environment)是标准化组织Open Group于2010年提出的未来机载系统能力环境标准 [ 3 ] ,旨在提供通用软件组件,满足不同机载系统间软件复用的要求.FACE最显著的特征之一是将软件体系架构中除了可移植组件段和操作系统段外,其余三个段(输入输出服务段、平台特定服务段和传输服务段)都是为解决系统间的数据传输业务而设计的, 这说明数据传输的功能分配是至关重要的.如何解决VMS应用FACE标准时各个段的功能分配问题,以及同时达到实时性要求和低时延要求,成为焦点问题.
2. VMS中各段功能分配 依据VMS软件的功能,将软件划分为五个段,即操作系统段(OSS)、IO服务段(IOSS)、平台特定服务段(PSSS)、传输服务段(TSS)和可移植组件段(PCS).OSS是其余四个应用段的基础,四个应用段均平行地构建于OSS之上.为了满足可移植性,TSS对外的接口、OSS段的对外接口、PSSS和IOSS之间的接口必须满足FACE标准接口的要求.
2.1 IO服务段 IO服务段的功能是直接操作硬件平台的输入输出,并向平台特定服务段提供标准接口.IO服务段是一个很薄的层,它主要为了提供标准化的操作,使得满足屏蔽数据传输实现具体差异的功能.IO服务段并不是数据的拥有者,而是数据协议的维护者.除了标准中规定的航空总线协议(MIL-STD-1553B,ARINC429)外,为了满足VMS通用性的要求,还扩充了1394B,TTP总线的接口以及定制的点对点总线接口,如 图 1 .扩充这些接口的同时,向上提供的接口仍要满足标准接口要求.
图 1 VMS中IOSS的组成
2.2 平台特定服务段 平台特定服务服务段是数据的拥有者,它通过调用IO服务段提供的标准化数据接口,实现数据的获取和递送.平台特定服务段和特定平台紧密相关,对于VMS来说,它的平台特定服务段是整个系统的数据中枢,它对VMS系统接口控制文件中所有的数据均是可见的.
2.3 传输服务段 传输服务段完成数据的路由功能,它把平台特定服务段获取到的数据转发给具体应用,并收集各个应用的数据,发送给PSSS段进行汇集.在VMS中,传输服务段是一个非常重要的段,因为VMS的一大特点是多信息源数据融合、资源共享以及多操作面的功能分配.这些功能需依赖传输服务段进行实时地、动态地数据分发服务.
2.4 VMS可移植组件的识别 VMS中最基本的功能是飞控功能 [ 4 ] .飞控可移植组件可分为业务层和平台层,业务层包括控制律计算组件、自动驾驶仪逻辑组件、大气数据解算组件等;平台层组件包括信号表决和监控组件、系统BIT组件等.各个组件除了和硬件平台进行输入输出的交互之外,组件之间也进行数据交互. 相比于基本的飞控功能,VMS在业务层上的上有很多扩展功能,但平台层的组件和飞控的平台层组件是一致的.
2.5 VMS操作系统的约束 VMS上由操作系统完成对硬件的管理和应用的实时调度,除需要满足实时调度要求外,分区也是一个基本要求.虽然FACE标准支持分区和不分区的操作系统,但是应用不分区,只能在源代码或静态库级别复用,而分区则能支持二进制的复用,这是和FACE可移植组件的概念是一致的.FACE指定的操作系统有ARINC653 OS和满足POSIX系列的OS,也证明了这一点.
3. VMS参考FACE架构及实现方式 从PSSS和IOSS之间的功能划分和调用关系,以及TSS段的实现方式这三个方面给出FACE参考架构.
3.1 PSSS调用IOSS的算法 FACE中允许PSSS段和IOSS段为不同地址空间的进程实现, 通过IOMM消息进行进程间通讯实现,但在实时控制应用中,这样使用会产生较高的延迟,而通过静态库实现IOSS段会产生很大的设计耦合.综合考虑低时延和低耦合,最佳方式是将IOSS段和PSSS段设计成可独立加载组件. 图 2 是PSSS段组件和IOSS段组件设计为OSS的中间件示意图.PSSS段和IOSS段均向操作系统注册为可独立加载的组件,同时IOSS段注册一个接口库,用于提供给PSSS段调用.
图 2 段间调用示意图
操作系统维护接口调用表,接口调用表除了包含操作系统向各个FACE段提供的接口,还包含IOSS段向PSSS段提供的接口.算法的实现步骤为: (1) OSS段提供公用接口导出库,供PSSS段和IOSS段使用;OSS段为IOSS段提供库注册函数;OS内部维护库注册表,并提供库注册表的查询函数; (2) IOSS段向PSSS段提供IOSS接口导出库; (3) PSSS段初始化时,使用OS提供的公用接口导出库完成向OSS段的注册; (4) IOSS初始化期间,除使用OS提供的公用接口导出库完成向OSS段的注册外,还利用OSS段提供的库注册函数,完成IOSS接口导出库向OS的注册. 在此算法中,复杂度主要体现在第一步中的注册表查询算法,由于接口库注册表为线性表,且系统只维护一个这样的表(即IOSS唯一),算法的复杂度为O(1).由于OS既要完成公用接口导出库的注册又要完成IOSS接口导出库的注册,注册被发起时,需要利用库注册表的查询函数完成库的正确注册.
3.2 IOSS设计特征 IOSS段完成常见航空总线驱动向标准IOSS段接口的适配,它向PSSS段提供固定格式的IOMM消息,系统接口配置在PSSS段进行,由PSSS段传递给IOSS段,IOSS段为独立加载模块,并具有通用性. IOSS段中分为驱动管理层和设备管理层,设备管理层在驱动管理层之上,驱动管理中负责驱动的抽象,将航空总线设备抽象成块设备,屏蔽设备的具体差异,一种驱动可以对应多个设备实例.抽象后每个设备的命名如 表 1 所示.
表 1 IO设备名
图 3 PSSS对IOSS的调用
IO功能在PSSS段和IOSS段的分配如 图 3 所示,PSSS段和IOSS段之间的接口是标准FACE接口,PSSS发起向IOSS段的打开和读写等调用,IOSS段负责设备和驱动的绑定、设备的创建,并且维护打开设备列表,便于实现PSSS的快速访问. 在此参考架构中,PSSS段对IOSS段的调用分为如下几个步骤: (1) IOSS段的初始化,完成设备的创建; (2) 完成IOSS段组件向操作系统的注册; (3) PSSS段调用IOSS段_Open打开设备,获取设备句柄; (4) PSSS段调用IOSS段_Read读取设备.
3.3 IOSS段的功能在物理节点上的桥接 VMS的架构中,对外总线交互功能往往是在不同的物理节点上,通过内总线进行桥接.需要设计IOSS的桥接器,实现IOSS在不同物理节点上的部署. 外总线交互功能与主处理器板在不同物理节点上,通过两个节点通过内总线相连时,主处理器板上的IOSS段功能仅仅为数据接收功能,而IOSS段的实际功能分配在总线板上.这种情况下,参考架构为 图 4 所示.
图 4 IOSS段功能的分配
处理器2的PSSS段完成协议转换功能,外总线转内总线算法两个处理器协同执行步骤为: (1) 处理器2通过标准Ioss_Read接口读取外总线数据; (2) 处理器2协议转换模块转换为内总线数据; (3) 处理器2通过Ioss_Write接口写入内总线数据; (4) 处理器1的PSS通过Ioss_Read读取内总线数据. 从以上步骤可以看出,两个处理器的IOSS段实现了复用.
3.4 传输服务段 FACE中的传输服务段的主要功能是完成FACE组件之间数据的分发.FACE提出了四种主要实现方式:基于端口的实现方式、基于数据分发服务 [ 5 ] (DDS)的方式、基于socket的方式、基于CORBA的方式. 表 2 对比了这四种方式的特点和时延.
表 2 TSS段的实现方式
根据 表 2 对比,由于VMS中飞行控制等关键应用对系统控制时延的要求,VMS中适合TSS段的数据交换方式是端口和DDS.端口数据交换适合节点较少的场合,是点对点的模型,优点是确定性好,端到端通信不易受其它节点影响.而在节点较多的场合,数据交换又存在公用的主题的情况,适合利用DDS的发布/订阅模型. 由于VMS软件中各个软件以分区的方式运行于一个CPU中,VMS中要求TSS完成PSSS中输入、输出和各个PCS之间的数据直接传送,在硬实时性必须满足的要求的前提下,并且TSS接口需符合FACE标准接口要求,以屏蔽具体实现的差异,利用统一的TSS接口实现数据传输.下面是采用静态库的策略将采样端口创建封装为FACE的TSS连接创建的一个实例步骤. (1) 将FACE_TS_Create_Connection中的connection_name参数映射为采样端口名; (2) 将FACE_TS_Create_Connection中的connection_direction参数映射为采样端口中的PORT_DIRECTION; (3) 将FACE_TS_Create_Connection中的max_message_size参数映射为采样端口中的最大消息大小 (4) 从TSS配置文件中获取端口刷新速率参数; (5) 以上述四步骤获取的参数调用采样端口创建函数; (6) 返回的采样端口ID映射为TSS的连接ID; (7) 将返回的代码映射为FACE_TS_Create_Connection的返回值.
4. 原型与试验结果 以VMS中的大气数据系统(ADS)、控制增稳系统(CLAW)、机电管理系统(UMS)为例,设计一个FACE原型系统,如 图 5 ,其中PSSS段中的IP和OP负载系统的输入输出,IOSS段是一个通用的段,除部署于主处理器外,还部署于接口处理器 [ 5 ] .
图 5 基于FACE的VMS原型
系统部署在分区的操作系统之上,每个PCS段和PSSS段中的每一个应用均为一个分区,在主处理器PowerPC755(运行频率233 MHz)之上,实现的指标如 表 3 .
5. 结束语 FACE架构应用到VMS系统中时,数据传输业务的功能分配和时延性能是两个核心要解决的问题.这涉及到PSSS和IOSS的功能分配,以及IOSS和OSS的接口性能,同时还有TSS的功能设计.本文中的架构方案,围绕着这三个方面展开,实验表明该架构很好的解决了各段的功能分配和运行时延问题,对VMS系统及软件的设计具有较高的指导意义.
|