?

基于UA 數據同步的民機CBIC 系統通信方法研究

2024-04-13 06:54陳思悅徐健龍黃素娟
電子設計工程 2024年7期
關鍵詞:斷路器單片機界面

陳思悅,徐健龍,黃素娟

(1.上海大學通信與信息工程學院,上海 200444;2.上海飛機設計研究院,上海 201315)

隨著航空電子技術的不斷發展,現代民用飛機使用ARINC661 標準進行搭載的座艙顯示系統(Cockpit Display System,CDS)的設計也越來越復雜[1]。國外對ARINC661 的應用可以追溯到空客A380,實現了其在分布式顯控系統中的應用。國內對于ARINC661 標準的研究和應用設計也在不斷地深入,如李笑瑜等研究了ARINC661 規范和工作原理,探究和搭建了人機交互系統[2],李回寶設計了ARINC661 仿真和監控試驗臺,支持開展ARINC661系統自動化測試[3],王敬馳等分析了ARINC661 的適用性[4]。電源系統中也有相關的CDS 應用——斷路器顯示與控制(Circuit Breaker Indication and Control,CBIC)系統,該系統是一種能在駕駛艙內顯示并控制電源系統內部所有配電斷路器的系統。在眾多CDS應用中,對CBIC 的分析非常少,且針對系統內部UA間的數據同步方法沒有相關的研究成果,因此在ARINC661 標準的基礎上,對CBIC 系統的通信數據幀及通信流程進行分析,并且對CBIC 系統內部的UA 之間數據同步的通信機制展開研究并進行仿真實驗有著重要意義。

1 ARINC661標準

ARINC661 標準發表于2001年,其主要目的是規范CDS 和UA 之間的接口,為航空電子器件與不同類型CDS 之間的相互連接提供了一個平臺[5]。該標準將圖形顯示與處理邏輯分離開,CDS 和UA 之間的聯系轉變為規范自身定義的通信協議[6]。ARINC661簡化了顯控開發流程,縮短了開發周期并降低了開發成本[7]。ARINC661 成員系統之間的通信信號稱為拓展數據包(Extended Block Package,EBP),EBP 信號結構如表1 所示。

表1 EBP信號結構

ARINC661 雖然規定了CDS 和UA 之間的通信格式,但對于使用何種總線進行數據傳輸并未要求。由于CDS 與航電系統之間通信數據量大,且要求傳輸帶寬大、傳輸可靠性高,因此民用飛機常使用航空電子全雙工交互式以太網進行通信[8]。

2 CBIC系統

CBIC 系統主要由CDS 中的顯示器(Display)和UA 組成,Display 集中位于駕駛艙中,顯示電源系統中配電斷路器的名稱、位置信息、狀態信息等。電源系統內的斷路器主要有熱斷路器(Thermal Circuit Breaker,TCB)和電子斷路器(Electrical Circuit Breaker,ECB)。在CBIC 系統中,顯示界面可以顯示TCB 與ECB 的全部狀態信息。由于TCB 只能進行人工插拔的物理斷路器,因此CBIC 只能控制ECB 的狀態。

2.1 CDS

CDS 是系統實現畫面顯示的功能模塊,其主要實現的功能有顯示加載文件(Definition File,DF)解析、圖形界面繪制、與UA 進行通信以及人機交互[9]。

CDS 與UA 之間的通信都是由事件驅動的,事件包括請求(Request)和通知(Notification)兩種類型,所有的消息都以異步的方式進行發送[10]。CDS 的交互功能主要由光標控制系統(Cursor Control Device,CCD)或是鍵盤來實現,飛行員或維修人員可以通過CCD 操作顯示界面向CDS 輸入指令。

2.2 UA

UA 是駐留電源系統中的用戶應用軟件,也是CBIC 系統的邏輯處理中心,其主要實現的功能有DF文件管理、與CDS 通信、接收CDS 命令、接收外部數據、邏輯處理[11]。

UA 接收來自電源系統內部各個控制器所有的斷路器信息以及CDS 發送給UA 的Notification 事件和反饋信息,通過Layer ID 與相應的圖層進行綁定,控制圖層部件,對接收到的數據與信息分別進行處理后,發送Request 事件給CDS,請求刷新顯示畫面或改變顯示畫面[12]。

為了防止CBIC 中出現單UA 自身故障或通信中斷等特殊情況,電源系統分別為負責接收左右兩側斷路器數據的UA 設置了備份UA,因此CBIC 系統中的UA 數量為4,該操作增加了顯控系統的冗余度,提高了CBIC 系統數據傳輸的可靠性。

3 CBIC系統通信機制

CBIC 系統的通信機制即基于ARINC661 標準的CDS 與UA 間的通信機制。CDS 與UA 之間使用EBP信息進行數據傳輸,根據一定的通信流程實現駕駛艙斷路器信息的集中顯示。CDS 與UA 之間的異步通信既能節省帶寬,又能減少延時[13]。CDS 與UA 間的通信流程如圖1 所示,主要包括通信端口初始化、CDS 與UA 握手建立連接、選擇主UA 進行通信、與備份UA 保持連接、切換UA。

圖1 CDS與UA的通信流程圖

飛機上電后,CDS 的Display加載CBIC系統的DF 文件,將顯示功能載入Display,完成CDS 端的初始化。初始化后,UA 和Display 中的服務器(Server)之間開始以200 ms 的頻率互相發送握手信號,嘗試建立連接。

當Server 和UA 兩者的握手信號AH 標志均為0x01時,認定當前連接建立成功。如果CDS 或UA在若干周期內沒有接收到對方發送的握手信號,則主動發送AH 標志為0x00 的空包信號,表明握手不成功。

建立連接后,Server 將從握手成功的UA 中選擇主UA 進行數據傳輸。當UA 接收到的信號中SA 標志為0x01時,按照預先設定好的UA 優先級順序選擇主UA,剩下的作為從UA。主UA 向Server 發送同樣SA 標志為0x01 的EBP 信號,剩下的從UA 作為備份UA 向Server發送SA 標志為0x00 的EBP信號。

當主UA 選擇完畢后,機組人員激活相應顯示畫面,Server 將該外部輸入轉換成激活事件A661_Layer_Active 發送至主UA,主UA 接收到激活通知后,發送部件參數更新命令A661_CMD_SET_PARAMETER 和圖層可見性請求A661_Layer_Visible_Request 至Server,實現駕駛艙CBIC 畫面顯示。

在主UA 支持Display 顯示畫面期間,從UA 和Server 繼續以200 ms 頻率的EBP 空包信息持續發送心跳信號,確保從UA 處于熱備份狀態。

在Server和主UA 保持數據傳輸期間,主UA 檢測到自身發生故障、檢測到與Server之間的通信出現連接錯誤,或是UA 之間的同步出現故障時,需要將主UA 切換成從UA,重新執行源選擇和保持連接這兩個步驟,繼續實現CBIC的相關顯示和控制功能[14]。

4 UA間數據同步機制

為了在CDS 中顯示出完整的斷路器相關信息且在UA 切換時保證數據與指令的一致性,必須在CBIC 系統中增加UA 間數據同步機制。該機制的設計主要涉及通信數據、通信線路方案設計及流程的設定。

4.1 UA間需要同步的數據

電源系統內的UA 所接收的數據主要有從左側一次配電盤箱(Left Distribution Panel,LDP)、RDP、應急配電盤箱(Emergency Distribution Panel,EDP)、集成斷路器板(Integrated Circuit Breaker Panel,ICBP)和遠程配電裝置(Remote Power Distribution Unit,RPDU)發來的TCB 和ECB 的位置、狀態信息以及從CDS 發來的斷路器控制指令。

4.2 數據同步設計方案

當主UA 工作時,必須將外部輸入數據、當前畫面顯示信息和控制指令與從UA 進行同步。外部輸入數據主要是飛機各個內部系統傳感器所采集的設備狀態信息等具體數據,UA 之間的同步需要讓每一個UA 都擁有其他UA 所有的數據,防止采集或者傳輸出現數據錯誤,導致UA 切換時顯示信息不一致;畫面顯示信息的同步保證主UA 出現故障或通信中斷時,從UA 可以提供和主UA 相同的顯示信息;控制指令同步可以實現主UA 對非其管轄設備的控制。UA 間數據同步方案如圖2 所示。

圖2 UA間數據同步方案

4.3 數據同步流程

CBIC 系統中設定的UA 優先級順序為UA1-UA2-UA3-UA4,UA 間數據同步流程如圖3 所示。

圖3 UA間數據同步流程

飛機上電后,CDS 與UA 進行通信,設定UA1 為主UA,在所有UA 健康狀況良好的情況下,UA2 向主UA 發送其所有的斷路器信息,主UA 同步數據至其備份機UA3中,完成UA 數據同步的初始化操作。當主UA 收到操作斷路器狀態變更的消息事件時,主UA 對該消息事件進行判斷,發出命令信號至相應的UA,由對應的UA 進行斷路器狀態控制。當收到變更左側斷路器消息時,主UA 發出命令指令至左側RPDU 控制ECB 狀態,更新主UA 接收到的斷路器數據,將變更后的斷路器狀態信息發送給其從機UA3。當收到變更右側斷路器消息時,主UA 發出命令指令至UA2,由UA2 命令右側RPDU 控制ECB 狀態,更新UA2 接收到的斷路器數據,將變更后的斷路器狀態信息發送給其從機UA4 和主UA,再由主UA發送該狀態信息至其從機UA3。

5 仿真實驗

為了驗證UA 間數據同步的必要性,模擬CBIC系統的顯示與控制功能,利用兩塊單片機模擬主從UA,分別為UA1 和UA2、以太網交換機作為網關設備、PC 模擬CBIC 系統中的CDS端,三者之間由網線連接,以此實現數據傳輸與同步的功能,其中傳輸所使用的協議為UDP 協議,使用Python 設計顯示界面與控制界面[15]。

5.1 硬件設備

實驗中的單片機選擇STM32F407VET6,該單片機板上帶有以太網通道和32 位計時器,RAM 大小為196 kB,時鐘頻率為168 MHz,滿足需要模擬UDP 通信的要求。由于單片機上僅有一處網絡接口,因此需要網關設備將兩塊單片機和PC 端連接起來,該實驗中選擇的是以太網交換機作為網關設備。該測試環境的完整硬件連接圖如圖4 所示。

圖4 硬件連接圖

為了達到更直觀的視覺效果,該實驗以單片機上裝載的三個led 燈來模擬CBIC 中的斷路器,led 燈設置有三種狀態,即開啟、關閉和閃爍。單片機上裝載的第四個led 燈表示前三個燈的狀態是否被更改,燈亮表示該UA 的某個led 燈狀態改變,燈滅表示該UA 的led 燈狀態未改變。

5.2 軟件處理

該實驗軟件部分主要使用輕型網際互連協議(Light Weight Internet Protocol,LWIP)進行單片機之間以及單片機與PC 端之間的通信。該協議適合應用于資源有限的小型嵌入式系統中,在保持網絡協議的傳輸功能的前提下減少RAM 的使用。在單片機上實現通信的軟件流程如圖5 所示。

圖5 軟件流程圖

首先需要定義通信鏈路上傳輸的數據格式、模式及需要連接的遠端IP 地址,此處PC 端IP 地址為169.254.67.187,由于PC 端與兩塊單片機需要在同一子網中,因此根據子網掩碼設置兩塊單片機的IP地址分別為169.254.67.122 和169.254.67.56。在完成基本定義后,通過UA_udp_new()創建新的進程控制塊(Process Control Block,PCB),在該控制塊中設定控制塊相關信息及遠端設備端口號為6000。創建成功后,執行UA_udp_connect(),該命令需要提供創建好的PCB 名稱、遠端IP 地址和端口號。執行命令過程中,判斷本地設備的IP 地址是否和遠端設備處于同一局域網中,若是,則本地設備與遠端設備綁定連接;若否,則建立連接失敗[16]。在單片機中設置接收定時,每200 ms 詢問一次是否接收到數據,若收到則調用UA_udp_recv(),執行接收回調函數,在單片機中該函數設置為最高優先級。當本地設備有發送信息的需求時,執行發送模塊命令,首先分配數據包空間UA_pbuf_alloc(),通過UA_pbuf_take()將需要發送的數據復制到數據包中,接著運行UA_udp_send()發送數據,最后釋放數據空間UA_pbuf_free()。在流程中沒有發送或接收要求時,開啟定時器,每200 ms詢問一次鏈路是否保持連接,若否,則斷開連接,通信結束。

5.3 實驗對比與分析

圖6(a)所示為CBIC 系統功能仿真實驗的顯示與控制界面,當前PC 端僅連接了一臺單片機UA1,UA1 與UA2 之間的同步未完成。上電后,PC 端顯示當前與UA1 連接,顯示界面僅顯示出UA1 的三個led燈狀態,UA2 的三個led 燈狀態為空白。

圖6 顯示與控制界面示例

圖6(b)所示為UA1 與UA2 之間完成同步后的顯示界面。上電后,PC 端顯示當前與UA1 連接,顯示界面顯示出UA1 與UA2 上的led 燈狀態,可見主從UA 間的數據同步可以使顯示界面顯示出完整的數據,因此驗證了UA 間同步是非常必要。

在控制界面選擇需要更改的led 燈、位置、序號、狀態等信息,點擊更改狀態按鈕,可見圖6(c)所示顯示界面中相應的led 燈狀態改變。在硬件環境中,UA1 的led 燈亮暗情況無變化,UA2 中的第二個led燈由關閉狀態轉換為開啟狀態,第四個led 燈點亮,說明該UA 上有led 燈狀態發生變化,驗證了CDS 與UA 間傳輸數據與指令的一致性。

通過設置單片機的按鈕來模擬連接中斷,當UA1 與PC 端的連接斷開后,PC 端與UA2 進行連接并傳輸數據,此時UA1 與UA2 間依然保持同步。圖6(d)所示為PC 端當前連接為UA2,UA1 與UA2 的數據同步已完成,此時顯示界面依然能顯示出完整的數據,且數據與UA 切換前一致。

6 結束語

由于民用飛機上的用電負載非常多,需要眾多斷路器去保護,而斷路器則需要人來控制其開啟或關斷。對于機組人員而言,能夠在駕駛艙直觀清晰地獲取斷路器位置及狀態等信息是必需的,因此提出建立基于ARINC661 標準的CBIC 系統。針對CBIC 系統中的通信方法進行了深入研究,分析了CDS 與UA 間傳輸的數據格式、通信協議。但在顯示與控制時需要實現界面數據與控制指令的一致,因此提出了一種UA 間的數據同步方案。該方案將主從UA 連接起來,保證了顯示界面數據的完整性,考慮了UA 的數據備份,提高了CBIC 數據傳輸的可靠性。最后對完整的CBIC 功能進行仿真實驗,驗證了基于UA 間數據同步的通信方法研究的可行性。

猜你喜歡
斷路器單片機界面
國企黨委前置研究的“四個界面”
基于單片機的SPWM控制逆變器的設計與實現
基于單片機的層次漸變暖燈的研究
基于單片機的便捷式LCF測量儀
六氟化硫斷路器運行與異常處理
斷路器控制回路異常分析及處理
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
一例斷路器內部發熱的診斷分析
SF6斷路器拒動的原因分析及處理
人機交互界面發展趨勢研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合