夏志飛 趙雷
摘 要:1553B總線廣泛應用于軍用系統中,接口控制文件(ICD) 規定了上層協議,是通信協議反求的重點。本文通過分析1553B總線的特點,構建反求環境,采集、分析消息數據,整理、猜測字位關系和消息傳輸機制,設計模擬軟件和測試軟件進行驗證,探索出了一條行之有效的道路,具有一定的參考意義。
關鍵詞:1553B;接口控制文件;反求
Keywords:1553B;ICD;reverse
1553B總線的全稱是數字式時分制指令/響應型多路傳輸數據總線[1],廣泛應用于軍用系統中。1553B標準規定了底層協議,接口控制文件(ICD)規定了上層協議,包括接口信號的功能、技術特性及使用說明[2],是1553B總線通信協議的重點。在航空維修中,反求1553B總線通信協議便于機載設備的深度修理以及地面檢測設備的研制。
1 反求環境構建
1553B總線ICD從多個層次描述了1553B通信接口,包括選用的消息類型、消息中的字位關系、消息傳輸組織邏輯等。1553B總線網絡中,總線控制器(BC)組織信息的傳輸,總線監控器(BM)監控信息,遠程終端(RT)是其他不作為BC或BM的終端,在BC的控制下收發數據。某型飛機采用分級傳輸機制(見圖1),顯控處理機是航電系統一級總線的BC,下屬子系統都是其RT,同時也是子系統二級總線的BC。1553B總線上的信息由10種類型的消息組成,每條消息由3種類型的字構成,指令字和狀態字主要用于識別和管理,有效數據一般位于數據字中。一級總線傳輸的參數相對較多,消息中第一個數據字定義為塊號,參數對應數據塊—信號字—字段,二級總線傳輸的參數相對較少,參數對應數據字—字段。
以某型發電機控制器保護器為例,該機載設備采用1553B總線通信,與其他機載設備或測試設備交聯。為了方便操作,基于內場環境測試研制了反求平臺,構建了反求環境,采用黑盒測試的方法進行逆向分析。如圖2所示,反求平臺具備BM、RT、BC功能,可用于數據采集、仿真模擬產品驗證ICD、測試產品驗證ICD。
2 反求方法探討
反求ICD是復雜的系統工程,需具體問題具體分析,窮盡手段,大膽猜測,小心求證。反求過程既是順序的,也是迭代的。
2.1 情報搜集
搜集并整理機載設備及相關系統的資料,分類、篩選并重點分析其原理、功能與測試方法,猜測1553B總線傳輸的內容。
2.2 消息分類及命名
采用圖2a)所示的采集構形,將反求平臺配置為BM功能,采集正常測試時的通信數據。在采集到足夠的數據后,根據地址、子地址等元素區分消息,結合控制功能,猜測并整理出消息類型,并將消息命名,在能夠辨別的前提下盡可能簡化表達。一種消息可能會對應多種操作,包含多個參數,也可能一種操作需要多種消息的配合。
2.3 參數分類及解析
尋找規律,盡可能無遺漏地整理出每個參數對應的消息類型和字位關系,以下幾種方法供參考。
1)采用圖2a)所示的采集構形,將反求平臺配置為BM功能,設計一套測試用例,每步操作只修改一個參數,盡可能按線性規律變化,包含極值、零點等特殊值,并將操作步驟和監控的消息同步記錄。該方法除了適用于內場測試外,也可用于機上通電時采集數據。由于BC一般周期性地詢問RT的狀態并發送時間同步信息,數據消息中夾雜了大量指令消息,可通過篩選、匯總等方法減少干擾,每次只分析一種消息及操作。
2)采用圖2b)所示的仿真構形,將反求平臺配置為RT功能,模擬發電機控制器保護器,逐個修改測試軟件中發送的參數,比對RT接收緩存中的數據;逐字逐位修改RT的發送緩存,比對測試軟件中接收的參數。該方法效率高,但需要測試軟件配合,有一定的局限性,且測試軟件一般只能實現基本的測試功能,對參數的限制并不嚴格,不能盡信。
3)采用圖2c)所示的測試構形,將反求平臺配置為BC功能,替代測試設備,發送BC->RT消息,通過某型發電機控制器保護器的工作狀態判斷收到的參數;設置信號源激勵參數,發送 RT->BC消息,比對讀取的數據字。該方法依托于機載設備,可靠性高,但間接判斷參數需要對測試過程非常熟悉,且容易遺漏,需事先做好規劃。
綜合使用上述方法,分析各參數的規律,確定其在1553B總線中表示的方式,一般一個參數對應1553B總線中的一部分。1553B總線中的數據可分為數值型和枚舉型兩大類,包括無符號整數、有符號整數、單精度浮點數、雙精度浮點數等,對數值型參數還需確定其與真實的物理量之間的縮放倍數和偏移量,特殊情況需單獨說明。整理時盡量簡化,便于比對觀察,避免遺漏,最終整理成標準格式的ICD。
2.4 傳輸機制判斷
1553B總線信息傳輸機制包含了RT發送緩存的數據有更新、RT發送緩存的數據被BC組織傳輸、RT確認數據被正確接收等一系列傳輸邏輯以及響應延時和錯誤處理關系。飛機上一般采用矢量字更新機制,即BC發送BC→RT消息傳輸信息給RT,但獲取RT信息一般分以下三步:
1)狀態查詢:發送“發送矢量字10000”方式指令,讀取RT回送的信息:狀態字和數據字(矢量字)。
2)數據讀取:如RT有數據更新,則發送RT→BC消息,讀取RT對應的子地址發送緩存中的數據。
3)狀態復位:讀完數據后,發送“帶數據字同步10001”方式指令,使RT矢量字復位。
當RT較多時矢量字還會細分,有時還會多次查詢,但維修檢測時,對 RT功能測試或控制時,數據更新率不高,可直接獲取RT信息,簡化傳輸機制,只需反求出RT→BC消息和BC→RT消息的內容或RT收發緩存的字位關系。
3 反求結果驗證
通用1553B程序功能有限,很難實現基于邏輯的判斷、選擇和跳轉,因此開發了模擬軟件和測試軟件,以驗證1553B總線的傳輸機制和時序相關的參數。驗證過程為:采用圖2b)所示的仿真構形,利用反求平臺模擬真實的發電機控制器保護器,驗證ICD中的字位關系;采用圖2c)所示的測試構形,利用反求平臺替代測試設備,按測試工藝操作,確認其可替代原測試軟件,既可驗證1553B總線的傳輸機制和時序相關的參數,也可驗證ICD中的字位關系。
4 結束語
在分析、總結反求某型發電機控制器保護器1553B總線通信協議的過程中,探索出了一種行之有效的方法,但工作量和技術難度較大,既要熟悉1553B總線及程序設計,也要熟悉機載設備的功能及測試流程。后續將繼續優化反求方法,設計專用反求軟件,便于分工協作,提高效率,加快推廣。
參考文獻
[1] GJB 289A-1997數字式時分制指令、響應型多路傳輸數據總線[S]. 北京:國防科工委軍標出版發行部,1996.
[2] GJB 5439-2005 航空電子接口控制文件編制要求[S]. 北京:國防科工委軍標出版發行部,2005.
作者簡介
夏志飛,高級工程師,主要從事航空電子部附件的維修及地面檢測設備的研制。
趙雷,工程師,主要從事航空電子的修理技術及航空裝備保障等研究。