某弹载计算机软件中断时间引发的目标捕获异常问题分析
2017-04-26徐白周楷林
徐白+周楷林
摘要:某型号导弹弹载计算机软件发生目标捕获异常问题,该文从测试的角度,并结合弹载计算机软件中断相关理论,针对该异常问题进行定位和分析,提出改进措施,并通过了测试验证,提高了该软件的可靠性。同时,该文的分析方法对于该类嵌入式软件中断测试有一定的参考价值。
关键词:弹载计算机软件;中断;可靠性
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)06-0134-02
Abstract: From the perspective of software testing, using related theory of software interrupt, this paper locates and analyses the the root cause of target capture problem in the software running on a missiles central computer. The paper also proposes on how to fix the problem, and further tests show that the correction effectively enhance the reliability of the software. The principle of analysing can be referenced when test interrupt related functions of embedded software.
Key words: Missile-loaded Computer Software; interrupt; reliability
1 背景
嵌入式軟件经常用到中断技术,它具有实时响应,突发事件处理等优势[1-3]。但同时由于中断执行具有随机性,与硬件、环境和应用都有密切的关系,带来的问题往往具有隐蔽性,给这方面的相关测试工作带来困难。
某型号弹载计算机软件是某防空导弹武器系统的重要组成部分,主要用于导弹的发射准备和发射程序的控制,实现导弹适时、无误、可靠的发射。
本文就该软件中出现的中断处理时间不当导致的风险进行分析、研究并提出改进措施。
2 现象描述
在该软件测试的过程中发现,该软件存在以下故障现象,输入持续2 个周期以上满足要求的方波时(频率在[PL0,PL1] 单位hz),该软件未按要求判定目标被捕获;当输入连续持续2个周期以上不满足频率在[PL0,PL1]的方波再输出满足要求的方波时,软件提前输出捕获信号,导致目标捕获被误判。
发射程序要求根据实时的目标捕获信号进行实时发射,而该捕获信号未按要求实时切换,从而影响整个发射程序的控制。无法保证导弹的准确发射。
3 问题定位与分析
为了准确对问题进行定位, 项目组采用等价类结合判定表测试法进行测试用例设计。首先对输入项进行等价类划分,见下表:
其中条件桩C1:目标捕获信号频率;C2:连续持续周期;C3:目标捕获信号相邻两边沿差。动作桩:A1:目标被捕获输出高电平;A2:目标不被捕获输出低电平;A3:维持前一目标捕获状态。
项目组通过脉冲发生器目标捕获频率检测端口输入方波信号,被测软件根据目标捕获信号频率,控制电平输出。通过观察对应输出电平信号,验证目标捕获功能设置的正确性。
经仿真测试观察,对于规则1和规则3实际测试结果与功能项要求(理论结果)比较存在如下问题,其方波图如(图1和图2所示):
情况1:输入连续2周期满足要求的目标捕获方波(频率在[PL0,PL1],假设为PL2),应该设置目标被捕获输出高电平。实际测得为目标不被捕获,输出低电平
情况2: 输入2周期以上不满足要求的目标捕获方波(频率为PL3 对实测结果进行分析,软件利用PCA 中断,对“目标捕获方波信号”上升、下降沿进行边沿捕获,利用上、下边沿之差计算方波信号频率。PCA 捕获中断时钟基准为1M,即PCA 捕获模块中计数器值+1 的时间为1us。软件存在PCA中断和定时中断两个中断处理过程。经测试验证,PCA中断处理时间为110us,定时中断处理时间为4.8ms。当定时中断处理过程中来了PCA边沿捕获中断,程序不会立刻去响应该PCA中断,当定时中断处理结束后才会转到PCA中断,PCA中断执行结束时对计数器/定时器的值PCA0H和PCA0L清零,开始记录当前时刻到下一边沿到来时刻的时间差。由于程序记录的前一个边沿到来时刻被定时中断推迟了,当后一个边沿时刻计时准确时,两个时刻时间间隔实际上被缩短了,频率与时间成反比,即软件计算得到的频率值比实际值要大。 对于情况1,把本来在频率要求范围内的信号如PL2 (Hz),计算为一个较大的频率值(设PL5),这个值超过满足要求的右边界(PL5>PL1),软件就会认为未连续两次收到满足要求的目标捕获信号,认为目标未被捕获,向某端口输出低电平。 对于情况2:把本来在频率要求范围外的信号如PL3 (Hz),计算为一个较大的频率值(设PL4),而PL4正好落入满足要求范围(PL0 4 改进措施 发生捕获异常的原因是定时中断处理时间太长,影响了PCA中断处理精度。本文提出缩短定时中断处理时间的建议,尽量减小定时中断处理时间长对PCA中断信号频率获取带来的影响。经设计修改后,对该软件进行了验证,定时中断处理时间缩短到us级,不影响PCA中断对信号频率的获取功能,从而保证捕获信号按要求实时切换,发射程序能根据实时的目标捕获信号进行实时发射,从根本上保证导弹准确发射。 5 结束语 本文通过对某型号弹载计算机软件中断时间过长引发的目标捕获异常问题进行分析定位,提出改进措施,提高了软件的可靠性。在软件开发过程中,开发人员应全面考虑中断处理时间带来的影响,在多中断情况下,还要考虑中断冲突和中断嵌套的处理,做好基于中断响应的过程间数据流分析。 参考文献: [1] 代晓倩, 尤志坚. 单片机软件中断测试技术研究[J]. 电脑知识与技术, 2015(11):195-196. [2] 宋力立, 周楷林. 姿轨控软件黑盒测试方法研究[J]. 电脑知识与技术, 2015, 11(29):191-192. [3] 杨芳, 齐璇, 董丽, 等. 嵌入式软件中断系统资源冲突检测技术研究[J]. 计算机工程与设计, 2010, 31(23).