徐白+周楷林
摘要:某型號導(dǎo)彈彈載計算機(jī)軟件發(fā)生目標(biāo)捕獲異常問題,該文從測試的角度,并結(jié)合彈載計算機(jī)軟件中斷相關(guān)理論,針對該異常問題進(jìn)行定位和分析,提出改進(jìn)措施,并通過了測試驗證,提高了該軟件的可靠性。同時,該文的分析方法對于該類嵌入式軟件中斷測試有一定的參考價值。
關(guān)鍵詞:彈載計算機(jī)軟件;中斷;可靠性
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼: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 背景
嵌入式軟件經(jīng)常用到中斷技術(shù),它具有實時響應(yīng),突發(fā)事件處理等優(yōu)勢[1-3]。但同時由于中斷執(zhí)行具有隨機(jī)性,與硬件、環(huán)境和應(yīng)用都有密切的關(guān)系,帶來的問題往往具有隱蔽性,給這方面的相關(guān)測試工作帶來困難。
某型號彈載計算機(jī)軟件是某防空導(dǎo)彈武器系統(tǒng)的重要組成部分,主要用于導(dǎo)彈的發(fā)射準(zhǔn)備和發(fā)射程序的控制,實現(xiàn)導(dǎo)彈適時、無誤、可靠的發(fā)射。
本文就該軟件中出現(xiàn)的中斷處理時間不當(dāng)導(dǎo)致的風(fēng)險進(jìn)行分析、研究并提出改進(jìn)措施。
2 現(xiàn)象描述
在該軟件測試的過程中發(fā)現(xiàn),該軟件存在以下故障現(xiàn)象,輸入持續(xù)2 個周期以上滿足要求的方波時(頻率在[PL0,PL1] 單位hz),該軟件未按要求判定目標(biāo)被捕獲;當(dāng)輸入連續(xù)持續(xù)2個周期以上不滿足頻率在[PL0,PL1]的方波再輸出滿足要求的方波時,軟件提前輸出捕獲信號,導(dǎo)致目標(biāo)捕獲被誤判。
發(fā)射程序要求根據(jù)實時的目標(biāo)捕獲信號進(jìn)行實時發(fā)射,而該捕獲信號未按要求實時切換,從而影響整個發(fā)射程序的控制。無法保證導(dǎo)彈的準(zhǔn)確發(fā)射。
3 問題定位與分析
為了準(zhǔn)確對問題進(jìn)行定位, 項目組采用等價類結(jié)合判定表測試法進(jìn)行測試用例設(shè)計。首先對輸入項進(jìn)行等價類劃分,見下表:
其中條件樁C1:目標(biāo)捕獲信號頻率;C2:連續(xù)持續(xù)周期;C3:目標(biāo)捕獲信號相鄰兩邊沿差。動作樁:A1:目標(biāo)被捕獲輸出高電平;A2:目標(biāo)不被捕獲輸出低電平;A3:維持前一目標(biāo)捕獲狀態(tài)。
項目組通過脈沖發(fā)生器目標(biāo)捕獲頻率檢測端口輸入方波信號,被測軟件根據(jù)目標(biāo)捕獲信號頻率,控制電平輸出。通過觀察對應(yīng)輸出電平信號,驗證目標(biāo)捕獲功能設(shè)置的正確性。
經(jīng)仿真測試觀察,對于規(guī)則1和規(guī)則3實際測試結(jié)果與功能項要求(理論結(jié)果)比較存在如下問題,其方波圖如(圖1和圖2所示):
情況1:輸入連續(xù)2周期滿足要求的目標(biāo)捕獲方波(頻率在[PL0,PL1],假設(shè)為PL2),應(yīng)該設(shè)置目標(biāo)被捕獲輸出高電平。實際測得為目標(biāo)不被捕獲,輸出低電平
情況2: 輸入2周期以上不滿足要求的目標(biāo)捕獲方波(頻率為PL3 對實測結(jié)果進(jìn)行分析,軟件利用PCA 中斷,對“目標(biāo)捕獲方波信號”上升、下降沿進(jìn)行邊沿捕獲,利用上、下邊沿之差計算方波信號頻率。PCA 捕獲中斷時鐘基準(zhǔn)為1M,即PCA 捕獲模塊中計數(shù)器值+1 的時間為1us。軟件存在PCA中斷和定時中斷兩個中斷處理過程。經(jīng)測試驗證,PCA中斷處理時間為110us,定時中斷處理時間為4.8ms。當(dāng)定時中斷處理過程中來了PCA邊沿捕獲中斷,程序不會立刻去響應(yīng)該P(yáng)CA中斷,當(dāng)定時中斷處理結(jié)束后才會轉(zhuǎn)到PCA中斷,PCA中斷執(zhí)行結(jié)束時對計數(shù)器/定時器的值PCA0H和PCA0L清零,開始記錄當(dāng)前時刻到下一邊沿到來時刻的時間差。由于程序記錄的前一個邊沿到來時刻被定時中斷推遲了,當(dāng)后一個邊沿時刻計時準(zhǔn)確時,兩個時刻時間間隔實際上被縮短了,頻率與時間成反比,即軟件計算得到的頻率值比實際值要大。 對于情況1,把本來在頻率要求范圍內(nèi)的信號如PL2 (Hz),計算為一個較大的頻率值(設(shè)PL5),這個值超過滿足要求的右邊界(PL5>PL1),軟件就會認(rèn)為未連續(xù)兩次收到滿足要求的目標(biāo)捕獲信號,認(rèn)為目標(biāo)未被捕獲,向某端口輸出低電平。 對于情況2:把本來在頻率要求范圍外的信號如PL3 (Hz),計算為一個較大的頻率值(設(shè)PL4),而PL4正好落入滿足要求范圍(PL0 4 改進(jìn)措施 發(fā)生捕獲異常的原因是定時中斷處理時間太長,影響了PCA中斷處理精度。本文提出縮短定時中斷處理時間的建議,盡量減小定時中斷處理時間長對PCA中斷信號頻率獲取帶來的影響。經(jīng)設(shè)計修改后,對該軟件進(jìn)行了驗證,定時中斷處理時間縮短到us級,不影響PCA中斷對信號頻率的獲取功能,從而保證捕獲信號按要求實時切換,發(fā)射程序能根據(jù)實時的目標(biāo)捕獲信號進(jìn)行實時發(fā)射,從根本上保證導(dǎo)彈準(zhǔn)確發(fā)射。 5 結(jié)束語 本文通過對某型號彈載計算機(jī)軟件中斷時間過長引發(fā)的目標(biāo)捕獲異常問題進(jìn)行分析定位,提出改進(jìn)措施,提高了軟件的可靠性。在軟件開發(fā)過程中,開發(fā)人員應(yīng)全面考慮中斷處理時間帶來的影響,在多中斷情況下,還要考慮中斷沖突和中斷嵌套的處理,做好基于中斷響應(yīng)的過程間數(shù)據(jù)流分析。 參考文獻(xiàn): [1] 代曉倩, 尤志堅. 單片機(jī)軟件中斷測試技術(shù)研究[J]. 電腦知識與技術(shù), 2015(11):195-196. [2] 宋力立, 周楷林. 姿軌控軟件黑盒測試方法研究[J]. 電腦知識與技術(shù), 2015, 11(29):191-192. [3] 楊芳, 齊璇, 董麗, 等. 嵌入式軟件中斷系統(tǒng)資源沖突檢測技術(shù)研究[J]. 計算機(jī)工程與設(shè)計, 2010, 31(23).