謝前進,張梅梅,張 俊,汪高峰,王利祥
(中航工業洪都,江西南昌330024)
在航電系統地面聯試中,由于航電系統頂層設計經常需要修改和完善,因而航電系統也需要進行相應的修改和調試。一般而言,對航電系統的修改和調試需要相應的航電系統設備配合才能完成。但是,在型號試驗前期,通常只有部分航電成件參與航電系統的調試、試驗,因此,為了保證試驗中航電系統的完整性,需要使用各種航電系統設備仿真器來替代真實成件,仿真各種相關的總線信號。現階段,國內各飛機總體所開發的航電系統設備仿真器都是根據某個具體航電設備的要求“量身定做”的,一般是直接用軟件代碼描述被仿真對象的行為和屬性等信息,再配合一些底層硬件接口來實現的。這樣的方法有兩個缺點,一個是缺乏通用性,不同航電設備的仿真系統不能通用;再一個是缺乏靈活性,因為它直接將被仿真對象的信息描述于軟件代碼中,而這些信息在航電系統的設計過程中可能經常需要改變,這時就要頻繁地修改仿真軟件。按照軟件工程的要求,軟件的每次修改都要經過嚴格的測試,這就使得仿真系統難以維護。
為了克服現有航電系統仿真器的不足,該仿真平臺通過建立仿真數據庫,從待仿真的航電系統設備中的接口信息抽象出屬性和行為,然后用數據庫的方式來描述。仿真軟件的主要功能是在接收到激勵數據時通過對仿真數據庫分析,進行相應的數據處理,返回合理的響應數據。該仿真平臺采用“仿真軟件+仿真數據庫”的系統結構,通過數據庫來描述待仿真的航電設備總線接口信息的抽象屬性和行為,實現仿真軟件和仿真對象的分離,從而使該仿真平臺具備了通用性和可擴展性。

圖1 通用仿真平臺和非通用仿真設備比較
參照圖1,與非通用的仿真設備(圖1a)相比,通用仿真平臺(圖1b)的主要變化是增加了仿真數據庫,將原來用代碼實現的被仿真設備接口的信息抽象出來用仿真數據庫描述。在仿真時,仿真軟件根據所接收到的激勵數據對仿真數據庫進行分析和相應的數據處理,返回符合設計要求的響應數據。這種結構實現了仿真軟件與仿真對象的分離,使得仿真軟件不再只是針對某個航電設備專用,而是針對總線式航電系統的通用仿真軟件。同時,由于仿真數據庫的填寫和修改都很容易,所以該仿真平臺具有很好的靈活性。該仿真平臺中還增加了網絡接口卡,用于連接航電系統中飛行數據源,仿真設備可以從飛行數據包中取出相關的參數來更新自身狀態,實現動態仿真。總線接口卡為該仿真平臺提供所需的電氣接口和物理特性,根據目前航電系統所使用的總線類型,選用的接口卡包括1553總線卡、422總線卡和429總線卡。這就使該仿真平臺具備3種常用的接口卡,能夠對不同的航電設備進行仿真,實現了總線接口仿真。
在實際工作中,設計人員用接口控制文件和詳細設計需求文件來定義航電設備的行為。其中,詳細設計需求文件主要用來描述設備接收到總線數據或指令后的行為、狀態切換和響應,而接口控制文件用來描述接收和響應的數據塊的格式,兩種文件結合在一起就可以作為航電設備的設計要求。為了用軟件描述航電設備,可將航電設備的行為抽象為一個接收到特定激勵并返回特定響應的激勵響應體,并根據接口控制文件的描述,將數據塊的描述要點抽象出來,在軟件中設定設備的激勵響應行為和數據。基于以上的考慮,本平臺將對航電系統各功能組成部件進行抽象,將航電系統各部件的總線行為歸納為各種數據庫表格,完成航電部件的建模過程。
仿真平臺需要對航電系統的422設備、429設備、1553總線設備進行仿真,根據該仿真平臺要實現的功能以及各功能之間的關系,將仿真系統軟件分為以下3個主要部分:初始化模塊、網絡數據處理模塊、主仿真模塊。
初始化模塊主要是將仿真數據庫中的各個表格加載到內存中,并按照各表之間的聯系重新鏈接,另外提供對仿真數據完整性的檢查。初始化模塊會按照硬件資源表中的信息對硬件進行初始化。初始化模塊也會檢測網絡連接情況、初始化網絡接口,此外初始化用戶界面和建立仿真數據記錄文件的工作也是在該部分完成的。
網絡數據處理模塊主要負責處理飛行數據源送出的動態飛行數據包,實現動態仿真。飛行數據源利用UDP協議定時發出動態飛行數據包。UDP協議只規定了接收端的端口號而不指定IP地址,所以網絡上的多臺計算機可以用同一端口號同時接收通過UDP協議傳送來的數據,從而保證了多臺仿真計算機動態仿真的同步性。仿真軟件接收到網絡數據包后,即查找網絡數據映射表,根據源數據和目的數據間的對應關系依次轉換,刷新目的數據的值。這就使得仿真設備的狀態跟隨飛行數據源上虛擬飛機的飛行過程變化,從而實現了動態仿真。
主仿真模塊是仿真軟件的核心,主要負責接收總線上傳來的激勵數據塊,然后按照仿真數據庫的要求對激勵數據進行處理并返回對應的響應數據。在仿真過程中,系統接收到外部的激勵數據后,仿真軟件將按照激勵數據的來源及內容并配合其它輔助的檢索詞在激勵響應表及數據塊表中檢索。在檢索到相應的記錄后,仿真軟件首先將接收到的數據按照數據元素表中的處理方式進行處理,并將處理結果更新到數據元素表中,仿真軟件將按照激勵響應表填寫的返回塊名稱和返回塊標識到數據塊表中檢索響應數據塊,組織返回響應,比如確定系統響應的次數,響應的周期以及通過哪一子地址返回等。全部響應數據塊返回完畢后,仿真軟件會將這個激勵響應過程中的數據保存到仿真記錄文件中以備回放之用。
系統對實時性要求較高,一般的數據刷新都在50ms以內,在軟件實現上,采取了以下兩點措施以提高仿真的實時性。
1)在軟件初始化時,將仿真數據信息加載到內存,仿真運行過程中不再檢索硬盤上的仿真數據信息,由于計算機訪問內存的速度遠遠高于訪問硬盤的速度,因而仿真速度大大提高;
2)使用多線程技術,將處理底層板卡事件和響應用戶事件的代碼置于不同線程。實際測試表明,這些措施極大地提高了軟件的實時性,滿足了仿真平臺對實時性的要求。
仿真平臺硬件采用計算機結合接口板卡的結構,計算機是仿真系統軟件運行平臺,而接口板卡是各種被仿真設備接口的硬件實現。系統硬件由一臺4U工控機插入429卡、422卡組成429、422仿真計算機。429卡和422卡均為8入8出的PCI總線卡,由一臺2U工控機插入1塊雙通道1553B總線卡組成1553設備接口仿真器。采用以上硬件結構可保證對各種航電系統設備仿真的硬件支持。
仿真數據庫是通用仿真平臺的一個設計重點,因為它要描述被仿真對象的行為和屬性等方面信息。為了確定仿真數據庫的結構,對仿真航電設備可能需要的信息進行抽象:
1)硬件信息:
航電設備接口部分的硬件信息,包括了各種接口類型及其相關參數,如1553總線設備的RT號、422總線設備的波特率以及429總線設備的通訊速率等信息;
2)激勵響應信息:
航電設備接口仿真過程中的數據、行為以及激勵響應處理方式;
3)設備狀態信息:
仿真設備所有的自身狀態信息,比如傳感器數據,這些狀態應該顯示在仿真界面上并容易被修改;
4)網絡數據映射信息:
飛行數據源發出的網絡數據包中含有多種設備的參數,由于每個航電設備所使用的參數只是該網絡數據包的一部分,因此需要為仿真設備從中選出和該設備有關的參數,并指定這些參數與設備信息之間的映射關系。

圖2 仿真數據庫設計原理
根據上述要求,提出了如圖2所示的仿真數據庫的組成結構。它是由硬件資源表、網絡數據映射表、激勵響應表、數據塊表、條件表、數據元素表和設備狀態表共7類表格組成。硬件資源表和網絡數據映射表在仿真數據庫中是唯一的,而另外5類表格的個數由用戶所需仿真設備的個數決定,并且格式也因設備的總線類型不同而略有不同。硬件資源表主要用于記錄仿真設備的硬件接口信息,它包括設備名稱、設備類型和相關的幾個參數 (如1553設備的RT號、422設備的通道號和波特率等)。每個仿真設備在硬件資源表中必須有且僅有一條記錄。激勵響應表、數據塊表和數據元素表組合起來用于描述航電設備接口的行為。因為設備的激勵響應數據多表現為數據塊的形式,所以用數據塊表來描述所有數據塊的信息。而數據塊又是由多個數據元素組成,所以用數據元素表進一步描述數據塊的內部信息。激勵響應表主要用來記錄仿真設備所有激勵響應的對應關系。以1553總線設備為例,它的激勵響應表主要由以下3部分組成:激勵數據塊的來源及內容(包括激勵數據分地址、激勵數據塊名稱)、響應數據塊的去向及內容(包括響應數據分地址、響應數據塊名稱)、返回響應的行為描述(包括是否返回響應、返回次數、返回周期、返回延遲、下一響應塊等)。激勵響應表通過數據塊名稱與數據塊表連接。數據塊表記錄了激勵響應表中的所有數據塊,它包括數據塊名稱、數據塊描述、包含的數據元素數及其組成結構。1553總線設備數據塊的組成結構一般為控制字(0~M個)+數據字(0~N個)。控制字的內容是不變的,可直接填于表中配合激勵響應表中的其它信息用于激勵數據的檢索;數據字內容是變化的,所以將它們的索引碼填于表中,根據索引碼到數據元素表中查找每一個數據字的內容和處理方法等。數據塊表通過元素的索引碼與數據元素表連接。數據元素表用于描述數據塊中所有數據元素的處理方法。處理方法多是將總線上傳輸的二進制數值轉換成具有物理意義的十進制數值或反之,這種轉換通常具有線性關系,所以數據元素表主要描述數據元素的線性處理方法,它主要包括兩部分:元素描述(包括元素名、索引碼)和處理方法描述(包括是否處理、符號位、數據高位、數據低位、比例和偏移等)。設備狀態表中包含所有跟設備自身狀態信息有關的數據元素,它包括元素名、元素索引碼和元素默認值。在仿真過程中這些元素被顯示在界面上,使用戶可以隨時修改這些狀態。修改后通過索引碼更新數據元素表中相應的數據元素。網絡數據映射表主要用于描述網絡數據包的數據(源數據)與仿真設備的狀態(目的數據)之間的映射信息,它包括設備名稱、源數據的個數、源數據偏移、源數據類型、目的數據索引號以及處理函數等信息。目的數據通過索引碼與數據元素表的數據相連。
該仿真平臺在某型機航電系統地面聯試中得到了應用。在試驗中,本仿真平臺對多個航電系統設備進行了仿真,有力的支持了航電系統試驗,大大縮短型號研制周期,節省研制成本,方便了軟件開發調試和航電系統試驗驗證。
本仿真平臺采用仿真數據庫描述航電系統設備的接口信息,以填表的方法,用戶可以通過在仿真數據庫中填寫不同的仿真要求來仿真不同的設備,將航電設備的接口特性輸入到該仿真平臺中。在此平臺上,不同的設備只需填寫不同的仿真數據庫表即可構建相應的仿真器,不需要修改軟件代碼,因此具有通用性和靈活性。由于對仿真數據庫的填寫和修改都很簡單,因此使用本平臺構建和修改航電系統仿真器方便快捷,大大加快了航電設備仿真器的開發速度,減少了開發工作量和時間。該仿真平臺已經在某型機的航電系統地面聯試中得到應用,取得了良好的效果。
[1]饒學軍,陳紅林.慣導仿真系統的設計 [J].系統仿真學報,2005,17(3):617-619.
[2]張健東,高曉光,吳勇.綜合航電顯控仿真系統的設計與實現 [J].火力與指揮控制,2006,31(2):40-43.
[3]李海鷗,張忠亭,姜守達.基于VXI總線的通用測試軟件研究[J].高技術通訊,2000,10(2):75-77.