(航空工業(yè)雷華電子技術(shù)研究所 航空電子系統(tǒng)射頻綜合仿真航空科技重點實驗室,江蘇 無錫 214063)
隨著作戰(zhàn)環(huán)境的日益復(fù)雜,越來越多的電子干擾設(shè)備投入使用,使機載雷達往往工作在很強的電磁干擾環(huán)境下。復(fù)雜多變的空戰(zhàn)環(huán)境要求機載雷達在強地/海雜波、強電磁干擾環(huán)境下對多個高速、高機動目標同時探測和跟蹤,因此要求我們不斷探索新技術(shù)和新算法。但機載雷達的新功能、新技術(shù)需要經(jīng)過大量且多樣的功能試驗和驗證才能通過設(shè)計定型。如果絕大部分功能均由試飛驗證,需要耗費大量時間、人力資源及經(jīng)費。通過半實物仿真方法模擬試飛場景,能夠完成機載雷達大部分功能試驗,既驗證雷達系統(tǒng)功能,又控制研發(fā)進度和成本[1-2]。
美國、西歐、日本等早在上世紀70年代起就陸續(xù)建立了針對機載雷達、導(dǎo)引頭的半實物仿真系統(tǒng)。國內(nèi)在該方面起步較晚,從上世紀90年代起航空工業(yè)601所等科研單位以及航空院校陸續(xù)建立了小型且針對性較強的半實物仿真系統(tǒng)。國內(nèi)完整且系統(tǒng)性地針對機載雷達構(gòu)建的大型射頻仿真試驗系統(tǒng)屈指可數(shù)。為了模擬機載雷達高逼真試驗場景,本項目開展了機載雷達射頻仿真試驗技術(shù)研究,構(gòu)建了由屏蔽暗室、陣列控制與鏈路饋電系統(tǒng)、三軸轉(zhuǎn)臺、載機/目標環(huán)境模擬系統(tǒng)、目標和環(huán)境仿真系統(tǒng)、視景顯示系統(tǒng)、總控系統(tǒng)等設(shè)備組成的機載雷達半實物射頻仿真試驗系統(tǒng),能夠模擬多目標環(huán)境、復(fù)雜電磁環(huán)境、復(fù)雜作戰(zhàn)環(huán)境,具備機載雷達系統(tǒng)性能的開/閉環(huán)測試和評估能力,滿足機載雷達射頻仿真試驗需求。
總控軟件是機載雷達半實物射頻仿真系統(tǒng)的顯示控制核心,它通過以太網(wǎng)、反射內(nèi)存網(wǎng)等方式與各參試設(shè)備相連,具備對整個仿真系統(tǒng)和試驗過程進行參數(shù)配置、試驗進程管理和監(jiān)控等功能。一般試驗總控軟件是根據(jù)參試設(shè)備的數(shù)據(jù)協(xié)議開發(fā)解析模塊,未嚴格劃分軟件功能模塊和數(shù)據(jù)交互接口,當試驗參試設(shè)備發(fā)生變化或數(shù)據(jù)交互協(xié)議發(fā)生更改時,相應(yīng)的軟件功能模塊將無法重復(fù)使用,往往需要針對新的數(shù)據(jù)交互協(xié)議、接口重新開發(fā)。
為了提高軟件的復(fù)用性,本文提出一種基于模塊化架構(gòu)和可變更數(shù)據(jù)協(xié)議的軟件設(shè)計方法。該方法基于層次化和模塊化的架構(gòu)自頂向下分層級設(shè)計開發(fā)軟件功能模塊,并基于可變更的XML數(shù)據(jù)協(xié)議配置文件實現(xiàn)軟件數(shù)據(jù)接口的配置。該方法將數(shù)據(jù)交互協(xié)議與軟件功能模塊隔離,當試驗參試設(shè)備發(fā)生變化或數(shù)據(jù)交互協(xié)議發(fā)生更改時,無需重新開發(fā)軟件功能模塊,縮短軟件開發(fā)周期,便于軟件移植和升級。
總控軟件支持仿真試驗的參數(shù)設(shè)置、試驗進程控制、狀態(tài)監(jiān)控,具備與參試設(shè)備數(shù)據(jù)傳輸通信的功能。仿真開始之前,總控軟件對各參試設(shè)備進行初始化配置;仿真開始后,總控軟件控制整個系統(tǒng)的運行,包括開始、暫停、停止,并接收各參試設(shè)備的狀態(tài)回報和部分試驗數(shù)據(jù),完成試驗過程監(jiān)控和可視化顯示。同時,通過總控軟件可以遠程登錄參試設(shè)備進行參數(shù)加載、文件傳輸?shù)炔僮鳌?/p>
總控軟件自頂向下設(shè)計為三層架構(gòu):應(yīng)用服務(wù)層、基礎(chǔ)功能層、數(shù)據(jù)接口層,如圖1所示。應(yīng)用服務(wù)層,主要是人機交互界面;基礎(chǔ)功能層,分為業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層兩部分,能夠?qū)Ψ抡嬖囼灮芈分械母髟O(shè)備發(fā)送控制指令和參數(shù),同時接收各設(shè)備返回的狀態(tài)字和試驗數(shù)據(jù);數(shù)據(jù)接口層,實現(xiàn)總控軟件與參試設(shè)備的底層通信,主要包括以太網(wǎng)通信模塊、反射內(nèi)存網(wǎng)通信模塊。
圖1 總體架構(gòu)
本軟件采用兩種方法提高了總控軟件的復(fù)用性:
① 通過架構(gòu)設(shè)計將各層級間的功能模塊相互獨立,即將軟件中與參試設(shè)備和數(shù)據(jù)交互協(xié)議無關(guān)的功能模塊化,提高軟件模塊的重用性;
② 針對依賴數(shù)據(jù)交互協(xié)議較大的數(shù)據(jù)收發(fā)、數(shù)據(jù)解析等功能,提出一種基于配置文件的接口協(xié)議配置方法,將數(shù)據(jù)交互協(xié)議與軟件功能模塊隔離,方便軟件功能模塊移植復(fù)用。
設(shè)計的總控軟件通過以太網(wǎng)、反射內(nèi)存網(wǎng)與參試設(shè)備相連,采用面向?qū)ο蟮姆绞椒謩e實現(xiàn)通信功能。
(1) 以太網(wǎng)通信模塊。
以太網(wǎng)通信模塊主要用于各參試設(shè)備之間數(shù)據(jù)文件傳輸以及互聯(lián)設(shè)備遠程登錄。
本仿真系統(tǒng)選用Intel 82573系列網(wǎng)卡作為以太網(wǎng)絡(luò)節(jié)點板卡,采用基于Socket的網(wǎng)絡(luò)通信方式實現(xiàn)總控系統(tǒng)與其他參試設(shè)備之間的通信。具體方法為通過創(chuàng)建Socket,實現(xiàn)Socket與本地IP地址以及指定端口號的綁定,以此協(xié)調(diào)和控制各個節(jié)點機之間的UPD通信,實現(xiàn)數(shù)據(jù)的發(fā)送、接收[3-4]。
(2) 反射內(nèi)存網(wǎng)模塊。
反射內(nèi)存網(wǎng)是一種專用的高速實時網(wǎng)絡(luò),主要由反射內(nèi)存卡和光纖連接組成,每個網(wǎng)絡(luò)節(jié)點的內(nèi)存區(qū)域中的數(shù)據(jù)在整個網(wǎng)絡(luò)中處于共享狀態(tài)[5]。
本仿真系統(tǒng)基于VMIPCI-5565反射內(nèi)存卡搭建反射內(nèi)存網(wǎng)絡(luò),采用HUB的星形連接方式實現(xiàn)了各參試設(shè)備之間的試驗數(shù)據(jù)、試驗控制命令與試驗狀態(tài)字的傳輸(見圖2)。具體方法為定義每個參與設(shè)備的反射內(nèi)存卡的Node ID值(區(qū)分參與設(shè)備的身份);分配反射內(nèi)存網(wǎng)的存儲空間,明確每個設(shè)備存儲空間的首地址和數(shù)據(jù)長度;再定義每個參數(shù)的地址和長度。參試設(shè)備之間的數(shù)據(jù)交互是通過發(fā)生中斷事件來實現(xiàn)的,具體而言是調(diào)用RFM2gWrite、RFM2gEnableEvent、RFM2gSendEvent等函數(shù)來實現(xiàn)交互[6]。
圖2 機載雷達仿真系統(tǒng)抽象通信模型
數(shù)據(jù)訪問層中的接口協(xié)議配置模塊具有非常重要的功能,承載著業(yè)務(wù)邏輯層與數(shù)據(jù)接口層之間的數(shù)據(jù)交互和解析功能。主要是根據(jù)數(shù)據(jù)交互協(xié)議完成軟件接口的配置,實現(xiàn)與數(shù)據(jù)接口層之間的對接;實現(xiàn)與業(yè)務(wù)邏輯層之間的試驗控制命令、參試設(shè)備狀態(tài)字和試驗數(shù)據(jù)的發(fā)送/接收等功能。
(1) 接口配置。
通過配置文件對通信接口進行配置,配置文件是按照xml文件的形式實現(xiàn)并規(guī)范[7],如圖3所示。對于總控軟件與不同參試設(shè)備的數(shù)據(jù)接口,可以按照協(xié)議修改配置文件,將需要傳輸?shù)臄?shù)據(jù)按照約定的數(shù)據(jù)協(xié)議進行定義和修改,實現(xiàn)了接口協(xié)議的可變更。
圖3 數(shù)據(jù)接口配置文件
(2) 數(shù)據(jù)的打解包。
總控軟件在數(shù)據(jù)收發(fā)過程中,是按照正在使用的通信板卡的數(shù)據(jù)協(xié)議進行數(shù)據(jù)的打解包,不同的通信板卡有不同的打包和解包算法。例如傳輸?shù)脑囼灁?shù)據(jù)、試驗控制命令等,就要按照約定的反射內(nèi)存網(wǎng)數(shù)據(jù)協(xié)議進行打包和解包。
在打包和解析過程中,需要檢查報文的合法性,幀頭不正確的報文會被認為解包失敗。同時,為避免數(shù)據(jù)傳輸中的精度損失,需要進行一定的數(shù)據(jù)類型變換和比例縮放。例如在打包發(fā)送時,需要將浮點型轉(zhuǎn)換為無符號整型,在解包時進行反變換;如果傳輸?shù)臄?shù)據(jù)數(shù)值較大,需要按照一定的比例進行變換,如目標距離、載機經(jīng)緯度等數(shù)據(jù),需要進行比例縮放確保精度。
接口協(xié)議配置將數(shù)據(jù)交互接口與業(yè)務(wù)邏輯層中的軟件功能模塊完全隔離,避免因為數(shù)據(jù)接口或協(xié)議更改導(dǎo)致代碼重新編寫的問題,提髙代碼的重用性。
業(yè)務(wù)邏輯層向下借助數(shù)據(jù)訪問層進行數(shù)據(jù)讀寫,向上為應(yīng)用服務(wù)層提供服務(wù),完成邏輯定義和邏輯執(zhí)行。業(yè)務(wù)邏輯層主要由參數(shù)配置模塊、試驗進程控制模塊、狀態(tài)監(jiān)控模塊組成,以下對每個模塊的功能進行具體介紹。
2.3.1 參數(shù)配置模塊
參數(shù)配置模塊主要包括界面參數(shù)獲取、參數(shù)有效性檢查兩項功能。
(1) 界面參數(shù)獲取。
試驗中在總控軟件界面上設(shè)置試驗任務(wù)參數(shù)、雷達參數(shù)、通道參數(shù)、參試設(shè)備參數(shù),通過從界面上獲取參數(shù)實現(xiàn)總控軟件對整個試驗的設(shè)置。
(2) 參數(shù)有效性檢查。
總控軟件從界面上獲取參數(shù)后,需要通過參數(shù)有效性檢查功能驗證所設(shè)置的參數(shù),以及從全局角度驗證設(shè)置參數(shù)的合理性。在參數(shù)設(shè)置合理的情況下進行系統(tǒng)參數(shù)配置,如果參數(shù)不合理,向用戶發(fā)出告警。
2.3.2 試驗進程控制模塊
機載雷達射頻仿真試驗的試驗流程包括試驗準備階段、試驗執(zhí)行階段,如圖4所示。
圖4 試驗流程圖
(1) 試驗準備階段。
總控軟件通過掃描設(shè)備、任務(wù)分配、設(shè)備初始化等步驟,可以根據(jù)不同的試驗任務(wù)選擇參加本次試驗的設(shè)備進行初始化配置。
(2) 試驗執(zhí)行階段。
試驗準備階段完成后進入試驗執(zhí)行階段,即開始試驗進程控制,根據(jù)功能可分為自檢進程控制和仿真進程控制。只有在自檢進程成功后,才能開始仿真進程。
① 自檢進程控制。
在自檢狀態(tài)下,由總控軟件發(fā)出自檢指令,所有參試設(shè)備在接收到指令后進行自檢,并返回自檢結(jié)果??偪剀浖谧詸z進程中只發(fā)送自檢開始控制字,并設(shè)定一定的時限,參試設(shè)備超時未返回自檢信息,則認為自檢失敗。
② 仿真進程控制模塊。
仿真進程主要控制仿真模式下的雷達仿真試驗。通過總控軟件設(shè)置仿真試驗?zāi)J胶头抡鎱?shù),各參試設(shè)備根據(jù)仿真模式?jīng)Q定是否參與試驗和接收參數(shù)。總控軟件控制整個仿真系統(tǒng)的仿真進程,包括參數(shù)下載、開始仿真、暫停仿真、繼續(xù)仿真、停止仿真和急停斷電。仿真進程控制的工作流程如圖5所示。
圖5 仿真進程控制流程圖
2.3.3 狀態(tài)監(jiān)控模塊
狀態(tài)監(jiān)控模塊主要是刷新參試設(shè)備狀態(tài)并反饋至總控軟件界面顯示,主要包括狀態(tài)刷新、圖表刷新兩個功能,刷新頻率為50 ms/次。
(1) 狀態(tài)刷新模塊。
狀態(tài)刷新模塊主要是通過以太網(wǎng)對仿真系統(tǒng)中各參試設(shè)備的狀態(tài)進行實時刷新顯示在軟件界面上,并能夠以不同的顏色對不同的狀態(tài)進行區(qū)分。狀態(tài)轉(zhuǎn)換圖如圖6所示。
圖6 參試設(shè)備四種狀態(tài)轉(zhuǎn)換圖
試驗開始前各個設(shè)備處于Offline狀態(tài)(參試設(shè)備離線),當掃描設(shè)備時,掃描成功的設(shè)備狀態(tài)轉(zhuǎn)為Normal(設(shè)備連接正常),掃描失敗的設(shè)備狀態(tài)認為Error(設(shè)備連接斷開)。在正常狀態(tài)下,當任務(wù)分配成功后設(shè)備狀態(tài)轉(zhuǎn)為Enable(可以對設(shè)備進行遠程登錄操作),任務(wù)分配失敗設(shè)備狀態(tài)仍為Normal,在Normal和Enable下如果網(wǎng)絡(luò)連接斷開直接轉(zhuǎn)為Error,在Error情況下掃描設(shè)備成功只能轉(zhuǎn)為Normal。
(2) 圖表刷新模塊。
在試驗過程中,圖表刷新模塊會對參試設(shè)備的狀態(tài)數(shù)據(jù)通過圖表的形式實時更新顯示在軟件界面上。
應(yīng)用服務(wù)層主要是人機交互界面(見圖7),按照功能的不同,該界面可以進一步分為菜單欄、工具欄、狀態(tài)顯示區(qū)、參數(shù)設(shè)置區(qū)、狀態(tài)顯示區(qū)等幾個部分。
圖7 人機交互界面
通過軟件界面可根據(jù)不同的試驗任務(wù)進行自檢、掃描設(shè)備、任務(wù)分配、參數(shù)設(shè)置、初始化等試驗準備工作,以及進行開始試驗、停止試驗、斷電急停等試驗進程控制;軟件通過接收業(yè)務(wù)邏輯層發(fā)送的數(shù)據(jù)并實時刷新軟件界面,將參試設(shè)備狀態(tài)、試驗進程在界面上進行圖表顯示。
目前,本軟件已經(jīng)用于某項目的仿真試驗中。在該仿真系統(tǒng)中,總控計算機通過反射內(nèi)存網(wǎng)、以太網(wǎng)與轉(zhuǎn)臺、載機/目標環(huán)境模擬系統(tǒng)、視景系統(tǒng)、陣列、各類模擬器通信,系統(tǒng)硬件結(jié)構(gòu)見圖8。圖9是某型機載雷達天線校準試驗的試驗界面。
圖8 系統(tǒng)硬件結(jié)構(gòu)
圖9 某型機載雷達天線校準試驗界面
本文基于層次化、模塊化的軟件架構(gòu),以及可變更的接口協(xié)議設(shè)計開發(fā)了機載雷達半實物射頻仿真試驗系統(tǒng)的總控軟件,解決了傳統(tǒng)總控軟件不具備復(fù)用性的問題,并提高了軟件的可擴展性和可維護性。本文設(shè)計開發(fā)的總控軟件具備試驗參數(shù)配置、試驗進程控制、試驗狀態(tài)監(jiān)控等功能,實現(xiàn)了通過軟件選擇參試設(shè)備、設(shè)置試驗參數(shù)的方式對試驗?zāi)J竭M行動態(tài)配置,擴展了仿真試驗系統(tǒng)的功能。目前該軟件已用于機載雷達半實物射頻仿真試驗,取得了較好的使用效果。但該軟件還有一些可改進之處,后續(xù)還會根據(jù)需求發(fā)展變化擴展出許多不同的模塊功能,進一步提高軟件的實用性。