军用电子飞行包周边键设计与验证
2021-12-18张贞,茅坪
张 贞,茅 坪
(海军研究院,上海 200436)
电子飞行包是飞行人员的一种飞行辅助工具[1],是在驾驶舱使用的电子显示系统,可以进行各个飞行阶段的计算和检查工作,如浏览电子航图、查询气象资料、显示情报信息、执行油量计算等[2-3]。近年来,美国空军已经为C-5、C-17、C-130、KC-10、KC-135等多个型号的大约1160架战机和16000多名机组人员提供了基于iPad的电子飞行包服务,从而极大地提升了飞行安全性和工作效率[4]。
目前,我国军机飞行员大多仍旧使用纸质飞行图囊,部分运输机上会使用平板电脑进行一些数据航图资料的查询,但不具备飞行计划制定、飞行数据计算等功能,因此急需装备军用电子飞行包以减轻飞行员工作负担,提高工作效率。在高速飞行状态下,飞行员通常是通过周边键方式同军用机载设备进行人机交互,以保证机载设备响应快捷,可靠性高,从而提升机载设备的使用效能。本文即是围绕军用电子飞行包的周边键进行设计和验证[5-7]。
1 总体设计
周边键是飞行员与电子飞行包进行交互的枢纽,是电子飞行包至关重要的组成部分[8]。本文采用物理按键和虚拟按键相结合的设计方式,使用按键功能复用的设计思想,利用串口数据通信和C++面向对象程序设计语言,设计并开发出了支持多级按键相关联的菜单式周边键,系统总体工作流程如图1所示,系统外观如图2所示。
图1 周边键总体工作流程Fig.1 Overall workflow of peripheral key
图2 周边键硬件设备及按键编号Fig.2 Peripheral hardware and key number
具体步骤如下:
(1)数字电路板与显示计算机通过USB接口连接,并利用该接口进行数据传输和供电。
(2)按键信号采集程序采用线程循环方式,实时监测数字电路板上物理按键的状态。
(3)当物理按键被按下时,信号采集程序将物理按键触发的数字信号传递到按键功能识别算法中,该算法通过按键的等级和按键被按下的先后次序,计算出需要执行的功能。
(4)显示界面调用程序接收按键功能识别算法计算的结果,从待显示界面中,调用当前需要的界面,在显示器与物理按键相对应的位置,显示虚拟按键。
(5)由于显示屏是触摸屏,当点击虚拟按键时,虚拟按键产生的数字信号和其对应的物理按键产生的数字信号一样,此时系统跳转到步骤(2)中。
(6)待显示界面采用队列的方式,对多个界面进行显示和隐藏状态的管理。
通过上述设计,无论飞行员按压的是物理按键还是虚拟按键,系统都执行同样的功能,从而达到虚实结合的效果。实际飞行中飞行员主要操作物理按键,虚拟按键主要通过文字或符号提示飞行员当前按键对应的功能,避免战机抖动时的无效操作或误操作。
2 硬件和软件设计
2.1 硬件设计
电子飞行包周边键由32个按键组成,每个按键与电路板上的触发按钮相连接,并采用高强度材料进行封装,周边键包围的区域,是一台触摸屏电脑,可使用Surface、iPad、华为Pad等便携式触摸屏电脑。周边键通过RS-485通信接口与显示主机的USB接口相连,采用全双工方式与电脑设备进行数据传输。为方便描述,为每个按键进行了命名,命名规则为从上到下、从左到右,以单词Key的首字母K开头,如图2所示。当某一按键被按下时,硬件设备会产生一个数字信号,每个按键的编号及产生的数字信号值如表1所示。
表1 按键所产生的数字信号值Tab.1 The value of the digital signal generated by the keystroke
2.2 按键信号采集程序
该程序主要负责采集硬件设备触发的数字信号,并将采集到的数字信号以Socket网络通信的方式发送到按键功能识别算法中。该程序的工作流程为:软件启动后将开辟一个线程,该线程实时监控与硬件设备所连接的串口,当按键状态发生变化产生数据时读取该数据,并采用UDP协议将采集到的数据发送到按键功能识别算法中,仅当采集到数据时才执行网络发送命令,没有采集到数据时不进行发送。
2.3 按键功能识别算法
该算法实现按键所触发的数字信号值与待调用软件具体功能的匹配,其难点在于周边键功能的复用。该算法借鉴软件菜单的设计思想,使用按键分级和功能分级策略,采用树状结构,将按键分为一级、二级、三级按键;将软件功能分为一级、二级、三级功能,其中每一级按键对应每一级功能。按键分级策略为:一级按键,包括顶部按键6个,底部按键6个,按键编号区间为[k01,k12],这些按键在软件的整个生命期都有效;任意时刻,有且只有一个按键生效,生效按键为一级按键的当前按键,其他按键为一级按键的未生效按键;系统启动时,默认编号K01的按键为当前按键。一级按键可以拥有多个子键(二级按键),在K01键生效时,二级按键都是它的子键。二级及三级按键的策略同一级按键,按键分级关系如图3所示。
图3 按键分级及关系Fig.3 Keystroke grading and relationship
采用按键分级之后,三个级别的按键最多具有12×10×10=1200种组合,若每个组合对应一种功能,则可对应1200种功能,能够满足电子飞行包功能设计的需要。
对应于按键分级,按键功能响应策略为:一级功能,该级功能对应于待调用软件模块级别的功能,是系统的顶级功能。当某个一级功能被激活时,系统的界面切换到该功能对应的模块。任意时刻,有且只有一个一级功能被激活,激活的功能为一级功能的当前功能,其他功能为一级功能的未激活功能;一级功能可以包含多个子功能(二级功能)。二级和三级功能的响应策略同一级功能。整个软件系统的功能及与按键的关联如表2所示,用户可以根据实际情况对功能及按键进行扩展和调整。
2.4 显示界面调用程序
该程序负责显示器中可视化界面管理和切换。程序启动后,将系统需要使用的所有软件都打开,并将软件的窗口设置为隐藏状态。当程序接收到某条命令后,找到该命令对应的窗口,将该窗口置顶,设置为显示状态,同时将其他窗口设置为隐藏状态。该程序也负责周边键文字提示窗口的管理,同一周边键在不同时刻所对应的功能不一样,系统需要根据周边键的当前功能动态更新周边键的文字提示。系统为表2中的每一种功能都创建了文字提示窗口,并将窗口背景设置为半透明,通过移动窗口位置的方式确保其显示位置与物理周边键相对应,待调用的功能软件界面显示在该半透明提示符号的下层。周边键功能改变时,实现文字提示的动态切换。生效周边键的文字提示窗口背景为红色,未生效周边键的文字提示背景为蓝色,以示区分。
表2 软件功能与周边键的对应关系(限于篇幅,仅列出部分对应关系)Tab.2 Corresponding relationship between software functions and peripheral keys
2.5 待显示界面
由于电子飞行包设备只有单个屏幕,而飞行员在各个飞行阶段需要调取的数据和资源并不一致,使用的软件功能也各不相同,因此需要对这些软件的界面进行统一管理,并将其归类为待显示界面,本系统所设计的待显示界面包括二维航图、三维视景、多屏显示、文件管理、高度计算、领航计算、轰炸计算、靶场计算、飞行计划、桌面键盘、系统设置、退出系统等12个窗口,每个窗口分别与一级周边键相对应。
3 试 验
采用本文的思路和方法,设计出电子飞行包系统的周边键,并对其进行试验,试验参数分别为:(1)硬件设备:自制周边键设备、RS485数据线、Surface Pro4;(2)操作系统:Windows10 64位,版本号1903;(3)CPU及内存:Intel酷睿i7 6650U,16G DDR4内存;(4)显卡:Intel GMA Iris 540;(5)波特率:115200;(6)待显示界面:二维航图、三维视景、多屏显示、文件管理、高度计算、领航计算等12个界面。
图4为电子飞行包系统的二维航图功能显示效果,该功能为电子飞行包系统的一级功能,对应一级周边键K01,该周边键对应的文字提示为红色,说明当前该周边键生效。按下其他周边键,对应显示相应功能。
图4 二维航图界面Fig.4 Two-dimensional aerial map interface
试验步骤如下:
(1)开发出相关的待显示软件,并安装在Surface Pro4中,构建出电子飞行包设备。
(2)使用RS485数据线实现周边键和电子飞行包设备的连接。
(3)启用周边键运行所需要的按键采集程序、显示界面调用程序和待显示界面程序。
(4)按照前期设定按键与功能对应关系,依次按下指定的实体按键或虚拟按键。
(5)查看显示结果与前期设置的是否一致。
4 结 语
本文将物理周边键和虚拟周边键有机结合,结合按键可重复使用设计思路,设计出了满足军用电子飞行包需求的周边键设备,并通过试验验证了周边键的有效性和可靠性,设备具有结构简单、使用方便、易于扩展的特点,可扩展应用到其他便携式穿戴设备中。