?

航電中繼系統多通道ARINC429總線故障注入方法

2021-08-23 09:02樊智勇
計算機測量與控制 2021年8期
關鍵詞:航電總線內存

樊智勇,李 季,劉 濤

(1.中國民航大學 工程技術訓練中心,天津 300300;2.中國民航大學 電子信息與自動化學院,天津 300300)

0 引言

故障注入技術廣泛應用于民用飛機航電系統集成測試,為系統的可靠性研究提供重要依據[1]。當測試數據量較大時,系統可能面臨無法滿足測試實時性的問題,有必要考慮大數據量和實時性的故障注入方法。航電中繼系統可實現不同空間的航電組件或半實物仿真器之間大量總線數據轉發,系統穩定運行且易于集中監控[2],可用于集成測試中總線數據的故障注入,系統在兼顧總線數據多通道并行注入的同時,保證故障注入的實時性。

ARINC429數據在航電系統數據交互中應用廣泛,針對ARINC429總線的故障注入可以較好地模擬組件在工作過程中出現的故障,從而應用于集成測試,對研究總線的故障注入測試方法具有重要意義[3-4]。在考慮故障覆蓋性和多通道故障并行注入的同時,依靠航電中繼系統數據轉發低延時、數據節點可擴展性強等特點,實現在多設備、多通道進行多種故障類型的低延時注入。

1 航電中繼系統故障注入方法及架構設計

1.1 數據交互方式

航電中繼系統采用反射內存實現數據交互,系統構型由終端、以太網交換機和反射內存交換機組成,終端和配置管理計算機通過反射內存通信網絡實現數據交互,通過以太網交換機加載配置文件。每個終端包含一塊ARINC429總線卡、以太網卡和反射內存卡;多個終端之間通過反射內存交換機作為傳輸中繼,實現多個終端之間總線信號的轉發及監視功能。

反射內存網絡[5-6](reflective memory networks)由反射內存卡和光纖構成,其通訊網絡具有傳輸穩定、低延遲、節點多等特點,常用于解決仿真過程中數據交互的實時性問題。反射內存網絡用于集成測試可滿足系統對實時性的要求,網絡可信度高,基于反射內存建立的實時數據傳輸網絡,可以保證測試數據傳輸的實時性和準確性,系統測試效果良好,可以滿足系統集成測試的要求。

1.2 故障注入方法及架構設計

綜合反射內存優點和考慮故障注入對于數據傳輸實時性的需求,采用反射內存通信網絡實現ARINC429總線的故障注入。反射內存通信網絡節點由配置管理計算機,故障注入器,反射內存交換機,以太網交換機和終端構成。在通信網絡中,配置管理計算機為人機接口層,通過TCI(transmit common interface)傳輸服務進行數據的傳輸,終端和故障注入器經由以太網通過FTP(file transfer protocol)協議加載配置管理計算機的配置文件,人機接口層通過光纖和反射內存交換機交換數據,航電中繼系統的故障注入反射內存通信網絡架構如圖1所示。

圖1 故障注入反射內存通信網絡

在反射內存通信網絡中,分別為反射內存終端節點和故障注入器節點劃分數據緩存地址,每個終端和故障注入器的數據對應著不同的反射內存地址段,通過反射內存廣播的機制,進行數據交互和故障注入。配置管理計算機采用Windows操作系統,讀取反射內存數據,用于數據監控,故障注入器為Vxworks實時操作系統,和反射內存交換機通信為實時數據的讀取和寫入。反射內存網絡數據交互過程中,由配置管理計算機向終端和故障注入器發送ICD(input configuration document)配置文件,包含數據內容和源/目的終端信息。其中故障注入器的配置文件包含故障信息,所有的終端均通過故障注入器進行總線數據的故障注入。系統數據流向為:源終端→反射內存交換機→故障注入器→反射內存交換機→目的終端。根據配置文件內容,將源終端中的輸入數據轉發到故障注入器中,在故障注入器中,由配置文件中的故障信息判斷是否進行故障注入,若進行故障注入,則根據故障信息進行設定故障類型的修改,將修改后的數據暫存在故障注入器對應的反射內存地址緩存區中,等待被目的終端讀取,實現總線數據故障注入。同時,擴展故障類型只需改變配置文件內容即可實現,采用反射內存通信網絡實現故障注入,故障的可擴展性強且易于實現。

2 航電系統故障類型及注入方式

為模擬航電系統的典型故障,從總線結構角度出發設定ARINC429總線故障類型,選取傳輸總線作為故障注入點,可以較全面覆蓋系統的故障問題,提高故障注入效率。

2.1 故障類型

按照總線結構將總線劃分為協議層和應用層[7],協議層根據總線協議劃分,應用層根據信號在不同組件中的具體應用劃分。針對總線故障,將故障類型劃分為總線協議層故障和總線應用層故障。

協議層指信號傳輸協議[8],ARINC429總線數據格式為32位,每一位在傳輸過程中都有可能出現錯誤,可能出現的錯誤有:標識碼(label)錯誤、源/目的識別碼(SDI)錯誤、數據位(data)錯誤、符號狀態位(SSM)錯誤、奇偶校驗位(parity)錯誤,這些錯誤可能單獨出現,也可能組合出現。

應用層方面,由于應用層是建立在組件功能的基礎上,根據組件功能的不同會出現不同類型的故障[9-10]。航電組件可能出現的故障有不符合組件規范的數據,如超出數據的范圍、數據本身的錯誤、應用數據丟失、線路的異常連接導致的信號傳輸故障。如FMS中出現接收飛行參數的顯示異?;蛘咝盘杹G失,或NAV發送的導航信號中方位角數據錯誤等,此類信號應用層面的具體故障,在總線上的故障都可以歸結為數據丟失或數據錯誤兩類通用故障類型。

2.2 故障實現方式

在反射內存網絡中,定義用來緩存板卡讀取及待發送數據變量phA429Data;故障緩存變量phFaultData,變量初始值為FFFF FFFF;輸出數據緩存區變量phForwardData。故障注入原理如圖2所示。

圖2 故障注入原理圖

在數據轉發過程中,組件連接終端板卡接口模擬數據的收發,配置管理計算機下發配置文件將輸入數據儲存在變量phA429Data中,由反射內存交換機根據配置文件進行轉發。若進行故障注入,被轉發的數據進入故障注入器中執行故障注入,將變量phA429Data和變量phFaultData中緩存的數據按位取邏輯“與”運算,將運算后的數據儲存在變量phForwardData中,寫入反射內存對應的緩存區地址中,由反射內存交換機廣播到其它節點,終端根據配置文件選擇是否執行讀取或寫入操作,其中變量phFaultData由配置文件中的故障信息決定。若不進行故障注入,直接轉發該數據至目的終端,即實現數據正常轉發。

2.2.1 協議層故障

協議層故障考慮ARINC429 總線協議所規定的數據格式故障和信號時序故障。根據ARINC429數據協議和硬件板卡傳輸協議,判斷傳輸信號的內容,讀取反射內存全局結構體變量phA429Data中的數據從而實現對ARINC429 總線上傳輸數據的解碼,對解碼后的數據按照Parity、SSM、Data、 SDI、Label的順序進行重新排列。

ARINC429數據協議層數據格式錯誤故障的實現方式為:對解碼并重新排列后的ARINC429數據進行指定占位的替換。執行故障注入時,故障注入器生成故障文件,查找所要替換的數據位置,對變量phFaultData中指定位置數據進行反轉,隨后和變量phA429Data中緩存的數據按位取邏輯“與”運算,完成變量phA429Data中0和1的替換,實現數據格式錯誤的故障。

信號時序故障為數據傳輸中的常見問題,故障內容為改變信號的周期,從而造成信號時序的波動或混亂。通過調整故障注入器發送緩存變量的時間間隔實現,控制變量phFaultData進入反射內存交換機的時序。該故障使用信號觸發延遲TaskDelay()函數實現,計量單位為毫秒,若由于周期改變造成的數據堆疊,則將堆疊的數據丟棄即可。

2.2.2 應用層故障

應用層故障類型為組件中出現數據丟失、數據錯誤等故障。

數據錯誤是系統預期接收數據的內容和實際接收數據不一致,其考慮的因素是數據內容不符合組件收發數據規定的范圍或組件之間互相轉發的數據發生混亂,造成數據錯誤的情況。數據錯誤故障實現方式為:

1)隨機生成phFaultData或者手動鍵入數據對phFaultData進行賦值,隨后和變量phA429Data中緩存的數據按位取邏輯“與”運算。運算結果改變phForwardData中的緩存,實現數據錯誤故障。

2)改變數據轉發的目的終端,造成組件接受本不屬于該組件的數據,從而導致數據內容錯誤。每個終端在反射內存交換機中的地址由配置管理計算機進行配置,當地址數據發生改變時,則對應的終端和數據內容均會發生改變。利用反射內存的這一特性,給變量phFaultData賦予一個偏移地址,從而導致由于目的終端被改變而造成的數據內容錯誤。

數據丟失故障模擬信號在傳輸過程中,由于線路連接異常等原因導致的數據丟失,故障現象為目的終端無法收到預期的數據。該故障實現方式為:在反射內存中,給變量phFaultData賦予一個較大的偏移地址,造成該數據在反射內存交換機中無法尋址,導致數據無法被轉發,從而實現數據丟失故障。

3 故障注入過程邏輯設計

本文選取故障注入點為ARINC429總線,數據交互方式為反射內存通信網絡,在系統進行正常數據轉發的過程中在總線上進行故障注入。終端在VxWorks操作系統下以系統時鐘速率輪詢反射內存板卡各通道內存的數據。數據在板卡通道讀寫任務根據FIFO的不同狀態執行,按照先進先出的原則對通道的讀寫任務進行調度。

系統故障注入執行過程如下:

1)系統創建數據轉發任務,并向終端和故障注入器下發配置文件。

2)終端和故障注入器檢查板卡各通道的狀態,若通道FIFO狀態不空,則使能讀FIFO (EnableReadFIFO)開始工作,終端和故障注入器接收配置文件,若通道FIFO狀態為空,多次查詢,任務超時后結束運行。

3)接收數據函數(ReceiveData)執行,源終端接收數據。

4)終端把數據寫入反射內存對應的通道地址,廣播到反射內存網絡中其它節點的相同通道地址中。

5)由配置文件內容決定是否進行故障注入,若進行故障注入,則故障注入器接收該數據,并根據配置文件中的故障信息對數據執行相應的運算,將運算后的結果寫入反射內存對應的通道地址,并廣播到反射內存網絡中其它節點的相同通道地址中;若不進行故障注入,則進行數據的正常轉發。

6)終端判斷是否轉發此數據。若轉發,則目標終端讀取該數據,將數據寫到對應通道反射內存地址中,若不轉發,則結束運行。

圖3 故障注入流程圖

若系統在多次查詢后任務為超時狀態時,結束運行,防止系統在沒有數據轉發時程序陷入死循環。

4 驗證

4.1 故障注入實驗

航電中繼系統故障注入實驗為配置轉發ARINC429數據過程進行故障注入。實驗使用長度2 km的光纖,儀器包括:ARINC429總線8通道板卡;ARINC429總線分析儀,以12.5 kb/s的速率傳輸數據,模擬組件信號的收發。

4.1.1 協議層故障注入

4.1.1.1 數據格式錯誤

協議層故障注入實驗內容為數據格式錯誤故障。設置不同數據格式的故障類型,部分實驗結果如表1所示。

表1 部分故障注入數據結果

在單次實驗中,設定標識碼和數據字組合錯誤故障注入實驗,得到429總線分析儀中TX顯示發送數據201CB0,RX顯示接收數據為12000004,本次實驗示波器顯示結果如圖4所示。

圖4 示波器顯示

圖4上方為輸入信號波形,下方為輸出信號波形,分別和ARINC429總線分析儀TX和RX顯示的數據相對應,從圖中可看出輸入輸出信號存在Label和Data中高低電平的差異,其余部分保持不變,和本次故障實驗預期取得的結果一致,表明ARINC429總線的協議層對設定的故障注入成功。更改系統轉發配置繼續進行不同通道的實驗,結果均可實現故障注入,記錄每次實驗故障注入前后的延時。

4.1.1.2 信號時序故障

信號時序故障注入實驗使用TaskDelay()函數設置任務時序延時,在數據轉發過程中改變信號發送間隔,實驗設置發送端信號數據周期為100 ms,TaskDelay()設置為100 ms,進行故障注入實驗。預期獲得的實驗結果為:信號發送周期變為200 ms。使用示波器測量故障注入前后信號的波形如圖5所示,在多個周期間隔內,上方的波形的傳輸周期和下方波形周期存在明顯差異,示波器測量結果表明輸入信號和輸出信號波形存在100 ms的相位差,輸出信號的周期變為200 ms,和預期實驗結果一致,表明信號時序故障注入成功。更改TaskDelay()函數繼續進行多次實驗,結果均可實現故障注入。

圖5 示波器顯示

4.1.2 應用層故障注入

應用層故障以數據內容錯誤故障和數據丟失故障為例進行實驗。以多組件數據交互為例給出系統終端配置如表2所示。

表2 終端配置表

表中終端配置信息含義以實驗編號1為例:配置終端1的通道1向終端3的通道8轉發數據52D8A5E5。根據實驗配置表實現組件應用層方面的連接關系,來模擬真實組件的總線數據的傳輸。

4.1.2.1 數據內容錯誤故障

數據內容錯誤故障實驗中,ARINC429總線分析儀中TX和RX分別連接信號發送端和信號接收端。按表2終端配置,進行數據丟內容錯誤的故障注入實驗,實驗結果如表3所示。

表3 數據內容錯誤故障

以實驗編號1和4為例,組件輸入數據分別為52D8A5E5和A5C2BB96,將兩組實驗中的目的終端互換,造成原來的目的終端輸出數據內容的改變,從而導致數據內容故障錯誤。實驗結果為編號1收到的輸出數據為A5C2BB96,編號4收到的輸出數據為52D8A5E5,表明對數據內容錯誤故障注入成功。同理,更改系統轉發配置進行多次實驗,均可實現故障注入。

4.1.2.2 數據丟失故障

數據丟失故障實驗預期結果為:輸出數據為空。按照表2終端配置,進行數據丟失的故障注入實驗,實驗結果見表4。

表4 數據丟失故障

更改系統轉發配置分別進行不同通道、不同終端多次故障注入實驗,故障注入功能運行穩定,表明航電中繼系統的多通道ARINC429總線故障注入方法真實有效,且故障注入功能的增加仍保證航電中繼系統穩定運行,并記錄故障注入前后系統的延時。

4.2 延時分析

將多次故障注入實驗中系統的延時和正常狀態下數據轉發延時進行對比,計算多終端、多個通道在故障注入前后延遲時間的差值。分別進行配置兩組不同數據量故障注入和正常數據轉發的對比實驗:

1)多終端、單通道轉發:終端1的8個通道分別轉發至終端2~6的8個通道;

2)多終端、多通道轉發:終端1的8個通道同時轉發給終端2~6的共40個通道;

測量并記錄正常數據轉發的系統延時和故障注入后系統的延遲,得到多組對比實驗的延遲差值,如圖6所示。

圖6 故障注入前后延時對比

由各組實驗的延時對比,可得在多終端、單通道故障注入前后系統的最大延時差別約為0.05 ms,多終端、多通道數據的故障注入前后系統的最大延時差別約為0.08 ms。故障注入對系統的延時來源為故障注入器和終端數據的交互,故障注入器內部運算的時間。航電中繼系統可實現在多通道總線故障的低延時注入。

5 結束語

本文通過分析航電中繼系統的數據交互方式,研究反射內存通信網絡節點、總線的故障類型、實現方法及故障注入邏輯設計,實現航電中繼系統多通道ARINC429總線故障的低延時注入。通過搭建故障注入實驗測試環境,驗證故障注入功能可實現多終端,多通道數據轉發過程中的故障注入。進行多次不同故障類型的注入實驗,和預期取得故障注入結果均一致。故障注入對系統的延時影響小,可實現多通道、低延時的故障注入,滿足系統的實時性需求,故障類型的可擴展性強,也可應用于其他類型總線,為航電系統的測試及故障診斷提供一種可行性方法。

猜你喜歡
航電總線內存
時間觸發通信總線監控技術研究
關于CAN總線的地鐵屏蔽門控制思路論述
民用飛機綜合模塊化航電系統資源狀態監控技術研究
筆記本內存已經在漲價了,但幅度不大,升級擴容無須等待
“春夏秋冬”的內存
民用飛機航電系統虛擬教學資源建設
基于CAN/LIN總線的LED車燈控制研究
基于模型的航電系統集成驗證技術研究
航道發展需解決“航電”矛盾
內存搭配DDR4、DDR3L還是DDR3?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合