首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

直升机模拟器综合显示系统的设计与实现

作者:程新满 来源:电子技术与软件工程

摘 要 本文介绍了某型直升机模拟器综合显示系统软件的模块设计和实现方法,该综合显示系统仿真软件基于Visual Studio和GL Studio平台采用C++语言开发,软件的两个主要模块移植自机载任务机和多功能显示器的软件,在原有机载软件基础上对1553B和422总线驱动机制进行适配性修改,利用GL Studio软件生成多功能显示器画面,经试飞验证该综合显示系统能够实现系统设计要求的全部功能。

【关键词】直升机 模拟器 综合显示系统 仿真

1 引言

随着虚拟显示技术的发展,模拟训练已经广泛应用于各行各业,比如汽车模拟驾驶、固定翼飞行模拟和大型工程机械设备的模拟操作等。随着模拟器相关的开发技术越来越成熟,直升机模拟器具备易维护、低成本和高安全性等特点,使用直升机模拟器进行训练,可以不受外界气象环境、飞行场地和空域管理的限制,能够较好地解决直升机使用方在战术对抗、战法演练和协同作战等方面提出的新的要求,直升机飞行模拟技术已逐渐成为研究飞行和实现飞行训练目的的最佳途径。作为一种安全、经济有效的训练助手,飞行模拟器引起了各国军方以及民航的高度关注,不断加大研制和采购力度。飞行模拟器一般包括飞机模拟座舱、飞控模拟系统、发动机模拟系统、航电模拟系统、视景系统、音效系统等。近些年在飞行模拟器音效系统声源提取、多功能显示器建模与仿真、视景系统等领域有很多研究。

本文介绍的直升机模拟器综合显示系统需要模拟综合显示与控制设备,提供基本飞行导航信息的综合显示;需要模拟接收处理电视等传感器图像完成视频的叠加及显示;需要模拟数字地图生成显示;需要模拟发动机综合参数、机电系统状态参数的备份显示等等。

本文针对该型直升机模拟器的研发工作,系统总结了模拟器综合显示系统的总体架构和软件开发集成的经验。探索如何设计综合显示仿真系统架构以便该型模拟器的软件和硬件架构能够复用到将来其他型号模拟器的研发工作,在此前提下研究复用现有机载软件代码的方法,以保证仿真系统的功能最大程度地与机载系统保持一致。

2 模拟器综合显示系统与其他子系统交联关系

本文介绍的综合显示系统是航空电子模拟仿真系统的一部分。航空电子模拟仿真系统包括综合显示系统仿真软件、备飞显示器仿真软件、机电参数显示器仿真软件、数据采集和逻辑仿真软件、航空电子硬件模拟集成子系统等。航空电子硬件模拟集成子系统包括多功能显示器、机电参数显示器、CNI(Communication Navigation Identification,通信导航识别系统)显示控制盒、ICU(Integrated Control Unit,综合控制单元)等仪表板设备、中央操纵台设备、左右操纵台设备和顶部操纵台等设备。如图1所示。

本文介绍的综合显示系统由相关的硬件和软件组成,硬件通过半实物仿真实现,软件包括多功能显示器仿真软件和任务管理仿真子系统等其他模块。综合显示系统通过以太网与模拟器其他航电仿真设备交联,数据仿真和逻辑仿真软件从各分系统仿真计算机获取直升机模拟器的姿态、航向、高度、速度等信号数据,同时综合多功能显示器、机电参数显示器、CNI显示控制盒、ICU、驾驶杆等模拟硬件采集到的驾驶员操作指令。综合显示系统综合上述信息,实现航电与电气操作逻辑控制;多功能显示器仿真软件接受来自任务管理子系统的相关数据,按要求生成显示指令DF(Definition File,定义文件)发送给相关显示模块解析后绘制机载显示图像。

3 综合显示系统软件模块设计

综合显示系统软件集成了机载OFP(Operation Flight Program,操作飞行程序)软件和机载MFD(Multi Function Display,多功能显示器)软件。主要包括初始化及主调度控制模块、数据交互服务模块、OFP软件模块、航电子系统控制模块、事件调度模块、MFD主控模块和MFD显示模块等,如图2所示。

3.1 综合显示系统工作流程

如图3所示,综合显示系统软件是整个模拟器航空电子仿真系统的核心,软件完成初始化后开始执行周期为50毫秒的任务,OFP主任务移植于机载OFP软件,用于模拟机载任务机的主任务;MFD主任务移植于机载MFD软件,用于模拟机载MFD软件的主任务;MFD主任务执行过程中调用DF数据生成模块生成显示指令DF数据,OFP主任务和MFD主任务执行完后,通过以太网将DF数据发送至多功能显示器仿真软件;OFP主任务执行完后会产生任务机到各航电子系统的1553B消息事件,调用航电子系统的任务调度模块处理相关1553B消息,用于模拟航电子系统的数据接口转换和部分逻辑仿真;综合显示系统软件采用基于事件消息的驱动机制,软件运行过程中各模块会触发定时器等各种消息事件,“定时器及其他事件处理”子流程负责处理这些消息事件;以上所有流程完成后,调用数据交互服务模块将各航电子系统发送给OFP软件的1553B消息发送给OFP软件仿真模块,结束整个周期任务。

3.2 数据交互服务模块的设计

数据交互服务模块负责完成各软件模块之间的接口适配。机载环境中各系统通过1553B和422总线进行交互,模拟器对各设备的外部交联关系进行了更改,变成以太网连接方式为主,综合显示系统部分模块之间采用内存缓存的形式进行数据交互。为此,綜合显示系统软件需要开发数据收发服务模块,管理整个仿真系统的数据交互工作,交联关系变更后的数据流图如图4、图5所示。

3.2.1 以太网数据收发模块

综合显示系统与数据仿真软件通过以太网进行通信,数据仿真软件将各分系统的仿真数据通过以太网发送给综合显示系统软件,综合显示系统软件的数据交互服务模块收到分系统的仿真数据后进行接口转换工作,按照机载软件ICD(Interface Control Document,接口控制文件)规定,分别赋值给相应的航电子系统仿真数据块。

如图4所示,MFD主控模块和显MFD显示模块之间的DF数据发送通过以太网完成,图5中,当OFP软件模块和ICU仿真软件之间需要收发422数据时,将通过以太网进行接口适配。

3.2.2 1553B数据收发模块

本文对综合显示系统内部通信和外部通信的不同1553B数据收发模块进行分开处理。综合显示系统内部,比如OFP软件模块和MFD主控模块之间的通信方式由1553B变更为通过读写内存数据完成,综合显示系统与航电子系统原有的通信方式由1553B变更为以太网。

OFP软件模块和MFD主控软件模块之间通过1553B总线通信,在模拟器开发时,为简化硬件系统的交联,将机载MFD软件划分为MFD主控模块和MFD显示模块,同时将OFP模块与MFD主控模块集成到同一个软件中,MFD显示模块使用GL Studio单独开发,充分发挥GL Studio开发显示软件的长处。本文中的模拟器综合显示系统软件的OFP模块、MFD主控模块、航电子系统控制模块分别对应着机载OFP软件、MFD软件和各航电子系统的逻辑控制模块,将这些软件模块集成到同一个应用程序,数据交互通过读写内存数据完成,不再使用1553B数据总线,但是保留原有机载软件的数据收发接口。

如图4所示,当OFP软件模块需要发送1553B数据给MFD主控模块时,调用1553B数据发送函数,发送函数读取逻辑块号,根据逻辑块号将发送的数据写入对应的内存缓存区,并将对应的更新标识置为TRUE;当运行航电子系统主任务调度模块时,查询1553B数据更新标识是否为TRUE,如果为TRUE,则从缓存区读取数据,读取后将逻辑块对应的更新标识置为FALSE。

图5 所示的OFP软件模块与航电子系统控制模块之间1553B数据收发流程同图4所示的OFP软件模块与MFD主控模块之间1553B数据收发流程。

3.2.3 422数据收发模块

机载MFD软件给OFP软件发送的按键操作消息和ICU软件给OFP软件发送的按键操作消息通过422数据总线进行传输,模拟器取消了机载环境中的422数据总线。本文模拟器采用半实物仿真的模式,多功能显示器本身不再运行任何应用程序,而是作为仿真计算机的外界输出设备。多功能显示器上的按键由专门的数据采集程序完成,数据采集程序采集到按键消息后由数据采集和逻辑仿真软件通过以太网转发给综合显示系统的OFP软件模块。

机载OFP软件与ICU软件的422接口改用以太网替换422板卡进行通信,大大简化模拟器硬件架构。出于数据收发协议的可靠性和可移植性考虑,各仿真软件之间的通信通过网络端口号和设备ID号两种方式进行识别。为此,需要对机载422数据的协议进行修改,在原有通信协议的第一个字节增加设备ID号定义,移植机载软件时,需要在数据发送接口函数增加设备ID号,同时在接收接口函数增加ID号识别单元,根据设备ID号识别数据源后按原有协议进行数据解析。

3.3 机载OFP软件的移植与集成

机载综合显示系统由任务机和四个多功能显示器组成,OFP软件运行在任务机中,MFD软件运行在多功能显示器中。综合显示系统的主要功能是负责全机的综合任务管理和航电子系统控制,为保持与真实机载设备显示与逻辑控制的一致性,综合显示系统OFP模块采用机载源代码在Visual Studio 平台下使用C++语言进行移植,在保持原有代码框架的前提下,对1553B总线、422总线消息的收发和读取进行内部处理,基于事件驱动机制,实现与真实机载设备同样的处理逻辑。OFP软件模块接收数据仿真软件转发的导航、大气、通信、机电等仿真计算机模拟的数据,用于驱动MFD软件中各显示画面。

机载OFP程序采用动态链接库封装的形式移植,对外开放三个软件接口:任务初始化函数,周期任务函数和1553B上下线中断函数。任务初始化函数在综合显示系统软件初始化时调用;综合显示系统软件每个任务周期调用一次OFP模块的周期任务函数,完成OFP子系统的任务处理;1553B上下线中断函数则用于模拟RT子系统的上下线过程。

3.4 机载MFD软件的移植与开发

MFD是一种多功能信息显示器,通过周边按键管理和切换其显示信息,主要为飞行员提供直观的飞行显示画面,管理和控制基本航空电子系统状态信息以及给飞行员驾驶提供告警等提示信息。机载多功能显示器运行MFD软件,为最大程度地确保仿真软件和机载软件的一致性,提高软件代码的可复用性,减少开发工作量,将机载MFD软件代码分割为两大模块:MFD主控模块和MFD显示模块。

3.4.1 移植MFD主控模块

MFD主控模块执行周期任务,该模块主要负责显示指令的生成并将生成的DF数据发送给MFD显示模块,MFD主控软件模块移植后以动态链接库的形式对外开放两个软件接口:初始化接口、周期任务接口。移植机载MFD软件时,将原有的图形绘制函数替换为DF指令生成模块的相应函数,生成对应的图形绘制指令。关于显示指令DF的生成技术,有很多文献进行了相关研究。

以生成一条直线的DF指令为例,设计如表1的数据结构。

将机载MFD软件中的直线绘制函数的函数体进行替代,将直线的起点和终点的坐标数据赋给直线绘制的DF数据结构中,并打包发送给DF指令解析和显示模块。

3.4.2 MFD显示模块的设计

MFD显示模块实现显示端仿真功能,使用GL Studio開发图形显示库,可以供多型机的显示端软件共用。MFD显示模块通过以太网接收MFD主控模块生成的DF,经解析后调用GL Studio图形和符号库进行显示。GL Studio支持C++代码的自动生成,基于面向对象技术,赋予四个显示器对象不同的ID号,方便地实现四个显示器画面从同一块显卡输出,极大地简化了模拟器的硬件架构。MFD显示模块主要负责接收来自MFD主控模块的的DF指令数据并进行解析,得到DF指令名称和相关绘制控制的参数,按照控制参数生成对应的显示画面,DF指令解析的步骤如下:

(1)解析DF头指令,获取文件的长度

(2)遍历所有数据字,获取图形绘制的指令和相应的参数,调用相应的指令控制类,将参数赋值,绘制相应的图形;

(3)GL Studio图形显示模块执行周期任务,刷新页面,完成相关的显示操作。

MFD显示模块承担显示指令DF解析和图形显示的功能,具有较好的可复用性和扩展性,当需要扩展显示功能时,只需要增加对应的DF接口指令并在GL Studio平台开发对应的显示图形。

以上一节的绘制直线为例,当解析到名称为DF_LINE指令时,继续从DF数据中解析出X1、Y1、X2、Y2等参数,将解析出的参数完成所需绘制直线的参数赋值,GL Studio图形显示模块直线周期任务时刷新页面,显示出绘制的直线图形。

4 结束语

本文提出的直升机模拟器综合显示系统的设计与实现方法在充分利用现有机载OFP和MFD等软件的基础上,完成了由1553B和422数据总线向以太网通信的转换,大大简化了系统的硬件结构并缩减了项目的开发成本,具有较好的实用性和经济性。利用先进的人机接口(HMI)开发工具GL Studio生成仪表显示页面,具有开发效率高、开发质量好的特点,项目研制的MFD显示模块能够较好地被其他型号的模拟器综合显示系统复用。经用户试飞验证本文研制的综合显示系统稳定可靠,能够较好地满足模拟器研制的用户方和飞行员的需求。

参考文献

[1]衡宁波,汪沛.直升机模拟器的现状和发展趋势研究[J].装备制造技术,2011(05):98-100.

[2]韓红伟,党淑雯,何法江.飞行模拟器的结构设计与仿真研究[J].计算机工程与应用,2016,52(13):254-258.

[3]郭小和,焦宗夏,王少萍,王晓东.基于混合网络环境的航电模拟器的设计与实现[J].系统仿真学报,2007,19(05):3419-3421.

[4]韩晨,刘超彗,陈雪英.关于GL Studio在某型飞行模拟器多功能显示器建模与仿真中机电关键问题的探究[J].船舶电子工程,2005,36(11):20-24.

[5]邓晴莺,李国翬,王宝奇,姚建铨.某飞行模拟器视景系统的设计与实现[J].兵工自动化,2016,35(08):75-78.

[6]钱雪佳,孙永荣,袁磊,郑澄,王岩.基于ARINC661的座舱显示系统通信机制研究[J].测控技术,2013,32(10):105-108.

[7]袁磊,孙永荣,周晓达,徐刚,曹猛.基于ARINC661的DF文件设计平台研究与实现[J].现代电子技术,2012,35(05):156-159.

作者简介

程新满(1985-),男,硕士学位。工程师。主要研究方向为机载软件开发。

作者单位

中国直升机设计研究所 江西省景德镇市 333001