航电系统机载软件全数字仿真测试平台技术研究
2014-04-03万鹏李利
万鹏,李利
(中航工业洪都,江西南昌330024)
0 引言
随着计算机技术的发展,嵌入式系统在各个领域有着越来越广泛的应用,嵌入式软件在产品中所占的比重迅速增大,软件质量保证也就显得至关重要。因此,软件质量评估与控制方法成为亟待研究的课题。行业内在运用硬件质量控制基础上,积极推进软件质量控制和软件质量测评方面的手段与条件建设,以保证和提高产品的软件质量。GJB 2786A、GJB5000A、GJB 9001B均对软件测试工作提出了明确要求,可见软件测试工作在型号软件研制中被越来越重视了。
1 现有测试条件和不足
软硬件综合设计技术在第三代教练机上得到广泛的应用,机载软件实现了飞机的核心功能。目前机载软件的研发模式,大多先进行系统设计,再开始进行硬件设计和硬件设备的调试和调试样机的生产,当硬件设备达到交付状态后,软件研发人员再进行软件的设计开发和调试,以及软硬件集成测试和验证,如图1所示。由于嵌入式系统的软件和硬件有很大的相关性,软件功能验证依赖于接口交联的诸多产品,导致嵌入式软件在开发及验证中主要存在如下问题:
1)嵌入式软件开发需要等待硬件设备的开发和调试,只有提交出可用的硬件设备后才可开展和硬件紧密相关的软件的开发,导致整个项目的周期拖长;
2)在软件开发调试阶段,由于硬件设备资源有限,或者硬件设备成本较高,导致软件项目团队无法高效地进行相关调试工作;
3)由于硬件设备早期调试阶段,可能会存在设计或者样机生产方面的问题,导致在进行软件调试时,无法有效区分软件或硬件的故障,使得软件的调试效率低下;
4)在测试验证阶段,基于真实硬件环境,很多软件设计中的异常情况处理等情况,难以通过硬件环境进行测试和验证。
由此,本文将提出一种基于软件仿真技术的虚拟验证平台,通过采用软件方法为嵌入式软件开发提供一个全面的纯数字的软件验证平台,基于该平台能够解决现有嵌入式软件开发及验证过程中存在的问题。
图1 当前机载软件研发流程
2 全数字仿真测试平台设计方案
2.1 航电系统概述
第三代飞机典型航空电子系统由GJB 289A(MIL-STD-1553B)、RS422、HB6096总线连接,构成以显示与控制管理处理机为核心的计算机网络系统。航空电子系统由以下子系统构成,它包括:
1)显示控制管理系统
2)任务管理系统
3)机电管理系统
4)大气数据系统
5)导航系统
6)飞行控制系统
7)发动机全权限数字式电子控制系统
8)雷达
本文讨论的航电系统采用GJB289A(MIL-STD-1553B)多路数据总线实现综合航空电子系统的信息传输与控制管理,以显示与控制管理处理机为核心与各子系统交联,如图2所示。
图2 典型航电系统框架
2.2 平台总体要求
根据航电系统的特点及型号研制通用要求,仿真测试平台须具备以下要求:
1)支持目标系统全数字仿真;
2)支持系统快速原型研制;
3)提供数字化虚拟目标机实现早期项目仿真与验证;
4)平台模块化设计,仿真组件模块化封装,便于组件的重用。
2.3 平台构架
航电系统仿真测试平台采用分布式体系结构,其核心采用分布式数据总线集成待测试软件,采用插件方式集成仿真平台其他外围设备功能模块组件,并支持辅助测试、开发工具集成,对应于典型航电系统结构,其整体结构如图3所示。
图3 航电系统仿真测试平台框架
2.3.1 虚拟目标机
全数字仿真是指不依赖于任何硬件系统,即虚拟目标机,所需的一切电信号和数据,采用数学平台的方法,将嵌入式硬件特性从系统中剥离出来,通过开发CPU指令、常用芯片、I/O、中断、时钟等模拟器在HOST上实现嵌入式CPU的功能。
目标系统虚拟是整个仿真测试平台的核心部分,测试人员在虚拟平台上进行嵌入式软件的测试,如BSP、固件、RTOS与应用程序,目标机代码可以不加修改地在虚拟系统中直接运行,并可以得到与在真实系统中运行相同的结果。其原理是嵌入式系统中可以通过地址来操作实现各种功能,对于寄存器、内存和I/O都分配了地址,通过对分配地址的操作,就可以对目标对象进行模拟操作。
在实际应用中是将目标机的指令直接翻译为能实现相应功能的宿主机上的指令/指令块。指令仿真方法采用模拟处理器的执行,根据地址从仿真内存中取指令,根据目标机处理器指令集规范按字段分析指令,按照分析的结果,利用主机处理器来模拟执行相应的行为。解释模拟器工作原理如图4所示。
图4 解释模拟器工作原理
采用目标虚拟机模式,测试人员在软件开发和调试阶段即开展基于仿真平台进行更加便捷和全面的开发以及验证;当进入软件系统测试阶段后,测试人员可重用先期测试成果,提高测试效率,缩短测试时间,加快型号研制进度。
2.3.2 分布式总线
分布式仿真与验证数据总线连接整个模型,通过总线,仿真组件可以动态地加入或退出仿真测试平台。
2.3.3 仿真控制与显示
仿真控制与显示模块是整个仿真测试平台的仿真控制和显示中心,可配置整个仿真和验证系统;动态、可视化地显示每一个仿真节点的数据,可选择记录每个节点的数据,并保存。
2.3.4 外围设备仿真
建立外围设备模型库,模型库包括任务管理系统、机电管理系统、大气数据系统、导航系统、飞行控制系统、发动机全权限数字式电子控制系统、雷达等子系统模型。外围设备仿真模块通过仿真工具 (如Matlab等)模型仿真模块实现对飞机子系统模型运行控制、参数在线修改和输入输出接口控制,并通过分布式数字总线集成到整个仿真测试平台,从而实现系统的闭环仿真与验证。
仿真平台支持使用插件方式扩展用户的功能模块。插件是以动态链接库(dll)的形式给出,虚拟平台可以支持多个插件同时工作,也就是说,可以将数个实现不同功能的插件dll放置到同一个项目中,可实现同时多个外围设备仿真。
2.3.5 辅助测试工具
仿真测试平台可集成辅助测试工具,如覆盖率测试工具、静态分析工具、故障注入工具、调试器等,也可集成部分开发工具,如LabView等,通过上述工具的集成,在仿真测试平台进行黑盒测试的同时,也能够进行白盒测试,保证测试的充分性和完整性。
3 航电系统软件典型仿真测试环境
通过仿真测试平台,可以构建出航电系统软件仿真测试的典型应用框架,如图5所示。在此框架中,采用以太网模拟分布式数据总线,网络协议采用TCP/IP协议,框架主体由虚拟目标机及外设和被测对象模型仿真与测试系统构成。
在此应用中目标系统采用虚拟目标机仿真工具构建,目标对象采用仿真工具进行数字化仿真,测试与试验系统采用Labview或其他用户专用测试软件,提供用户界面交互、测试序列管理、数据记录与分析等功能,所有平台中功能组件由分布式数据总线进行交互与调度,采用这种配置可实现基于虚拟目标系统的全数字化仿真验证,适合于在系统研制初期对系统设计方案进行试验与评估;软件设计编码工作完成后,可在此应用框架中进行部分系统测试工作;另外在系统交付使用后适用于系统维护与培训。
图5 仿真测试平台应用场景
4 结论
本文讨论的仿真测试平台方案,既结合了黑盒与白盒测试工具优势,又满足了测试规范的目标和要求。现已完成原型设计与验证工作,该仿真测试平台既扩展升级了机载网络、保证了接口的适配性,又提供了灵活易用的交联环境建模功能,为航电系统软件测试验证工作提供便利的技术手段。
随着新一代航电系统的深入研究与实践以及型号任务的进一步发展,软件占据着愈来愈大的比例,软件测试的重要性也更趋明显,而仿真测试环境又是软件测试充分性的有力保障。本文所研究的航电系统软件全数字仿真测试平台具有良好的通用性,也可扩展至其他机载系统软件仿真测试中应用。
[1]王金波.基于故障注入的嵌入式软件安全性测试框架及实现.计算机应用研究,2012,29(8):2994-2295.
[2]周庆.综合模块化航电软件仿真测试环境研究.航空学报,2012,33(4):722-724.
[3]李筱雅.1553总线测试仿真系统设计与实现.现代电子技术,2012,35(10):60.