(中國(guó)空空導(dǎo)彈研究院,河南 洛陽(yáng) 471009)
在作戰(zhàn)飛機(jī)航電綜合試驗(yàn)中,需要進(jìn)行武器/懸掛物綜合試驗(yàn),測(cè)試飛機(jī)對(duì)武器/懸掛物進(jìn)行控制管理的功能和性能。武器/電子艙段參與試驗(yàn)是一個(gè)必不可少的環(huán)節(jié),可以真實(shí)地檢測(cè)飛機(jī)與武器/懸掛物的適應(yīng)性。但由于操作和成本上的限制,在實(shí)驗(yàn)室使用武器/電子艙段很不方便,或者實(shí)驗(yàn)室不具備試驗(yàn)條件,如考核飛機(jī)的武器發(fā)射/投放功能試驗(yàn),并且在試驗(yàn)過(guò)程中需要檢測(cè)飛機(jī)對(duì)武器/懸掛物各種故障模式的處理能力,武器/電子艙段也不具備模擬故障的能力,因此需要研制武器模擬器,實(shí)現(xiàn)對(duì)武器/懸掛物的半實(shí)物模擬,參與航電綜合試驗(yàn)。隨著武器種類(lèi)越來(lái)越多,需要的武器模擬器種類(lèi)也越來(lái)越多,如果針對(duì)每一型武器都研制獨(dú)立的模擬設(shè)備,會(huì)導(dǎo)致模擬設(shè)備的數(shù)量越來(lái)越多、試驗(yàn)成本越來(lái)越大,因此需要研制一套通用武器模擬設(shè)備,以適應(yīng)不同類(lèi)型武器掛載模擬的需求。
GJB 1188A規(guī)定了飛機(jī)與懸掛物之間的電氣接口,標(biāo)準(zhǔn)化了全部的總線、供電、離散線、高帶寬、低帶寬等信號(hào)的特性和部分使用邏輯,使得通用化武器模擬器的研制成為可能。本文針對(duì)GJB 1188A接口的武器,設(shè)計(jì)了一套通用型的武器模擬器,不更換或更換少量的硬件,通過(guò)增加不同類(lèi)型的武器模擬軟件模塊,實(shí)現(xiàn)同時(shí)模擬多型武器的目的。
模擬器模擬武器和發(fā)射裝置,主要設(shè)計(jì)需求包括:
(1) 同時(shí)模擬武器數(shù)量:12個(gè)。
(2) 對(duì)外接口為飛機(jī)與懸掛物間的接口,基本符合GJB 1188A,每個(gè)武器模擬接口包括:
① 總線信號(hào):符合GJB 289A要求,單通道雙余度。
② 供電輸入信號(hào):
直流28 V電源,包括電源1、直流電源2、輔助直流;
直流270 V,1路;
交流115 V,4路。
③ 離散線信號(hào):
輸入信號(hào),6個(gè)地址線,與地址回線構(gòu)成通/斷;投放允許,信號(hào)特性為28 V/斷;
輸出信號(hào):聯(lián)鎖和聯(lián)鎖回線,信號(hào)特性為通/斷。
④ 高、低帶寬信號(hào),包括GPS輸入信號(hào)、視頻輸出信號(hào)、脈沖輸出信號(hào)等。
⑤ 其他非GJB 1188A中規(guī)定的接口信號(hào),包括2路CAN總線、1路投放信號(hào)(輸出,28 V/斷)、1路應(yīng)急投放信號(hào)(輸出,28 V/斷)等。
(3) 武器工作邏輯應(yīng)符合專(zhuān)用規(guī)范的要求。
通過(guò)聯(lián)鎖和聯(lián)鎖回線做為掛載飛機(jī)的狀態(tài);通過(guò)地址線識(shí)別掛點(diǎn)號(hào);作為RT,通過(guò)GJB 289A總線與飛機(jī)進(jìn)行數(shù)字通信;使用來(lái)自飛機(jī)的直流電源、交流電源作為武器用電;通過(guò)高、低帶寬信號(hào)傳輸GPS、復(fù)合視頻等信號(hào)。
武器模擬器采用物理手段模擬武器及其發(fā)射裝置的全部功能,主要功能如下:
① 提供模擬武器的所有對(duì)外電氣接口;
② 其電氣接口、通信接口、工作邏輯和時(shí)序符合武器專(zhuān)用接口控制文件、規(guī)范等頂層要求,工作過(guò)程主要包括掛載、上電、識(shí)別、參數(shù)裝訂、準(zhǔn)備、發(fā)射和離機(jī)等各階段;
③ 運(yùn)行可配置:通過(guò)操作人員對(duì)武器掛載方案的設(shè)置,包括武器類(lèi)型、武器掛載情況等配置,重構(gòu)運(yùn)行任務(wù),可以同時(shí)模擬多種類(lèi)、多數(shù)量武器,目前暫定為可同時(shí)模擬12枚武器;
④ 具有故障模擬的功能,通過(guò)操作人員對(duì)各類(lèi)型武器故障模式的設(shè)置,武器模擬器在運(yùn)行過(guò)程中插入對(duì)應(yīng)的故障;
⑤ 為保證通用性,不模擬電氣負(fù)載,當(dāng)有電氣負(fù)載試驗(yàn)要求時(shí),可在外部接入電子負(fù)載直接與飛機(jī)相連。
為完成武器的半實(shí)物模擬,將武器模擬器從邏輯上劃分為兩個(gè)部分:對(duì)外接口模塊和武器仿真模塊,原理框圖如圖1所示。
對(duì)外接口模塊為物理仿真[1],實(shí)現(xiàn)之前所描述的與飛機(jī)交聯(lián)的各類(lèi)型電氣接口,完成與飛機(jī)的總線通信與電氣信號(hào)交聯(lián)。武器仿真模塊是武器模擬器的核心部分,采用數(shù)字仿真的方式,模擬各型武器的工作邏輯和工作過(guò)程,通過(guò)運(yùn)行駐留在CPU中的軟件完成,它從對(duì)外接口模塊中獲取飛機(jī)對(duì)武器的操作信息,經(jīng)綜合處理后,將武器的行為狀態(tài)通過(guò)對(duì)外接口模塊進(jìn)行輸出,反饋給飛機(jī)。
圖1 武器模擬器原理框圖
采用嵌入式計(jì)算機(jī)的架構(gòu)方式,由嵌入式計(jì)算機(jī)內(nèi)置的功能板卡實(shí)現(xiàn)對(duì)外接口,由武器仿真軟件實(shí)現(xiàn)武器發(fā)控邏輯。嵌入式計(jì)算機(jī)和功能板卡盡量采用COTS產(chǎn)品[2],以提高設(shè)備的標(biāo)準(zhǔn)化設(shè)計(jì)程度。除高、低帶寬信號(hào)外,其他信號(hào)的特性在GJB 1188A中已經(jīng)非常明確,面向一般使用,高帶寬信號(hào)接口設(shè)計(jì)為GPS信號(hào)、復(fù)合視頻信號(hào),低帶寬信號(hào)接口為脈沖信號(hào)。對(duì)外接口留出足夠的余度,以方便擴(kuò)展。
在嵌入式計(jì)算機(jī)內(nèi)部對(duì)各個(gè)功能板卡信號(hào)進(jìn)行梳理,形成N組掛點(diǎn)信號(hào)接口,對(duì)應(yīng)N個(gè)武器,分別接入到設(shè)備的后面板航空插座上,通過(guò)后面板航空插座與飛機(jī)的N個(gè)掛點(diǎn)接口相連。
操作系統(tǒng)采用WindowsXP,采用C++語(yǔ)言進(jìn)行編程,提供圖形化人機(jī)操作界面。
武器模擬器對(duì)外接口復(fù)雜,交聯(lián)信號(hào)類(lèi)型和數(shù)量多,特別是飛機(jī)與武器間信號(hào)的邏輯和時(shí)序關(guān)系有嚴(yán)格的要求,必須滿(mǎn)足實(shí)時(shí)性要求,因此選用PXI[3]架構(gòu)的嵌入式計(jì)算機(jī)。PXI在PCI的基礎(chǔ)上,增加了專(zhuān)用的的系統(tǒng)參考時(shí)鐘、觸發(fā)總線、星形觸發(fā)等機(jī)制,滿(mǎn)足武器模擬器所需的高精度定時(shí)、同步和數(shù)據(jù)通信的要求。在PXI機(jī)箱內(nèi)配置多塊功能板卡,以PXI控制器為核心,組建硬件系統(tǒng),如圖2所示。
機(jī)箱采用NI公司的PXIe-1082機(jī)箱,每插槽具有2 GB/s的專(zhuān)用帶寬和8 GB/s的系統(tǒng)帶寬。PXI控制器是武器模擬器的核心控制部分,采用NI公司的PXIe-8840控制器,四核處理器,2.6 GHz頻率,包括CPU、內(nèi)存和硬盤(pán)等,軟件駐留在硬盤(pán)中,在CPU中運(yùn)行,實(shí)現(xiàn)武器的數(shù)字仿真,通過(guò)其他功能板卡獲取外部輸入信息,將武器的實(shí)時(shí)行為通過(guò)其他功能板卡對(duì)外輸出。
圖2 硬件組成圖
GJB 289A總線通信卡具有單通道雙余度,模擬多個(gè)RT,實(shí)現(xiàn)與飛機(jī)的通信,通信協(xié)議符合GJB 289A。CAN總線具有多路獨(dú)立通道,通信速率為0~1 Mbit/s可調(diào),支持CAN2.0A/B協(xié)議。視頻卡對(duì)外輸出多路復(fù)合視頻,視頻圖像可以受程序控制進(jìn)行圖像縮放、平移、字符疊加等處理,以滿(mǎn)足高度寬信號(hào)的需求。GPS接收卡具有多路GPS接收模塊,接收GPS射頻信號(hào),對(duì)NMEA協(xié)議進(jìn)行解析,通過(guò)RS232總線發(fā)送給PXI控制器,以滿(mǎn)足高帶寬信號(hào)的需求。脈沖卡以FPGA+驅(qū)動(dòng)/放大電路構(gòu)成,在PXI控制器的控制下,對(duì)外輸出脈沖波形,滿(mǎn)足低帶寬的需求。離散量輸入輸出卡采用光電隔離的方式,采集外部的28V/斷開(kāi)、地/斷開(kāi)、通/斷信號(hào),采用繼電器控制,對(duì)外輸出地/斷開(kāi)、通/斷信號(hào)。交直流檢測(cè)卡由信號(hào)調(diào)理電路和采集電路組成,直流270 V、交流115 V信號(hào)經(jīng)信號(hào)調(diào)理電路調(diào)理后,通過(guò)采集電路變換為數(shù)字信號(hào),供PXI控制器讀取。
功能板卡數(shù)量的選取應(yīng)以武器模擬器對(duì)外接口的類(lèi)型和數(shù)量為依據(jù),計(jì)算方法為同時(shí)模擬武器的數(shù)量×單枚武器最大的信號(hào)數(shù)量,并在此基礎(chǔ)上,保證適當(dāng)?shù)念A(yù)留。為避免由于信號(hào)需求變更而引起硬件資源的不滿(mǎn)足,可以提前預(yù)留一些其他類(lèi)型的信號(hào)接口。
3.3.1 軟件框架
為了降低軟件復(fù)雜程度、減少軟件間的耦合程度,軟件采用分層設(shè)計(jì)的架構(gòu)方式,將復(fù)雜的系統(tǒng)功能分解為不同邏輯層次的簡(jiǎn)單功能。將軟件進(jìn)行分類(lèi),功能相似的封裝在同一層,相鄰層之間通過(guò)數(shù)據(jù)封裝進(jìn)行信息傳遞,層與層之間相對(duì)獨(dú)立,每一層執(zhí)行一個(gè)特定的任務(wù),下一層為上一層提供服務(wù),并屏蔽低層任務(wù)執(zhí)行的細(xì)節(jié)。通過(guò)這種體系結(jié)構(gòu),整個(gè)系統(tǒng)劃分為若干個(gè)服務(wù)層次,上一層不需要知道下一層的服務(wù)是如何執(zhí)行的,只需將服務(wù)的內(nèi)容以數(shù)據(jù)交換的形式傳遞給下一層,由下一層執(zhí)行。每一層任務(wù)分工明確,層層調(diào)用,這樣就把一個(gè)大問(wèn)題劃分為若干個(gè)小問(wèn)題,并為每個(gè)小問(wèn)題設(shè)計(jì)一個(gè)單獨(dú)的協(xié)議,使問(wèn)題的解決較為容易[4],并且每一層內(nèi)部的修改和功能擴(kuò)展都不會(huì)對(duì)其他層有影響[5]。按照這種思路將武器模擬器軟件分為4個(gè)邏輯層次:系統(tǒng)功能層、武器仿真層、系統(tǒng)服務(wù)層和物理介質(zhì)層,軟件架構(gòu)如圖3所示[6]。
圖3 軟件架構(gòu)
系統(tǒng)功能層負(fù)責(zé)人機(jī)交互界面顯示與控制、武器配掛方案管理、工作模式切換和任務(wù)調(diào)度,完成武器模擬功能。系統(tǒng)功能層依據(jù)武器服務(wù)描述信息和武器配掛方案,通過(guò)任務(wù)調(diào)度使用武器仿真層提供的武器仿真服務(wù),實(shí)現(xiàn)武器模擬功能,并在顯示界面上顯示武器狀態(tài)信息。系統(tǒng)功能層與武器仿真層之間的接口包括武器通用接口參數(shù)和通用武器模擬函數(shù),不涉及具體的武器特征。
武器仿真層封裝了多類(lèi)型武器的具體行為特征、功能和邏輯,由一系列武器仿真模塊組成,接收系統(tǒng)功能層的調(diào)用、任務(wù)數(shù)據(jù)和指令,按照具體武器特征進(jìn)行執(zhí)行,形成特定的任務(wù)數(shù)據(jù)和發(fā)控邏輯,調(diào)用系統(tǒng)服務(wù)層功能,完成對(duì)外信息交互。
系統(tǒng)服務(wù)層主要包括操作系統(tǒng)和各個(gè)功能板卡的接口驅(qū)動(dòng)函數(shù),為武器仿真層提供系統(tǒng)時(shí)鐘、硬件信號(hào)訪問(wèn)與控制等服務(wù),封裝了具體的硬件特征,通過(guò)物理層實(shí)現(xiàn)對(duì)外接口的電氣信號(hào)交聯(lián)。
物理介質(zhì)層封裝了武器模擬器與飛機(jī)之間的物理交聯(lián)介質(zhì)和硬件接口,負(fù)責(zé)獲取外部電氣接口信息、將控制指令形成電氣信號(hào)輸出,實(shí)現(xiàn)了兩個(gè)設(shè)備之間電氣信號(hào)的交聯(lián)。
3.3.2 軟件通用化設(shè)計(jì)
按照?qǐng)D3建立的軟件,層與層之間相互獨(dú)立,通過(guò)調(diào)用和數(shù)據(jù)傳遞可以獲取下層的服務(wù),每一層內(nèi)部的修改對(duì)其他層不影響。系統(tǒng)功能層按照不同的武器配掛方案調(diào)度不同類(lèi)型的武器仿真模塊,武器仿真模塊通過(guò)系統(tǒng)服務(wù)層獲取外部輸入信號(hào),依據(jù)觸發(fā)條件和武器工作邏輯,模擬武器的全部工作過(guò)程,并將武器工作過(guò)程中產(chǎn)生的外部行為特征,通過(guò)系統(tǒng)服務(wù)層發(fā)送給飛機(jī)。因此當(dāng)仿真武器類(lèi)型增加時(shí),只需增加新的武器仿真模塊,并建立新增武器類(lèi)型與新武器仿真模塊的映射關(guān)系,供系統(tǒng)功能層調(diào)用即可,其他層不需要改動(dòng),或僅需少量的特殊性改動(dòng)。按照這一思路,標(biāo)準(zhǔn)化武器仿真軟件模塊對(duì)外接口參數(shù),個(gè)性化不同類(lèi)型的武器仿真邏輯過(guò)程,按照統(tǒng)一規(guī)范進(jìn)行封裝和調(diào)用,以通過(guò)嵌入采用類(lèi)似軟件插件[7]技術(shù)的武器仿真插件的方法,在系統(tǒng)功能層和系統(tǒng)服務(wù)層中間運(yùn)行,達(dá)到軟件通用化設(shè)計(jì)的目標(biāo)。
武器仿真模塊采用C++方法進(jìn)行設(shè)計(jì),系統(tǒng)功能層根據(jù)武器配掛方案生成實(shí)例進(jìn)行調(diào)用。武器仿真模塊定義如下:
class Weapon_XXX_SIM
{
public:
void Begin_SIM();
virtual ~ Weapon_XXX_SIM ();
Weapon_XXX_SIM();
STRUCT_SMSMSG SMS_message;
STRUCT_IO_1188A SMS_IO_interface;
……
private:
……
};
類(lèi)型為STRUCT_SMSMSG的結(jié)構(gòu)體包含了所有的飛機(jī)與武器的GJB 289A消息,包括接收消息、發(fā)送消息等,結(jié)構(gòu)定義與具體的ICD無(wú)關(guān),STRUCT_IO_1188A包含了所有的非總線信號(hào)。外部任務(wù)負(fù)責(zé)將收到的總線消息、非總線信息傳遞給武器仿真模塊,由武器仿真模塊內(nèi)部進(jìn)行解析執(zhí)行,并將執(zhí)行結(jié)果和狀態(tài)按照ICD格式通過(guò)STRUCT_SMSMSG、STRUCT_IO_1188A傳遞給系統(tǒng)服務(wù)層,向外發(fā)送。
3.3.3 軟件主要流程
軟件主要分為3個(gè)部分,管理和調(diào)度、武器仿真和對(duì)外接口處理。
管理和調(diào)度軟件負(fù)責(zé)完成系統(tǒng)的初始化、自檢測(cè)、人機(jī)交互界面及各項(xiàng)任務(wù)的調(diào)度執(zhí)行。軟件流程圖如圖4所示。
圖4 管理和調(diào)度軟件流程圖
管理和調(diào)度軟件建立了武器類(lèi)型與武器仿真模塊的映射關(guān)系,根據(jù)選擇的武器配掛方案,調(diào)用武器仿真模塊,設(shè)置仿真參數(shù),生成武器仿真運(yùn)行實(shí)例,根據(jù)武器仿真模塊輸出結(jié)果更新顯示畫(huà)面。
武器仿真軟件實(shí)現(xiàn)武器的數(shù)字仿真,每型武器仿真為一個(gè)C++類(lèi)。軟件流程圖如圖5所示。
圖5 武器仿真軟件流程圖
武器仿真軟件首先判斷武器供電是否是首次上電,如果是,則依據(jù)地址線,對(duì)GJB 289A模塊進(jìn)行RT地址設(shè)置,建立與BC的總線通信,開(kāi)始武器的數(shù)字仿真過(guò)程,依據(jù)其他任務(wù)傳遞過(guò)來(lái)的對(duì)外接口數(shù)據(jù)仿真武器階段的功能。
對(duì)外接口處理軟件中建立了基于XML格式的硬件資源配置文件[2],此配置文件建立了物理的武器接口與邏輯的武器接口的映射關(guān)系,按照此映射關(guān)系,調(diào)用硬件驅(qū)動(dòng)函數(shù),實(shí)現(xiàn)對(duì)外接口的輸入和輸出。
Windows系統(tǒng)具有良好的人機(jī)界面,使用方式已經(jīng)被廣大用戶(hù)所接受,同時(shí)提供了大量基于圖形的類(lèi),極大地簡(jiǎn)化了軟件的工作量,但由于其基于消息和非搶占性的特點(diǎn),不能滿(mǎn)足高實(shí)時(shí)性要求的使用需求[8],而武器模擬器的時(shí)間精度控制一般要求在1 ms左右,因此采用Windows+RTX的方式[9],在確保本系統(tǒng)的實(shí)時(shí)性的基礎(chǔ)上,保留了Windows環(huán)境下的編程習(xí)慣。RTX體系結(jié)構(gòu)原理如圖6所示。
RTX對(duì)Windows系統(tǒng)不做任何封裝和修改[2],只在Windows下進(jìn)行安裝,擴(kuò)展整個(gè)硬件抽象層HAL,通過(guò)獨(dú)立的內(nèi)核驅(qū)動(dòng)形成與Windows并列的實(shí)時(shí)系統(tǒng)。
RTX采用基于優(yōu)先級(jí)的線程調(diào)度隊(duì)列,實(shí)現(xiàn)搶占式實(shí)時(shí)任務(wù)的管理和調(diào)度[8],將中斷處理也賦予優(yōu)先級(jí),與處于準(zhǔn)備就緒的任務(wù)進(jìn)行統(tǒng)一調(diào)度。在本文所設(shè)計(jì)的武器模擬器軟件中,將軟件按照實(shí)時(shí)性要求進(jìn)行分類(lèi),將具有實(shí)時(shí)性特征的軟件模塊做為RTSS進(jìn)程運(yùn)行在實(shí)時(shí)子系統(tǒng)中,如武器仿真軟件、硬件控制軟件,其他非實(shí)時(shí)性軟件,如界面顯示與操作、武器配掛管理、參數(shù)設(shè)置等顯示與管理類(lèi)軟件,作為傳統(tǒng)的Win32進(jìn)程運(yùn)行在Win32子系統(tǒng)中。
圖6 RTX實(shí)時(shí)擴(kuò)展原理
在綜合試驗(yàn)環(huán)境中進(jìn)行武器模擬器的試驗(yàn),試驗(yàn)構(gòu)型如圖7所示。
圖7 試驗(yàn)構(gòu)型
陪試設(shè)備為某型懸掛物管理系統(tǒng)和綜合航電系統(tǒng),使用監(jiān)控設(shè)備,采集并記錄武器模擬器的所有輸入輸出信號(hào),可以對(duì)試驗(yàn)結(jié)果進(jìn)行分析,在整個(gè)試驗(yàn)過(guò)程中,武器模擬器同時(shí)模擬12枚多類(lèi)型武器。
試驗(yàn)按照武器流程,分別完成了武器的上電過(guò)程、自檢測(cè)、傳遞對(duì)準(zhǔn)、任務(wù)準(zhǔn)備和參數(shù)裝訂、投放/發(fā)射等步驟。試驗(yàn)結(jié)束后,使用Origin軟件對(duì)監(jiān)控設(shè)備記錄的數(shù)據(jù)進(jìn)行分析,判斷武器模擬的邏輯、時(shí)間關(guān)系、實(shí)時(shí)性是否滿(mǎn)足設(shè)計(jì)要求。模擬某型武器的主要邏輯時(shí)序關(guān)系及數(shù)據(jù)分析如圖8、表1所示。
圖8 武器上電過(guò)程時(shí)序
表1 時(shí)間特性數(shù)據(jù)分析
從表1可以看出,雖然硬件信號(hào)的輸出具有一定的滯后,但軟件執(zhí)行的響應(yīng)時(shí)間滿(mǎn)足實(shí)時(shí)性的設(shè)計(jì)要求。從分析的試驗(yàn)數(shù)據(jù)中可以得出結(jié)論:該武器模擬器的武器仿真邏輯、時(shí)間關(guān)系、實(shí)時(shí)性滿(mǎn)足設(shè)計(jì)要求,電氣接口通信正常。該武器模擬器已經(jīng)用于實(shí)際應(yīng)用。
本文從硬件構(gòu)成、軟件框架設(shè)計(jì)和基于Windows的實(shí)時(shí)性設(shè)計(jì)等方面開(kāi)展了分析和研究,采用了基于COTS的模塊實(shí)現(xiàn)硬件架構(gòu)設(shè)計(jì),提高了硬件標(biāo)準(zhǔn)化、通用化程度,實(shí)現(xiàn)硬件資源覆蓋武器接口的需求,并預(yù)留足夠的資源以滿(mǎn)足升級(jí)的需要;采用Windwos+RTX架構(gòu),提高了系統(tǒng)的實(shí)時(shí)處理性能;軟件設(shè)計(jì)采用分層架構(gòu),使用基于插件技術(shù)的武器仿真軟件模塊,保證了軟件設(shè)計(jì)的靈活性和擴(kuò)展性,通過(guò)增加武器仿真插件,即可實(shí)現(xiàn)軟件的升級(jí)。該設(shè)備的研究,在GJB 1188A標(biāo)準(zhǔn)的貫徹執(zhí)行、機(jī)載武器種類(lèi)不斷快速更新等情況下,可以實(shí)現(xiàn)軟件的快速升級(jí)、減少試驗(yàn)設(shè)備的重復(fù)投入,具有很大的現(xiàn)實(shí)意義和應(yīng)用價(jià)值。