段曙凱, 魏士皓, 范 玲
上海飛機制造有限公司,上海 201324)
在民機航電系統中,不同測試設備會采用不同的總線通信協議,例如起落架控制單元激勵設備采用了ARINC429總線,航電總線分析儀采用了AFDX總線,大氣數據儀采用了RS232串行總線,飛控角度測量模塊采用以太網通信等。這給民機集成測試帶來了很大困難,而接口控制文檔(Interface Control Document,ICD)能很好地將不同總線協議信息進行解析和傳輸[1-2]。這樣可通過軟件來解析總線信號,實現總線信號的柔性化定義[1-5],同時也減輕了硬件的工作強度。因此,設計一款通用ICD能實現對不同總線協議測試設備進行集中管控,提高航空總線測試效率,提升測試可靠性,促進民機集成測試技術的發展。
為實現不同總線協議測試設備與管控平臺之間的實現通信,通用ICD主要包括以下3個層級:工程層級、設備層級、消息層級。工程層級是對飛機測試過程中的工程變量和所用到的測試設備信息以及通信活動進行定義。工程變量包括空速、高度、空地狀態等參數,其為實現測試執行的基礎;測試設備信息包括設備名稱和通信地址;通信活動是指在給某個工程變量賦值或取值時所需要的工作過程,該工作過程會將工程變量的值通過函數關系轉化成設備所能利用的值,并按設備層級定義的通信過程發送給測試設備。設備層級主要是對設備內部各類通信過程進行定義。通信過程是管控平臺與設備通信并實現特定功能的工作過程,例如設備初始化、指令執行和數據監測等。通信過程的輸入和輸出與工程層級中的工程變量相關;通信過程的工作模式包括觸發模式和循環模式;通信過程最終會產生與設備通信的消息,該消息采用幀和碼段的方式組織,由消息層級描述。消息層級描述了具體幀的類型、總長等信息,幀內各碼段的類型、長度、編碼方式和默認值等信息。由于可擴展標記語言(Extensible Markup Language,XML)是用于傳輸和存儲數據的、可以自定義標簽并具備很好的結構特性的語言,所以它能很好地實現通用ICD文件的編寫工作[6-7]。因此,本文采用XML語言進行ICD設計。通用ICD整體設計框圖如圖1所示。

圖1 通用ICD整體設計框圖
工程變量是指在測試工程中與進行設置或檢驗的物理量對應的參數(如飛機測試過程中的空速、高度、空地狀態等)以及測試結果中需要檢驗飛機各活動面的運動角度、發動機顯示和機組警告系統(Engine Indication and Crew Alerting System,EICAS)某個報警、主飛行顯示器(Primary Flight Display,PFD)某項的顯示狀態。
工程層級是對測試設備、被測對象的工程變量和端到端的通信過程中產生的中間參數進行定義,方便數據的后續傳輸工作。工程層級分為頂級節點、二級節點和三級節點,而每個節點又包含不同的屬性定義。其中頂級節點即工程節點,其目的是對整個測試設備進行工程定義,以便于識別;二級節點包括參與測試的設備節點、各類工程變量節點和通信活動節點。此外,只有通信活動節點具有三級節點,分別是從端節點、到端節點和轉化節點。具體的工程層級結構圖如圖2所示。

圖2 具體工程層級結構圖
從圖2可以看出,在頂級節點工程節點中設置了標識屬性,其目的是方便與測試腳本關聯;參試設備節點具有設備通信方式、地址和初始化值3個屬性,其目的是方便與設備層級進行關聯,從而有效地與設備層級通信;工程變量的章節號屬性是為了描述被測對象參數屬于飛機哪個系統;通信活動節點中從端節點有兩個屬性,分別是輸入屬性和工程變量屬性。輸入屬性是對設備層級進行識別;工程變量屬性是非必要屬性,可直接從工程變量節點中進行取值。到端節點有輸出和工程變量兩個屬性,用于描述和傳輸參數數據至設備層級。轉化節點具有一個屬性,即轉化函數。轉化節點是描述通過什么函數如何將傳遞過來的工程變量值轉化成對設備有意義的值。采用頂層節點、二級節點和三級節點的屬性進行設置,完成了通用ICD工程層級的XML模板片段,如圖3所示。圖3中各節點與圖2所示的工程層級結構圖中節點的對應關系為:節點“project”對應“工程”節點;節點“device”對應“參試設備”節點;節點“vary”對應“工程變量”節點;節點“communication”對應“通信活動”節點;節點“from”對應“從端”節點;節點“to”對應“到端”節點;節點“translation”對應“轉化”節點;節點“parameter”對應“參數”節點;節點“result”對應“結果”節點。

圖3 通用ICD工程層級的XML模板片段
測試設備與管控平臺建立通信的過程主要包括建立連接、初始化、運行和斷開連接。此外,由于運行機制原因,在運行階段存在受外界觸發運行的觸發模式和每隔一定時間進行循環的循環模式。觸發模式一般用于單次數據收發,循環模式一般用于設備狀態監控、數據采集、通信狀態測試等場合。具體通信流程圖如圖4所示。

圖4 具體通信流程圖
設備層級主要是描述這些測試設備的通信過程,其包括3層節點,分別是設備通信的頂層節點;初始化、監控和觸發的二級節點,這3種二級節點統稱為通信活動;提示、指令和響應的三級節點。具體設備層級結構圖如圖5所示。

圖5 具體設備層級結構圖
從圖5的結構圖中可以看出,為了區分不同的設備的通信方式,設備通信節點設置了標識和基礎協議兩個屬性。其中,基礎協議屬性用于描述不同測試設備的通信協議,例如TCP/IP、RS232、CAN總線協議等,該協議一般與設備具體硬件有關。初始化節點有2個非必要屬性,即標識和頻率;此外,初始化節點還有3個三級節點,分別是提示節點、指令節點和響應節點。其中,提示節點的內容屬性具有信息提示的功能。輸出屬性是生成用于存儲操作員設置參數的鍵值,方便數據對應和傳輸。指令節點和響應節點是在設備通信過程中進行設置的,它們都具有兩個屬性,即幀和標識。其中,幀屬性是為了描述在通信過程中用到的幀格式,該幀格式是為了與消息層級的幀相對應;標識屬性是一個非必要屬性,是為了進行節點識別而設計的。監控節點用于描述設備通信運行中的監控活動,它有兩個屬性,即頻率和標識。其中,頻率屬性是描述設備監控的頻率;標識屬性是為了區分不同的監控節點。觸發節點用于描述設備通信運行中的觸發活動。監控節點和觸發節點都具有三級節點,即指令節點和響應節點,是為了對數據進行傳輸和響應。通過節點和屬性設置編寫的通用ICD設備層級的XML模板片段如圖6所示。圖6中各節點與圖5所示的設備層級結構圖中節點的對應關系為:節點“driver”對應“設備通信”節點;節點“init”對應“初始化”節點;節點“monite”對應“監控”節點;節點“trigger”對應“觸發”節點;節點“command”對應“指令”節點;節點“response”對應“響應”節點。

圖6 通用ICD設備層級的XML模板片段
不同總線協議測試設備的數據格式一般均采用幀的方式進行傳輸,幀由不同作用的碼段組成,通信幀格式和具體含義如表1所示[8-11]。

表1 通信幀格式和具體含義表
消息層級通過描述幀內碼段的類型、長度、數據類型等信息,將工程變量轉化成能被測試設備識別的二進制格式的機器語言。消息層級分為幀節點的頂級節點和字段節點的二級節點。具體消息層級結構圖如圖7所示。

圖7 具體消息層級結構圖
幀節點具有標識、收發方向、數據類型和長度共4個屬性。其中,標識屬性是為了識別不同幀節點;收發方向屬性規定了數據傳輸方式;長度屬性可定義幀長度;數據類型屬性定義了傳輸數據格式。二級節點的碼段節點具有類別、數據類型、循環和標識共4個屬性。其中,類別屬性規定了幀頭碼、功能碼、填充碼等;數據類型規定了碼段的數據類型;循環標識用于對連續多個相同類型的碼段進行設置;標識屬性是為了區分不同字段節點。采用幀節點、字段節點及其屬性方式編寫的通用ICD消息層級XML模板片段如圖8所示。

圖8 通用ICD消息層級的XML模板片段
圖8中各節點與圖7所示的消息層級結構圖中節點的對應關系為:節點“frame”對應“幀”節點;節點“segment”對應“碼段”節點。
為驗證針對不同總線協議測試設備通信的通用ICD的通用性和可行性,分別采用角度模塊設備、拍照測量設備、輪載切換設備、慣導轉臺設備和大氣數據激勵設備進行了測試。通過對以上設備的被測量進行設計,例如分別將角度模塊設備的偏角、輪載切換設備的切換位置和大氣數據儀的動靜壓等信息封裝成工程層級的工程變量,方便管控平臺對測試設備進行識別;然后將每個設備與管控平臺的通信方式封裝成設備層級的設備通信,完成管控平臺與不同測試設備之間的數據通信;最后將測試設備的原始測量數據轉換成消息層級的幀格式,達到數據格式統一的目的,實現平臺對不同數據類型的解析和顯示。現場測試驗證框圖如圖9所示。傳統測試方法與通用ICD測試方法效果對比如表2所示。

圖9 現場測試驗證框圖

表2 傳統測試方法與通用ICD測試方法效果對比表
測試驗證表明,該ICD設計思路正確,能很好地完成對不同測試設備的工程變量,例如角度模塊設備的偏航角、輪載切換設備的切換位置和大氣數據儀的動靜壓等解析和傳輸,幫助管控平臺完成對測試設備的集中管理和測試數據的全程監控。因此,本文所提出的ICD設計方法能很好地滿足不同總線協議測試設備集中管控的需求,并且易于擴展,可助力民機集成測試技術的發展。
本文通過對不同測試設備總線協議和通用ICD設計方法的研究,將ICD設計分成工程層級、設備層級和消息層級,分別對通信的數據結構、通信過程的控制和測試工程中的元素進行描述。通過ICD方式實現了5套不同協議的測試設備與測試管控平臺的通信,為民機總裝集成測試不同總線的設備控制提供了一種解決方法,以促進民機總裝集成測試技術的發展。