摘 要: 本文主要对嵌入式软件可靠性仿真测试系统进行了研究, 分析了仿真测试系统的设计目标, 并在此基础上设计了嵌入式软件可靠性仿真测试系统, 最后对嵌入式软件可靠性仿真测试系统进行了实践。
关键词: 嵌入式软件; 可靠性; 仿真测试; 系统设计;
1 系统设计目标
嵌入式软件可靠性仿真测试系统设计中最为重要的是确保测试系统的完整性, 为了满足嵌入式软件可靠性仿真测试系统的需求, 系统设计需要遵循以下目标:
(1) 系统的设计必须要建立在硬件的基础上。在硬件仿真的过程中要明确测试系统外围各个设备之间的同一性, 设计的嵌入式软件设备通常具备1553B的总线接口和其余的数据收集、处理等硬件设备, 从而促进仿真测试软件的交融性。
(2) 设计的嵌入式软件可靠性仿真测试系统必须具备数据采集和故障注入的功能, 在进行仿真测试的过程中为用户应用提供数据采集、注入等接口。
(3) 设计的测试系统必须具备奖励机制和响应机制。当测试系统运行时, 能够为系统测试提供相应的运行环境。
(4) 软件设计必须要对各种因素进行充分的考虑和分析。其中, 测试系统中的目标系统通常在单模系统的基础上进行设计, 通过用户的需求相应的设计测试系统的激励机制和响应机制, 从而实现多模系统仿真测试的目标。
2 嵌入式软件可靠性仿真测试系统设计
图1:嵌入式软件可靠性仿真测试系统组成结构
2.1 组成结构图
嵌入式软件可靠性仿真测试系统的组成结构是整个仿真测试的重中之重, 它直接决定了软件功能的组织形式以及测试环境任务的整体分配。嵌入式软件可靠性仿真测试系统主要由主控系统、被测系统、激励系统以及仿真系统构成, 它的组成结构图如图1所示。
2.2 仿真系统硬件构成
嵌入式软件设备通常有1553B的总线接口和其余的数据收集、处理等硬件设备构成, 由单片机集中协调他们的工作, 但他们又独立完成自己的性能。
表1:嵌入式软件可靠性仿真测试实践数据采集
在嵌入式软件可靠性仿真测试系统硬件构成中, 它们各自的作用如下:
2.2.1 模拟量输入通道
仿真系统硬件中的模拟量输入通道主要是由多路开关以及AD转换器构成, 其作用为收集被测系统的16路模拟信号。
2.2.2 模拟量输出通道
该硬件部分区别于模拟量输入通道, 主要是由DA转换器构成, 其主要作用是对系统激励目标系统的信号进行仿真测试, 通过故障注入的方式对嵌入式软件的故障情况进行相关的检测。
2.2.3 开关量输出通道
该硬件系统的开关量输出通道主要是由驱动芯片构成, 通过在开关量输出通道中注入故障状态, 对被测系统的数字信号进行仿真测试。
2.2.4 1553B接口
1553B接口主要是由控制芯片和点偏激构成, 其中控制芯片的型号为BU61580, 单片机的型号为AT98s52。它的主要作用是控制1553B接口总线, 并对卫星和有效荷载之间的通讯通道进行仿真模拟, 从而实现仿真测试系统同被测试系统之间的通讯。
2.2.5 USB接口电路
USB接口电路主要是由型号为PD IUSBD12的USB控制芯片以及单片机构成, 其作用主要为实现仿真系统和主机之间的通讯, 实时注入、采集并显示数据。
嵌入式软件仿真测试系统的硬件设备主要使用了USB总线, 只要仿真测试系统设备上拥有USB接口就能够快速与主机连接通讯。此外, 该硬件系统中的AD以及开关输出通道可以注入故障且能够容纳的数据范围较广, 使得嵌入式软件可靠性仿真测试系统的容错性能不断优化, 测试系统的测试范围进一步拓展。
2.3 仿真系统硬件设备嵌入式软件设计
嵌入式软件仿真测试系统的软件有称之为固件程序, 它主要是由1553B仿真消息执行和数据接收、发送控制命令等部分构成。在嵌入式软件可靠性仿真测试系统软件构成中, 它们各自的作用如下:
2.3.1 数据采集控制
仿真测试系统软件中数据采集控制的主要作用是对被测试系统的数据进行采集控制, 然后根据被测试系统的数据返回策略和特点设置系统数据采集的周期。
2.3.2 主机命令接收和数据反馈控制
主机命令接收和数据反馈控制的主要作用是对主机发出的命令进行相应, 并将收集到的数据及时的回馈给主机的数据。
2.3.3 1553B仿真消息执行与数据接收
1553B仿真消息执行与数据接收主要是完成主机发送的1553B命令, 及时的接受被测试系统传输的消息和数据, 并将接收到的数据储存至系统的数据缓存区域后将其反馈给主机。
2.3.4 发送控制命令
发送控制命令主要是在被测试系统的运行模式基础上对系统的控制策略进行重新设置, 并对系统部分硬件的执行策略进行控制。
2.4 主机应用程序
嵌入式软件仿真测试系统的主机应用程序的界面是在VC++的基础上设计的, 它的工作方式为多线程工作, 在确保了系统工作时序准确性的基础上为嵌入式软件的运行提供了良好的平台。
在嵌入式软件可靠性仿真测试系统主机应用程序中, 它们各自的作用如下:
(1) 数据采集。该测试系统的数据采集的主要作用是实时采集、储存载荷数据、显示工程参数等。
(2) 控制激励。控制激励的作用是发送遥控指令、初始化控制端口等。
(3) 1553B通讯仿真。1553B通讯仿真的作用主要是发送数据结束字、长抱环测试、发送指令等。
3 嵌入式软件可靠性仿真测试实践
本文提出的.嵌入式软件可靠性仿真测试系统是在有效荷载的基础上进行设计的, 通过该仿真测试系统对嵌入式软件可靠性进行了科学的测试。
在选择测试实例时, 必须要根据仿真测试软件系统硬件的设置的数据和控制凉的范围以及将故障注入系统后软件的运行特点。据此, 本文选择各种测试数据、数控电路等设备故障的实例265个;此外, 由于嵌入式软件可靠性仿真测试系统软件的工作周期以及工作模式有所不同, 所以选择了测试工作时序、时间校正等功能故障的实例265个;再根据嵌入式软件仿真测试系统的主机应用程序可自动生成注入数据的特性, 选择测试数据注入字错、位错等故障的实例265个;最后在根据软件的运行特点选择测试软件正常故障的实例510个, 共计测试实例1305个, 极大的提高了仿真测试系统的测试范围, 从而使得系统测试的仿真结果根据科学性。本文采集到的测试数据如表1所示。
由表1可知, 本文在分析测试数据是并未存在失效数据, 最终得到的测试数据符合预期的设定, 且与用普通的仿真测试系统进行测试后得到的结果是相同的, 由此可知, 本文中提到的嵌入式软件可靠性仿真测试系统是可以进行推广的。
4 结论
随着嵌入式软件在我国各行业中应用的拓展, 嵌入式软件的可靠性也引起了大家的广泛关注。对此, 本文设计了一种嵌入式软件可靠性仿真测试系统泳衣测试嵌入式软件的可靠性, 而通过对仿真测试系统的实践后可知该系统具有较强的科学性和适用性。
参考文献:
[1]张旭, 石柱, 王崑声.基于使用剖面的软件可靠性测试用例生成方法[J].计算机仿真, 2009, 26 (12) :82-85.
[2]王乾宇, 朱小冬, 王毅刚等.基于Test Quest的嵌入式软件可靠性测试环境框架研究[J].中国测试, 2012, 38 (01) :106-109.
[3]郑重, 石柱.星载软件可靠性工程研究与实践[J].计算机与数字工程, 2013, 41 (08) :1273-1276.