解析多處理器模式下RS485總線在飛機配電系統中的應用
引言
本文引用地址:http://www.104case.com/article/201808/385630.htm飛機配電系統的功能是實現飛機電能的輸送、分配及保護控制。隨著航空、電子以及計算機技術的高速發展,機載設備的數量大幅增加,供電系統容量迅速增長[1],飛機配電系統逐步向著以通信總線為基礎的自動配電系統發展。RS485 總線以其協議簡單、配置靈活等特點,常作為一種余度總線,用于含有多種數據總線的飛機自動配電系統中[2]。本文主要探討多處理器模式下 RS485 總線在飛機配電系統中的應用。
2 .飛機配電系統的結構及通信要求
飛機自動配電系統包括一次配電系統和二次配電系統,其中,一次配電系統的核心控制部件是匯流條功率控制器 BPCU(Bus Power Control Unit);二次配電系統的控制部件是二次配電控制單元 RPDU(RemotePower Distribution Unit)。 本文所涉及的飛機配電系統通信網絡如圖 1 所示。其中,BPCU 通過 1553B 總線與上位機通信,向上位機傳遞飛機配電系統的運行狀況;BPCU 與 RPDU 及發電機控制器 GCU(GeneratorControl Unit)之間通過 RS485 總線及其它通信總線 (如CAN 總線或 429 總線等)進行通信。BPCU 根據 GCU和 RPDU 反饋的信息對配電系統進行監控和管理,實現匯流條切換、大功率負載的自動管理,完成飛機電能的分配。
由圖 1 可知,飛機電網結構較復雜,飛機一次配電系統中共有2個BPCU同時工作, 分別為左(L)BPCU和右(R)BPCU。因此,該配電系統構成了一個含有多處理器的 RS485 總線通信網絡。該通信網絡需實現的功能如下:2 個 BPCU 之間需定時通信,交換數據并監控對方是否正常運轉;2 個 BPCU 需定時與所有GCU 和 RPDU 通信,監控電網運行狀態;正常情況下GCU、RPDU 之間則不需通信。

3.R S 4 8 5 總線及其總線沖突問題
RS485 總線標準是美國電氣工業聯合會制定的以雙絞線作傳輸線的通信標準,采用平衡發送和差分接收,允許雙絞線上一個發送器驅動 32 個負載設備[3]。RS485 以半雙工方式通信,用于多站互連時,便于組建可靠性高及分布范圍較廣的總線網絡[4]。然而,由于 RS485 總線的通信方式是半雙工,即同一時刻總線上只能有一個節點成為主節點,如果同時有兩個或以上的節點處于發送狀態,將導致所有發送方的數據發送失敗,這就是總線沖突[5]。當通信網絡中存在 2 個以上的節點時,解決其總線沖突問題就成了提高其工作可靠性、穩定性的關鍵和前提[6]。
4 .總線沖突的解決方法
在圖 1 所示的通信網絡中共有 2 個 BPCU 和多個RPDU 及 GCU 進行通信, 構成了一個含有多處理器的RS485 通信網絡, 由于數據的交流和傳輸均是雙向的,因此存在總線沖突問題。解決總線沖突最常見的方法是主從通信協議法。主從協議的原理如圖 2 所示,該方法將通信網絡中某一終端定為主處理器,主處理器依次向各從處理器發出指令(Cmd) ,從處理器根據指令將數據(Data)發送至主處理器。 該方法的缺點是若從處理器個數較多,系統的實時性會降低,且若主處理器出現故障,則整個通信網絡無法正常工作。文獻[7]以主從通信協議為基礎,提出了如圖 3 所示的從處理器傳遞數據法,該方式節省了主處理器詢問從處理器的時間,提高了通信的實時性。文獻[8]提出了按從處理器優先級發送數據的方法,其原理如圖 4 所示。該方法由主處理器發出優先級上報指令(Cmdp),從處理器逐個上報優先級(PRI),掃描完一輪優先級后,主處理器向優先級最高的從處理器 k 發出指(Cmdk)詢問數據。優先級法數據量小,系統的實時性得到了提高,然而該方法中從處理器計算優先級的算法較復雜,且整個系統中仍然只能有一個主處理器,無法實現 RS485 的多主處理器通信。

除采用主從通信協議的方法解決總線沖突問題外,還有總線監聽的方式。文獻[9]介紹了一種利用硬件電路監聽總線的方法,該方法實現了 RS485 總線的多主通信,缺點是額外增加的硬件電路會對 RS485 總線阻抗造成影響。 文獻[10]提出了一種由軟件實現總線偵聽、差別延時來解決 RS485 總線沖突的方法。該方法中每個節點由于偵聽時間的不同而具有不同的優先級,因而能夠很好的實現 RS485 總線多主通信,但由于優先級的限制,某些時刻對個別緊急數據的處理實時性較差。
本文所涉及的RS485通信網絡中, 共由2個BPCU同時對飛機配電系統進行控制,形成了一個存在 2 個主處理器和多個從處理器的通信網絡。2 個主處理器的存在使整個網絡無法依靠主從協議避免總線沖突;而偵聽總線的方式則會使只需做應答的從處理器GCU 和 RPDU 的通信算法復雜化。針對該網絡含有 2個主處理器及多個從處理器的特點,本文提出一種融合了主從通信原理和時差偵聽的方式來解決總線沖突。其原理如下:根據主從協議適合詢問-應答模式的特點,將每個 GCU 及 RPDU 作為從處理器,等待命令進行響應;根據時差偵聽法不受 RS485 主處理器個數限制的特點, 將通信網絡中的 LBPCU 及 RBPCU 作為主處理器,由時差偵聽法來確定由哪一個 BPCU 來占用總線。
本文首先在文獻[8]提出的基于主從通信協議的優先級上報法的基礎上進行改進。由于從處理器優先級算法復雜,本文中主處理器僅詢問從處理器是否有數據上報,即詢問從處理器的 Y/N 狀態,從處理器上報完一輪 Y/N 狀態后,由主處理器確定向哪些從處理器詢問數據,無論哪個 BPCU 發送 Y/N 狀態詢問指令或數據詢問指令,2 個 BPCU 均能收到所有從處理器Y/N 狀態或數據反饋。
針對通信網絡中共有 2 個主處理器的特點,本文采取時差偵聽總線的方式來實現確定以哪一個 BPCU為主處理器。其原理是給 2 個 BPCU 設置不同的優先級,具有較高優先級的 BPCU 能夠搶占到總線的控制權。具體方法如下:首先假定 LBPCU 有最高的優先級,需要發送數據時需先偵聽總線,若發現總線空閑,則開始進行延時偵聽,由于優先級最高,LBPCU 延時偵聽需要的時間比 RBPCU 短,經過一段時間若總線始終保持空閑狀態,則 LBPCU 可以發送數據或指令,發送完成后,LBPCU 優先級降低,同時 RBPCU 優先級提高,RBPCU 占有最高的優先級。
評論