某型飞机机载计算机检测仪测试软件设计

2017-11-01 07:17欧阳寰王超勇陈遵银黎子芬
计算机测量与控制 2017年8期
关键词:测试软件软件测试检测仪

欧阳寰,王超勇, 陈遵银, 黎子芬

(海军航空工程学院 青岛校区,山东 青岛 266041))

某型飞机机载计算机检测仪测试软件设计

欧阳寰,王超勇, 陈遵银, 黎子芬

(海军航空工程学院 青岛校区,山东 青岛 266041))

针对引俄检测仪规定的机载计算机硬件检测功能和作战训练对机载计算机软件逻辑功能校验的需求,设计了基于嵌入式计算机平台和虚拟测试环境的计算机检测仪测试软件;阐述了检测仪的总体结构,较为详细的介绍了检测仪软件的组成、运行流程和控制状态设计,软件设计过程中采用了逆向工程、双语兼容和被测软件模板对比等关键技术;该测试软件已经在某型飞机机载计算机检测仪安装使用,实用证明其操作方便,运行稳定可靠,能够提高训练和作战准备工作的效率。

嵌入式计算机;软件设计;逆向工程;模板对比

0 引言

某型飞机机载计算机及检测仪均为俄罗斯引进海军型装备,采用的检测技术为20世纪80年代的水平,随着作战和训练任务不断增加,原有的检测仪在功能和可靠性方面已经不能满足现有要求。为了全面提升检测设备功能,研制了该型飞机机载计算机检测仪[1],不但能够完成原有检测仪的全部功能,还增加了校验机载计算机内部软件的功能,操作简单,保障了机载计算机可靠使用。

1 检测仪总体结构

某型飞机机载计算机检测仪(以下简称检测仪)是一个基于嵌入式计算机平台[2]和虚拟测试[3-4]环境的计算机离位测试系统,总体结构如图1所示。

图1 某型飞机机载计算机检测仪总体结构图

检测仪由БЦВМ计算机检测仪(嵌入式计算机系统)和PC计算机系统两部分构成,每部分均主要包含有硬件和应用软件。БЦВМ计算机检测仪构成检测仪主体,可以向被测的机载计算机提供电源激励,测试机载计算机的硬件工作状态;PC计算机通过软件测试电缆连接机载计算机的前端端口,对机载计算机内部的固化程序进行正确性校验。

1.1 硬件组成

检测仪硬件由БЦВМ计算机检测仪和PC计算机组成,可对机载计算机硬件、软件技术状态同时进行测试。

1.1.1 БЦВМ计算机检测仪

БЦВМ计算机检测仪由嵌入式计算机系统、PM-35测试安装支架、测试电缆组成。嵌入式计算机通过测试电缆连接PM-35测试安装支架上的被测设备。

1.1.2 PC计算机

PC计算机由PC主机、显示器、鼠标、键盘和测试电缆组成。PC主机通过测试电缆直接连接被测设备。

1.2 软件组成

检测仪的应用软件由БЦВМ计算机检测仪测试软件ATK_PRO和PC计算机系统测试软件ATK_MON两部分组成,软件结构组成如图2所示。

图2 检测仪应用软件组成框图

1.2.1 БЦВМ计算机检测仪软件

БЦВМ计算机检测仪上运行的应用软件为硬件测试软件ATK_PRO,采用C++编程语言,运用C++Builder编译环境,基于Windows XP平台进行开发,具备429信号串行通讯能力、一次性指令信号通讯能力、以及启动计算机ATK测试程序等功能。

1.2.2 PC计算机系统测试软件

PC机上运行的应用软件为软件测试软件ATK_MON,其功能是通过RS232串口向被测试计算机发送测序测试、校验指令,接收计算机反馈的程序测试数据,并对其进行解析,输出测试报告。

1.3 工作原理

检测仪的总体工作原理框图如图3所示。检测仪主要完成如下5个功能:

图3 检测仪总体工作原理框图

图4 检测仪硬件和软件测试软件工作流程图

1.3.1 串行码通讯功能检查原理

运行测试程序ATK_TPro,配置测试命令,启动计算机自检程序,进行ARINC-429串行码数据交换,检测仪429信号测试区相应的指示灯,以特定周期点亮(有信号时信号电平±5 V,误差)。

1.3.2 一次性指令通讯功能检查原理

运行测试程序ATK_TPro,配置测试命令,启动计算机自检程序,进行一次性指令数据交换,检测仪一次性指令信号测试区+27 V、CASING、COMMON对应的相应的指示灯以特定周期点亮。

1.3.3 计算机良好信号检测原理

对机载计算机良好信号(_ERRBCVM信号)进行持续监测,此信号为机载计算机运行良好输出信号,以开路集流器(UH<30 V,IH<30 mA)的形式与机载电路断电,低有效(允许误差-3~+2.4 V)。

1.3.4 计算机消耗功率测试原理

按照平均功率计算公式(P=UI)对所测试的机载计算机进行消耗功率测试,并实时显示和存储此数据。

1.3.5 机载计算机FLSH程序测试原理

在检测仪中虚拟俄文版Windows系统,为АТК_MON程序运行提供虚拟工作平台,完成机载计算机的FLASH盘中系统软件、应用软件和POST软件的检查。

2 检测仪软件设计

2.1 设计原则

由于某型飞机机载计算机检测仪检测内容多,精度要求高,在硬软件存在很多技术难点。为避免研制风险,提高软件开发的效率和人机界面的友好,研制过程软件基本遵循如下设计原则:

1)满足自动测试需求,提高测试效率和准确度;

2)应用程序的开发平台必须是基于Windows的软件开发环境;

3)应用软件采用模块化设计,可靠性要好,安全性要强;

4)人机界面友好,操作简单;

5)具有比较强的硬件操作能力;

6)具有支持第三方硬件的能力。

2.2 测试软件流程

计算机检测仪测试软件运行的具体工作流程如图4所示。计算机机检测仪主要完成机载计算机硬件测试和机载计算机软件测试。

硬件测试是通过ATK_PRO程序来完成机载计算机各硬件组成及总线通讯能力的检测。测试软件采用BCB开发环境,基于Windows XP平台开发,动态调用必要的总线接口模块底层驱动函数,不仅需要主控计算机安装Windows 2000/XP操作系统和必要的接口驱动程序外,硬件上还需要主控计算机安装ARINC429接口模块、一次性离散量接口模块,并完好连接。启动ATK_TPro程序时,系统会自动进行必要的软件和硬件自检测,否则会提示相应的启动失败信息。

软件测试通过ATK_MON程序进行比对正确机载计算机软件达到校验机载计算机系统软件、应用软件和POST软件的目的。虚拟俄文版Windows系统,为ATK_MON程序运行提供虚拟工作平台。

2.2.1 硬件测试流程

嵌入式计算机上的ATK_PRO程序完成自检后,给被测机载计算机上电和配置参数,测试的内容主要为ARINC429和一次性指令信号的通讯能力、计算机良好信号。ARINC429总线处于总线数据采集监视模式,用户可根据需要进行数据存储选择。一次性指令信号ATK_PRO软件提供了信号的分析电平测试功能,用户可利用软件提供的通道选择功能进行通道选择,将数据还原成波形信号进行分析。

2.2.2 软件测试流程

软件测试需要嵌入式计算机启动ATK_PRO程序为被测计算机上电,由于机载计算机软件运行在前一版本的操作系统中,因此需要在虚拟测试环境下启动ATK_MON程序对机载计算机机软件进行检验,在虚拟测试环境下PC计算机可通过RS-232接口发送软件测试指令,根据指令要求终止机载计算机的当前正常工作模式,强制机载计算机启动扩展的软件检验检查功能,并通过RS-232接口向测试主机传输测试信息,生成测试报告。

2.3 控制状态设计

检测仪状态的合理划分,可有效控制检测仪的状态,有利于软件开发、多人合作、设计相互转换之间的信息交换。为便于编程控制,将检测仪的整体工作状态分为5个状态,并由3个事件来控制,检测仪的软件整体可划分为初始化、准备好(状态1)、硬件测试(状态5)和软件测试(状态2、状态3、状态4)4种状态,检测仪状态控制如图5所示。

图5 检测仪状态控制框图

检测仪的状态主要由3个事件来控制:

“开始”事件:首先判断检测仪及被测机载计算机是否处于准备好状态,并且电压在规定范围内,如满足条件,则对各控制端口进行配置,端口配置成功后转入状态5,否则不做任何动作;

“停止”事件:当检测仪测试应用程序软面板的“停止”按钮被按下,检测仪收回总线控制权限,停止当前测试进程,转入状态1;

“退出”事件:无论检测仪处于什么状态,都将检测仪停止当前工作状态,恢复到初始状态,同时关闭所有测试进程。

检测仪的5个工作状态如下:

状态1:准备好状态,即БЦВМ计算机检测仪上电启动正常,应用软件加载成功,端口配置完成,通过应用测试软件的软面板上的电源控制开关,可控制被测机载计算机供电启动,自动转入状态5;

状态2:系统软件校验状态,即被测机载计算机加电启动,与台式计算机通过RS-232总线连接成功,并根据控制指令,退出当前正常工作状态,转入系统软件校验状态;

状态3:应用软件校验状态,即被测机载计算机加电启动,与台式计算机通过RS-232总线连接成功,并根据控制指令,退出当前正常工作状态,转入应用软件校验状态;

状态4:POST软件校验状态,即被测机载计算机加电启动,与台式计算机通过RS-232总线连接成功,并根据控制指令,退出当前正常工作状态,转入POST软件校验状态;

根据测试流程,采用模块化设计,方便应用软件的设计和多人合作开发。软件采用原型系统方法进行设计,待某一功能完全调试成功后,再逐步进行新的功能开发。检测仪的工作状态通过连接调试信号模拟器进行测试,其过程与最终的实装测试完全相同。

3 关键技术

运用计算机检测理论与方法,综合应用国内外软件设计先进技术和成熟商用产品,成功研制了某型飞机机载计算机检测仪。在软件设计采用了以下关键技术:

3.1 逆向工程技术

运用逆向工程技术[5-6],借助DD反汇编工具,对机载计算机中央处理器上FLASH盘上的程序进行反汇编,区分各程序代码段起始地址,对程序文件进行了分离,获取了机内各模块的自检程序、计算机软件校验程序的输入条件及相关测试机理,包括必要的测试函数,故障代码字典等信息,同时对串口通讯配置文件进行分析破译,掌握了机载计算机的串口通讯配置参数,破解了被测计算机硬件测试的测试机理和软件测试的输入条件,突破了俄方在出口产品离位测试方面的限制问题。实现了运用机载计算机前端串口进行计算机FLASH盘上的软件校验、计算机各模块的独立检查。

3.2 双语兼容技术

机载计算机的软件测试机理是测试计算机(上位机)通过RS232串行总线接口向机载计算机(下位机)发送测试指令,机载计算机根据上位机的测试指令运行相应的测试程序段,不断向上位机反馈测试结果,并在上位机上进行显示。在测试软件环境构建上,由于机载计算机上运行的操作系统为俄文版WIN98实时操作系统RelMK32,测试反馈结果在检测仪操作系统(中文操作系统)下显示为乱码。如进行汉化显示,则因数据量较大,且部分内容在汉化过程中因编码存在过多的对比匹配,将导致文字显示不全,影响判读。通过在检测仪操作系统中安装虚拟机[7]系统(影子系统),构建双语兼容的测试软件工作环境,解决了测试计算机和机载计算机操作系统因使用字库不同,导致出现显示乱码或显示信息不全的问题。

3.3 模板对比技术

为了满足部队实际使用需求,校验被测机载计算机应用程序的正确性,通过实装测绘,掌握了良好状态下机载计算机固化在FLASH中软件正确性测试指令的特征及状态,获取了被测软件对比模板;准确分清了已编译成机器码的系统程序及各应用程序的存储单元地址;建立了实时的数据传输通道,实现被测软件代码按字节进行比对,并判断其正确性。

4 检测实例

本节给出了机载计算机检测仪显示屏上运行的硬件测试软件运行界面截图(如图6所示)和软件测试软件虚拟机界面截图(如图7所示)。软件的设计遵循了软件设计原则,使用符合部队维护操作规程,界面简捷直观,操作简单。通过测试,软件运行稳定可靠,也弥补了原检测仪不易判读的问题。

图6 检测仪硬件测试软件运行界面

检测仪硬件测试软件运行界面通过虚拟面板模拟引俄检测设备的指示灯、开关和按钮,操作简便,直观可靠,增加了数字示波器,可以展示测试端口的波形,便于检测维修,同时还可在检测后留下检测记录。

检测仪软件测试运行界面需要启动虚拟机运行在WIN98操作系统中,可记录被测机载计算机的编号,选择FLASH盘上的系统软件、应用软件和POST软件分别进行比对检验,并在检验完成后生成测试报告,便于维护人员深度研究和维护。

5 结束语

该检测仪软件设计充分利用了现代检测技术,突破了国外引进装备技术限制,兼容了双语软件环境,具有模块化设计、测控功能完善和操作简单可靠等特点。实用证明,检测仪软件在修理厂对机载计算机离位检测时,能够完成对机载计算机硬件、软件对比和机载武器逻辑运算控制能力的检测,在保证某型飞机武器系统的可靠性和顺利遂行作战和训练任务方面发挥了重要作用。

图7 检测仪软件测试虚拟机运行界面

[1] 欧阳寰,王超勇,等. 某型飞机武器控制系统计算机检测仪的设计与实现[J]. 计算机测量与控制,2016,24(12):103-105.

[2] 李小魁,王忠勇. 基于嵌入式操作系统平台下的触摸屏驱动程序的开发与实现[J]. 计算机与数字工程,2009,37(4):73-76.

[3] 史永胜, 祖以慧. 基于虚拟测试仪器的诊断技术及在VMTS中应用[J]. 计算机测量与控制,2015,23(5):1464-1466.

[4] Julia C,Jaime R,Angelica D A . Applying a student modeling with non-monotonic diagnosis to Intelligent Virtual Environment for Training/Instruction[J]. Expert Systems with Applications,2014,41(2):508-520.

[5] 周立萍,孙青岩,等. 逆向工程分析技术研究[J]. 微机发展,2004,14(4):4-7.

[6] 李志新,黄曼慧,等. 逆向工程中的CAD建模技术及软件系统[J]. 机床与液压,2007,35(9):46-47,78.

[7] 张 磊,陈兴蜀,等. 基于虚拟机的内核完整性保护技术[J]. 电子科技大学学报,2015,44(1):117-122.

Design of Test Software for Airborne Computer Detector of a Certain Type Aircraft

Ouyang Huan, Wang Chaoyong, Chen Zunyin, Li Zifen

(Qingdao Campus, Naval Aeronautical Engineering Institute,Qingdao 266041,China)

A test software for the detector is designed based on embedded computer platform and virtual test environment according to the prescriptive hardware detection function for the airborne computer of the detector imported from Russia and the combat training demand for the software logic function calibration for the airborne computer. The general structure is described for the detector. The composition, running process and control state are introduced in detail. Some key technologies are used in the procedure of designing, such as reverse engineering, bilingual compatibility and software template comparison etc. The test software has been used in the airborne computer detector of an aircraft. The application results show that the characteristics of the software are convenient operation and steady performance. It can improve the efficiency of training and combat readiness.

embedded computer; software design; reverse engineering; template comparison

2017-02-18;

2017-03-07。

欧阳寰(1970-),男,江西彭泽人,硕士,副教授,主要从事航空火控专业教学科研及计算机软硬件设计方向的研究。

1671-4598(2017)08-0116-04

10.16526/j.cnki.11-4762/tp.2017.08.030

TP311.1

A

猜你喜欢
测试软件软件测试检测仪
网络自适应测试软件运行方法设计
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
一种防雷接地装置的便携式检测仪电路
EXCEL和VBA实现软件测试记录管理
自动化检测EPU10A板卡系统设计与实现
基于555振荡器的地沟油频率检测仪
多功能空气质量远程检测仪
软件测试工程化模型及应用研究
巧用故障检测仪中的Reset功能