寧振峰 付強 高希輝 田麗佳
摘要:本文介紹了一種利用軟件破譯工作進行靶試分析的方法,詳細論證了軟件破譯在靶試遙測數據分析過程中的整體思路和步驟,為后續該型裝備靶試保障分析工作提供技術支撐,也為后續類似的靶試保障分析工作提供了可借鑒的方法和經驗。
關鍵詞:軟件破譯;遙測數據;靶試分析
Keywords:software decoding;telemetry data;target test analysis
0 引言
某型進口裝備利用復合制導方法,中制導段采用慣性制導,末制導段采用多普勒主動雷達制導,具有多目標攻擊能力。為了提升工廠技術能力,解決該型裝備修理和靶試分析中遇到的問題,深入掌握該型裝備的核心技術,工廠決定開展該型裝備軟件的破譯工作。該型裝備軟件破譯的階段性成果,已經為靶試分析提供了有力的理論基礎和分析方法。本文以此為出發點,利用前期軟件破譯成果,對一枚發射未離梁的該型裝備進行分析,力圖摸索出一套正確、有效的靶試分析方法,為后續該型裝備靶試的保障分析工作提供支撐。
1 遙測數據初步分析
在獲取失利靶試裝備遙測數據后,對遙測數據進行梳理分析。由于裝備為發射未離梁故障,首先對遙測數據中的關鍵數據YC進行分析。YC數據的形成過程比較復雜,在計算機程序運行的不同階段表示不同的狀態信息:在自檢階段表示初始化程序運行標識信息;在斜率測量階段代表斜率測量標識信息;在測向通道幅相測量與補償調整階段代表測向通道幅相測量與補償調整標識信息;在一艙基本任務工作階段代表GZ位標志信息。當程序正常執行時,YC數據信息的值也在改變,具體信息如表1所示,其中包括了以上4個階段的正常程序執行流程及YC數據信息。
提取故障裝備數據,從裝備加電開始,計算機進入初始化復位狀態,從429數據串中提取的YC的初始數據為XXX8H。而根據表1,正常情況下初始化程序開始時YC數據信息應該為XXX0H,初步判斷該數據為一個異常代碼,說明該靶試未離梁裝備在計算機自檢階段已經發生故障。
2 計算機自檢階段程序分析
結合前期軟件破譯的階段性成果,根據計算機上電復位向量地址,查找到一艙的初始化子程序CSH。由于一艙系統結構非常復雜,要初始化的參數變量和單元接口很多,僅這兩個子程序代碼就達到2.5kB,涉及數百個參數的物理意義解析破譯。
通過軟件破譯分析可知,初始化子程序CSH調用程序和計算子程序CXH、計算機自檢子程序CZJ和移相角計算子程序YXJ,主要完成如下功能:5V電源檢測、對各中斷入口地址表檢測、程序和計算、控制程序參數區清零、接收緩沖區和發送暫存區清零、參數區清零、遙測數據緩沖區清零、A/D轉換緩沖區檢測、位標志板接口讀取檢測、D/A通道讀寫檢測、429緩沖區讀寫檢測、譯碼器單元初始化及檢測、預處理單元初始化及檢測、可調本振初始化及檢測。具體信息如表2所示。梳理后可知計算機自檢階段程序流程圖如圖1所示。
3 結合靶試數據和自檢流程狀態數據的深度分析
對遙測數據進行梳理,在裝備加電開始,計算機進入復位狀態,從429碼數據串中提取的YC的初始數據為XXX8H,與初始化階段XXX0H、XXX1H、XXX3H等存儲單元的數據都對應不上,證明在上電復位后,XXX0H送YC之前,計算機已經出現故障,這時遙測收到的數據XXX8H是隨機產生的偽數據,由于計算機的串口板卡本身具有自主運行能力,即使計算機出現故障,在電源及時鐘正常的情況下,CPLD芯片也可以控制產生并發送429數據。
本次故障是在計算機上電復位后,CPU還沒有向串口板卡上的429緩沖區及控制寄存器正常傳送數據,程序在執行接口讀取檢測時出現了異常。項目組通過分析得出可能引起該次靶試失利的原因:一艙計算機在程序執行開始時,讀寫外部接口,要求返回一個應答信號,證明數據的讀寫正常,如果沒有返回應答信號,則程序產生應答信號中斷。在應答信號中斷程序執行的過程中還會繼續讀寫外部接口,如果還是沒有返回該應答信號,則程序繼續產生應答信號中斷,產生多層嵌套應答信號中斷現象,如圖2所示。
由于程序一直處于多層嵌套應答信號中斷過程,不能繼續往下執行,這樣反復嵌套產生應答信號中斷,使計算機軟件運行發生混亂,對外表現為所有接口無正常輸出信號,也沒有正常的429碼發送,最終導致裝備發射未離梁故障。
4 結束語
本文以前期軟件破譯的階段成果為基礎,對一枚發射未離梁的某型裝備進行靶試分析,分析靶試失利的原因,為后續該型裝備靶試保障分析工作提供技術支撐,從而證明了利用軟件破譯工作對類似靶試數據分析及疑難故障定位的方法和理念是切實可行的,對于裝備修復率和軍隊戰斗力的提升具有十分重要的意義。
參考文獻
[1]杜毅仁,李慕靖,等.16位微型計算機[M].上海:上海交通大學出版社,1984.