熊 威 衛 鑫 吳延軍
(中國人民解放軍91550部隊 大連 116023)
隨著武器控制技術的不斷發展和1553B總線優越性的體現[1~4],1553B總線技術在新一代武控系統中的應用越來越廣泛。在武器系統試驗和演習中,為了對武控系統功能性能進行分析和故障定位,需要通過1553B總線技術,采集武控系統中的一些關鍵信息[5]。基地現有的武控系統1553B總線檢測設備分別針對不同型號設計,不同型號間不能通用。開展新型號試驗,需要重新開發新的配套檢測系統,這樣不但浪費資源,而且與裝備通用化的發展要求不符[6~7]。針對上述問題,分析了武控系統1553B總線通信特征,綜合運用1553B總線通信技術、數據庫和動態鏈接庫等技術,設計了一套基于1553B總線的武控系統信息檢測裝置。該裝置針對不同型號武控系統,為用戶提供自定義檢測內容與解析規則功能,靈活地實現了不同型號間的通用功能。
在基于1553B總線的武控系統中,接入總線的各子系統分別充當控制器(BC)和遠程終端(RT,最多可有31個),通過1553B總線實現信息無縫融合、快速處理。信息檢測裝置相當于BM,只接收并按照事先設置的篩選條件,快速地從1553B總線上過濾并解析出部分關鍵數據,不向總線發送任何信息[8]。
1553B總線數據以字(命令字、狀態字和數據字)為基本單位進行傳輸[9]。如圖1所示,每個字包含20位(3位同步頭,16位信息段,1位奇偶校驗)。命令字信息段由5位RT地址、1位收發標志、5位RT子地址和5位數據字計數長度(最長可為32個數據字)組成;數據字信息段為有效數據負載,即為檢測目標信息;狀態字信息段由5位RT地址、8位通信狀態和3個備用位組成[10~11]。
1553B總線共具有10種消息類型,其中,常規消息類型(BC→RT、RT→BC、RT→RT)為信息檢測裝置的檢測范圍。分析常規消息塊結構可知,BC→RT消息塊結構為“接收命令字+若干個數據字+RT狀態字”;RT→BC消息塊結構為“發送命令字+RT狀態字+若干個數據字”;RT→RT消息塊結構為“接收命令字+發送命令字+發送方RT狀態字+若干個數據字+接收方RT狀態字”。
1553B總線各終端間接口通信協議、終端表示方法、消息內部格式和數據字結構均由接口控制文檔(ICD)根據控置策略和目標定義,具有很大靈活性,數據解析通常就是根據ICD進行的,因此,ICD定義的靈活性增加了數據解析的難度,這也是檢測系統實現通用功能的難點所在。
硬件設計方面,堅持實用、小型便攜和可擴展的思想,充分考慮使用環境以及研發生產成本和周期,最終采用“加固便攜式工控機+1553B總線測試板卡”的方案,設計了一套小型便攜、外形加固的硬件平臺。板卡用于數據采集,工控機用于參數設置、檢測控制和數據存儲、解析等。
工控機選用天瀚智能生產的RL-15A-I7便攜式軍用加固計算機,該計算機基于InterI7-3610M處理器,全面支持Win7、Linux系統;接口多樣化,適配性好、可擴展性強,便于通信和快速接收檢測數據;存儲容量大,為大量檢測數據提供足夠的存儲空間。1553B總線板卡選用陜西正鴻航科電子有限公司研發的ZHHK1553B-USB多功能板卡。該板卡為一體鋁殼設計雙通道雙冗余多功能卡,支持多種工作模、多種消息和幀重發,通訊速率快,數據存儲容量大,同時配套可靠驅動程序和豐富靈活的接口函數,支持多種操作系統和多種開發平臺。工控機與板卡間通過USB接口通信,整個裝置體積小、質量輕、便攜、外形堅固不易受損,環境適應性強,特別適合軍用。
軟件系統是實現檢測裝置各功能和通用性的關鍵,屬于系統設計的核心部分[12]。軟件設計主要包括自檢測試、消息過濾和數據解析三大部分。采用VC++2010開發平臺設計。
自檢測試主要包括兩方面。一是通過調用板卡自帶函數M1553_Open(),檢查系統各部件連接和板卡在線及打開狀態。若函數返回值為真,則表示線路正常,板卡在線并正常打開;若返回值為假,則反之;二是通過比較當前通道與另一通道收發數據內容是否相同,檢查數據通道狀態。將當前使用的通道和另一通道分別設置為BC和RT模式,并相互形成回路,進行數據收發。根據收發內容是否相同,判斷數據通道是否良好。
消息過濾采用命令字過濾方法,根據命令字中“RT地址”、“R/T標志”和“RT子地址”判斷是否為檢測目標。1553B板卡提供了過濾表結構和過濾函數MT_SetCmdFilterTable()。調用過濾函數,即可根據過濾表設置完成消息過濾,并將過濾下來的消息存儲到1553B數據文件中。此處軟件界面面向用戶靈活設計,用戶可根據實際檢測需求和ICD中的相關定義,在界面上輸入過濾表格賦值,完成過濾條件的自定義設置。
由于該板卡有多個通道和多種工作模式(BC、RT、BM),因此需要進行通道選擇和模式設置等初始化工作。數據接收有查詢和中斷兩種方式,1553B數據信息量大,為提高效率,選擇中斷接收方式較合適。消息過濾程序流程見圖2。
存儲到1553B數據文件中的是復雜的機器碼。需要經過解析處理,才能具有物理意義的信息轉化為方便用戶判讀的格式。數據解析軟件包括消息定義、數據字分類存儲和數據解析三大部分。

圖2 消息過濾流程圖
4.3.1 消息定義
為實現通用,首先進行消息定義設計。消息定義設計包括消息類型定義和數據字信息段定義,是軟件實現用戶界面自定義解析規則功能的關鍵。消息定義數據量不大,選用桌面級數據庫Access,具備良好的可維護性和易用性。
消息類型定義。命令字位于每條消息的起始位置,消息類型主要由1553B消息命令字結構中的RT地址、R/T標識和子地址三者聯合確定,每種組合分別對應一類消息。針對每種組合,軟件程序在數據庫消息分類表中建立對應字段,同時補充一個全局標識符字段存放每種組合獨有的分類標識,來表示和區分消息類型。當用戶在消息類型定義界面輸入消息名、RT地址、R/T標識和子地址后,程序將輸入內容存入消息分類表中,數據庫引擎同時生成分類標識符(見圖3)。

圖3 消息分類示意圖
數據字信息段定義。數據字內部結構由ICD確定,具有物理意義的信息按照ICD設計的規則被分段包含在數據字中,因此,可根據具體物理含義將數據字分為若干子段,每個子段分別包含一種物理信息。子段信息可根據對應基本數據類型通過運算得到。可由同種基本數據類型通過相同運算得到的子段信息稱為同類子段,即同類子項對應同一運算過程,軟件程序將同類子段運算參數集中保存在同一張子段參數表中,分別用不同字段描述。不同類型子段創建不同參數表。運算參數包括子段起始位、長度、單位、符號等。分類標識符作為索引字段與每個子段的參數合并記錄,存儲到對應子段參數表中,如圖4所示。

圖4 子段參數存儲示意圖
4.3.2 數據字分類存儲
數據字是最終解析對象,數據字分類存儲是否正確合理會直接影響解析與分析過程。因此,數據字分類儲過程設計,既要考慮正確可靠地將數據字記錄下來,又要便于解析過程,需要按照一定的格式將數據字記錄到數據庫中。數據字記錄過程包括總線消息分類和數據字標記存儲兩步。原始消息通常包含一個控制字、一個或兩個命令字、一個或兩個狀態字、若干數據字和消息生成時間。程序先根據消息控制字的相關位,識別是否為RT→RT消息(包含兩個命令字),如果是,就找到確定分類的那個命令字;如果不是,則消息中只有一個命令字。然后程序會分析命令字中RT地址、R/T標識和子地址,按消息分類表完成消息分類,并獲取分類標識符。根據各類消息塊數據字相對位置和命令字中的數據字長度信息,提取全部數據字,并以字節流方式與分類標識符和生成時間合為一條記錄存入數據庫(消息分類標識符和生成時間作為聯合索引標志)。

圖5 數據字分類存儲程序流程圖
數據字分類存儲流程見圖5。數據字存儲涉及數據量大,檢索效率要求高,選用SQLServer數據庫能夠較好地滿足應用要求。
4.3.3 數據字解析
數據字解析是利用子項參數表中的參數,通過對應的運算過程,將數據字內包含的各物理量信息,解析為便于用戶判讀格式的過程。
解析過程需要用到的各種運算函數采用動態鏈接庫編碼,便于靈活增加運算過程或適當修改。動態鏈接庫中的每個運算函數和子段表是一一對應的,同一個子段表對應的所有物理量數據,可調用動態鏈接庫中同一運算函數來解析。消息分類標識符與人機交互界面的數據類型名稱相互關聯的,它與生成時間在數據字存儲記錄中作為聯合查詢標志。當用戶選中數據類型名和生成時間進行查詢時,解析程序從數據字存儲數據庫中得到對應的記錄后,再從子段參數表找到帶相同分類標識符的記錄,針對每條子段參數記錄,程序分別反復調用所在參數表對應動態鏈接庫中的運算過程,對查詢到的數據字記錄進行集中解析并帶檢索標記存儲解析結果。

圖6 數據字解析程序流程圖
檢索標記由分類標識符、子段名和生成時間聯合組成,分類標識符、子段名分別對應武控系統某類數據和其中的單項物理量數據,便于分類查詢。當所有子段參數記錄都使用完,查詢數據解析完成,并將全部解析結果顯示給用戶。數據字解析程序流程見圖6。
針對使用中的武控系統1553B總線信息檢測設備通用性差的現實問題,設計了基于1553B總線的武控系統測裝置。通過初步驗證表明,該裝置穩定可靠,使用方便,靈活實現了在不同型號武控系統間通用的功能。