陳育良CHEN Yu-liang;盛沛SHENG Pei;徐學文XU Xue-wen
(海軍航空大學,煙臺 264001)
當前,海軍戰術導彈技術陣地測試專業人員的培養及訓練還是依托實裝進行,這種方式存在著3 個方面的問題:一是無法滿足大批次人員集中訓練、彈型覆蓋不全;二是無法做到故障現象隨意設定;三是會縮短實裝壽命[1]。訓練仿真系統為上述問題的解決提供了途徑。然而,就目前的現狀來看,隨著各類新型裝備大量配發部隊,傳統的訓練仿真系統也暴露出一些弊端。這些模擬器內部、系統間耦合嚴重,升級、剪裁困難,且隨著所使用的貨架產品淘汰、研發人員離崗等問題無法升級或維修。每年有大量訓練模擬器淘汰和產生,這些模擬器動輒幾百上千萬,造成了巨大的資源浪費。因此,研發一種可以隨意更改、剪裁、升級、維修的新型訓練模擬器就顯得尤為重要。
訓練仿真系統常用的仿真方法有物理仿真和軟件仿真[2]。其中軟件仿真往往有一定的局限性,逼真程度不高,訓練效果不如物理仿真;而物理仿真往往投資大,周期長、升級維修困難。隨著武器裝備的更新換代,訓練仿真系統自然需要進行同步的升級改造,其面板的變更、剪裁、添加是最常見的需求[3][4]。然而目前大部分的訓練仿真系統卻難以實現上述目標,這是因為在其設計時就沒有考慮這些需求,往往在其內部存在大量的耦合關系,布線隨意、控制邏輯混亂。為了解決此問題,本文提出一種模擬訓練系統模塊設計方案,從降低人機交互界面到仿真程序間得耦合得角度出發,進行可重構模擬器設計。從頂層設計層面解決面板變更所帶來的各種耦合問題[5]。
測試訓練模擬系統實際上是在物理和虛擬兩個層面上實現人機交互[6-8]。其人機交互界面越接近實物、交互邏輯越真實,那么其仿真訓練效果越好。因此,模擬系統搭建的核心工作有四個:一是物理及虛擬人機交互界面的制作,二是物理人機交互界面(即各面板)的數據采集工作;三是采集控制程序的編寫;四是應用層的構建工作。如圖1 所示四者之間主要包括三種耦合:系統模型與外部接口間的耦合、各人機界面后采集系統間的耦合以及控制程序之間的耦合。這些耦合決定了對系統進行必要的升級、改造時所做出的必要變更必然會對變更之外的耦合關系進行修改,從而增加了調整難度。那么,可重構設計的重點就是通過合理的設計采集系統,使得上述耦合關系降到最低,進而降低系統的變更難度。

圖1 可重構模塊構成原理圖
為了實現上述技術目標,并且能夠做到用較少的資源實現系統需求,提出以下幾點設計原則:
①從屬原則。采集板卡屬于模塊,采集板卡能夠通過組合的方式構建多種模塊;模塊屬于物理人機界面,必須能夠為人機界面挑選(組合)出合適的模塊。
②線性原則。為了降低系統耦合程度,要求所有采集板功能必須盡可能單一。模塊可以是多功能的,但是組成其的采集卡必須是功能越簡單越好。
③即用原則。所設計或選擇的板卡必須易于重構,即其發生重構、增刪時無需重新設置。
④統一原則。為了統一管理數據,模擬訓練主程序必須通過模塊調用人機交互面板上的各接口。無論電器連接如何實現,模擬訓練主程序都是在調用內存中的數據,而這些數據只有在使用時才被賦予特定的物理意義;在使用前,它們僅代表各模塊的狀態。
可重構模塊構建思路可以總結為:盡量減少單個人機交互界面被調整、剪裁、添加的時候,其它界面所受到的影響。根據經驗,采集量主要分為開出量、開入量、模出量和模入量等。合理地設計這些物理量的每一條傳輸通路,能夠使上述工作變為多個簡單傳輸通路的變更。那么人機交互界面的重構就變成了多個模塊及其對應的傳輸通路的變更工作的簡單疊加,簡化了調整過程。
本文提出的可重構模塊采用了可選板卡組合的方式,任何模塊可以根據需求由5 種板卡自由組合,圖2 是其構成原理圖。其中TMS320F2812 及其外圍電路作為主板,是每個模塊的核心部件。主板作為每個模塊的控制及收發核心在每個模塊內必須有且僅有一個,而且在整套系統中的地址必須是唯一的。主控單元通過PC104 總線與5 類采集板卡相連。采集板卡采用FPGA 作為核心部件,利用FPGA 的靈活性降低開發難度。由于本文是從頂層設計層面進行討論,主板及采集板卡的電路設計不是討論的重點,因此在此不做贅述。

圖2 可重構模塊構成原理圖
可重構模塊的應用難點在于解決消息的點對點傳輸問題。即如何使得上位計算機能夠準確地將所采集的數據存儲到指定變量內等待調用。因此,消息傳輸的規則是重點問題。為了確保板卡引腳狀態與上位機內數據的一致性,本文提出的消息傳輸及拆包規則是:每個DI 引腳占用單個位,AI、AO、PWM 等量均占用16 位。那么板卡引腳數據的存儲模型如圖3 所示。

圖3 可重構模塊存儲模型示意圖
①首先模塊內的采集板卡在上電后通過其標識檢測引腳進行類型識別。
②模塊主板根據步驟①所獲得的類型識別結果在內存中形成相應的板卡類型碼供形成通訊報文時使用。
③根據輸入或輸出的不同,板卡根據上位機指令驅動指定板卡進行相應操作并存入內存,或根據指令將內存中的數據傳輸給指定板卡。
④主板調用包含步驟②類別碼在內的內存數據組成報文,數據報文按照模塊地址、板卡類型、偏移量及數據的格式進行傳送。
⑤上位機接收到數據以后,按照上述步驟進行拆包。
⑥將拆包數據存儲在模塊相應變量內以待調用。
上世紀90 年代,為實現飛機軟件的結構化(反映系統模塊劃分和協作之間的關系),由堪耐基梅隆大學軟件研究所為軍方設計了一種稱為結構化模型的軟件架構[9-10]。它的主要設計亮點是把一個復雜系統拆分為幾個小系統、小單元,分包給多個開發組進行并行開發,這樣既分擔了風險又使得任務周期大大縮短[11-12]。
圖4 所示是一個經典的結構化模型,把整個復雜系統分割成管理層和應用層兩個大類,進一步又細分為仿真組件、子系統控制器、周期調度器、事件處理器和時間同步器五個組件,其功能如下:

圖4 結構化軟件架構示意圖
①仿真組件存放現實對象的各種模式,將各種模式開發為對應虛擬模型。
②子系統控制器存放各單元之間的接口,對子系統進行管控。
③周期調度器執行周期性仿真任務的調度管理。
④事件處理器進行信息交互。
⑤時間同步器即時鐘管理器。
本文根據上述軟件架構設計方法進行適應性改進,將軟件分割為三個層次:管理層、應用層和通訊層。需要說明的是,應用層是可重構訓練模擬器軟件設計的核心環節,它決定了設計出的產品能否滿足預期的目標,即剪裁靈活、維修升級方便。將應用層劃分為至少三個層次,即環境組件、接口組件以及外部模型組件。整個應用層架構關系如圖5 中所示。相較于經典結構化模型架構額外添加了通訊層。該層面向的對象是所有模型,并且整個系統還可以通過通訊層與外部仿真模型進行通訊。該層可供采用的火線1394、以太網等技術較為成熟[13-14],再此不再贅述。

圖5 本文軟件架構設計
本文方法的好處是能夠利用有限的板卡資源組合出多種可重構模塊,同時能夠保證上位機所獲取得數據與人機交互界面上得所有終端有效關聯。當模擬訓練系統發生重構時,板卡可以被拆解用于構建新的模塊,節省了成本和時間。