張文豪, 張友謙, 沈立銳
(中國船舶集團有限公司第七〇三研究所無錫分部,江蘇 無錫 214151)
相對于集中式控制系統,分布式控制系統具有質量輕、可靠性高和可維護性強、研制周期短、開發(fā)成本低等優(yōu)點,同時可以更好地適應分層結構以及各種新技術的發(fā)展,能夠滿足燃氣輪機控制系統小型化、綜合化、高性能、高可靠性的發(fā)展需求[1]。構建燃氣輪機分布式控制系統需要解決三個關鍵問題:耐高溫的電子元器件、分布式電源總線和分布式數據總線[2]。其中,如何設計一種具有魯棒性和可靠性的數據總線,保證某些節(jié)點在掉電或發(fā)生故障的情況下不會影響到分布式系統中其他節(jié)點正常運行是構建分布式燃氣輪機控制系統首先要突破的關鍵技術環(huán)節(jié)之一。
控制器局域網絡(controller area network,CAN)總線是一種在眾多領域中廣泛應用的現場總線,具有靈活性好、響應速度快、適應性強等優(yōu)點,適用于短距離內基于事件觸發(fā)的終端網絡系統[3]。但是,作為事件觸發(fā)總線,CAN總線存在不確定性、易造成故障蔓延、不利于系統重構等缺點,不適合在航空航天、軍用艦船等安全關鍵領域開展應用推廣。
基于時間觸發(fā)的控制器局域網絡(time triggered controller area network,TTCAN)是CAN總線的擴展,使用時間和事件共同觸發(fā),將高精度時間觸發(fā)的通信系統和全局廣泛的網絡時間引入CAN總線中,大大提高了總線的可預測性、可靠性和實時性,滿足了安全關鍵領域的應用需求。
Zynq-7000系列芯片的特點是在單芯片內部集成了功能豐富的雙核ARM Cortex-A9處理器系統PS和Artix-7系列可編程邏輯資源PL,通過二者之間的高性能數據總線和接口實現FPGA設計靈活、可擴展性好和ARM系統運算處理能力強、開發(fā)簡單等優(yōu)點的完美結合[4-6]。
本文在充分研究CAN總線工作機制的基礎上,以燃氣輪機為控制對象,以Zynq芯片為核心處理單元,開展基于TTCAN總線的智能節(jié)點設計,結合真實的燃油控制系統,搭建半物理仿真系統,對智能節(jié)點的通信可靠性和實時性進行驗證[7-8]。
TTCAN協議是在傳統CAN協議的數據鏈路層之上引入的高層協議,屬于CAN協議的擴展協議。TTCAN協議通過靜態(tài)消息交換調度表和時間同步來實現事件觸發(fā)和時間觸發(fā)機制相結合。
靜態(tài)消息交換調度表即矩陣周期,用于規(guī)定節(jié)點發(fā)送和接收某個特定消息的時刻,如圖1所示。矩陣周期包括多個基本周期,每個基本周期開始于一個時間參考消息(同步消息),并且以下一個參考消息的開始作為結束。基本周期根據用戶需求可自主定義,包括若干個長度不等的時間窗,各個節(jié)點在這些時間窗內收發(fā)消息。時間窗包括同步窗口、仲裁窗口、獨占窗口以及自由窗口[9-11]。

圖1 矩陣周期結構
同步窗口必須設置在每個基本周期的起始位置,由計時主機節(jié)點在該窗口傳輸校時基準信息;仲裁窗口可以由多個節(jié)點發(fā)送消息,發(fā)生總線沖突時通過CAN總線自身的非破壞仲裁機制解決;獨占窗口分配給某個特定的消息,用于傳輸硬實時、周期性的信息;自由窗口不傳輸消息,用于后期網絡擴展。
TTCAN通信的基本架構如圖2所示。一個TTCAN集群中包括1個計時主機節(jié)點、若干個備份計時主機節(jié)點和若干個普通節(jié)點。每個節(jié)點均包含主機控制器、TTCAN協議控制器以及它們之間進行數據交換的通信網絡接口(communication net interface,CNI)。集群運行時,計時主機節(jié)點將本地時間作為全局時間在同步窗口發(fā)送給備份計時主機節(jié)點和普通節(jié)點;備份計時主機節(jié)點和普通節(jié)點將收到的全局時間加上傳輸延時時間作為各自的本地時間,從而實現集群的時間同步。當計時主機節(jié)點發(fā)生故障時,按照事先約定的優(yōu)先級順序,由下一優(yōu)先級備份主機節(jié)點轉換為計時主機節(jié)點;故障節(jié)點恢復后,通過時間窗口獲取全局時間,重新加入集群。各個消息的傳遞按照靜態(tài)消息交換調度表有序進行。

圖2 TTCAN通信系統架構
相比傳統基于CAN 總線的分布式控制系統,基于TTCAN總線的分布式控制系統具有信息時延可確定、節(jié)點安全等級更高等優(yōu)勢。
(1) 信息時延可確定
傳統CAN作為一種事件觸發(fā)總線,等待傳輸的時間取決于當前數據報文的優(yōu)先級和總線負載狀態(tài),低優(yōu)先級的報文存在傳輸不定期超時甚至掉包的隱患,進而影響燃氣輪機的使用性能和使用壽命。
TTCAN為不同的消息定義了不同的時間窗口,在同一時間窗口內,總線上只能有一條消息傳輸,避免了總線仲裁,使得低優(yōu)先級消息最大信息時延可確定,保證了低優(yōu)先級消息的實時性。
(2) 節(jié)點安全等級更高
作為一種多主機系統,CAN總線智能節(jié)點自行控制數據的接收和發(fā)送,沒有總線權限保護裝置對總線資源進行統一調配。當低優(yōu)先級的智能節(jié)點發(fā)生故障時,難以及時被中央控制節(jié)點發(fā)現,降低了智能節(jié)點的容錯能力和安全等級。
TTCAN通過權限保護裝置,確保某一特定時間,僅某一智能節(jié)點獨占總線,保證了節(jié)點故障消息的及時發(fā)送,提高了智能節(jié)點的安全等級。
智能節(jié)點的硬件實現框圖如圖3所示,圖中實線箭頭表示應用數據流向,虛線箭頭表示時間數據流向。TTCAN智能節(jié)點包括主機控制器、TTCAN總線協議控制器以及用于兩者之間通信的CNI。
本文選取PS中的CPU0來作為主機處理器核心,CPU1作為協議處理器核心。如此設計的原因是因為TTCAN智能節(jié)點中首先啟動主機控制器,更新CNI狀態(tài)域中的控制器狀態(tài)標志位;協議控制器檢測到主機控制器狀態(tài)正常后,開始初始化相關參數并進入啟動狀態(tài)。以Zynq-7000系列芯片從flash中啟動為例,硬件啟動隊列之后,兩個CPU執(zhí)行位于地址為0x0相同的BootROM程序,并在0x0處區(qū)分兩個CPU的身份。然后,CPU1停止運行并且執(zhí)行等待指令,CPU0繼續(xù)執(zhí)行BootROM。等待CPU0執(zhí)行完BootROM、FSBL(first stage bootloader,第一級啟動代碼)并進入main()函數后,由CPU0將CPU1的入口地址賦給CPU1;CPU1結束等待,開始執(zhí)行CPU1的初始化及主程序。鑒于主機模塊和CPU0處理器優(yōu)先運行的特點,選擇PS中的CPU0處理器作為主機模塊的處理器。
主機控制器包括主機處理器以及保證運行的存儲模塊和時鐘模塊。根據主機控制器功能不同,可以將集群內的節(jié)點分為三類:智能轉速采集節(jié)點、中央處理節(jié)點和智能油門位置控制節(jié)點。智能轉速采集節(jié)點的主機控制器通過轉速傳感器采集燃氣輪機轉速信號,并將采集結果通過TTCAN總線傳輸給中央處理節(jié)點;中央處理節(jié)點的主機控制器從TTCAN總線獲取轉速信息,并結合上位機的控制指令進行PID運算,得到理論油門位置;智能油門位置控制節(jié)點從TTCAN總線得到理論油門位置,結合從RVDT傳感器獲得的油門開度,進行油門位置閉環(huán)控制。三類智能節(jié)點協同工作,實現燃氣輪機轉速閉環(huán)控制。
協議控制器包括協議處理器、本地時間計數器、冗余編解碼模塊、靜態(tài)消息交換調度表、冗余總線保護器(bus guardian,BG)模塊、兩路物理層驅動模塊,用于實現通信數據編碼解碼、時鐘同步、時間窗分配及調度等功能,保證各個智能節(jié)點之間的正常通信。
(1) 協議處理器
協議處理器是TTCAN總線控制器的核心,由CPU1以及保證運行的存儲模塊和時鐘模塊組成,用于完成與主機控制器的數據交互、時間窗口分配以及集群重構。協議處理器通過Zynq內部的AXI總線協調PL各個總線協議模塊工作。
(2) 本地時間計數器
對于計時主機節(jié)點,本地時間計數器在時鐘模塊的驅動下,對本地時間進行循環(huán)計數,計數值在每個矩陣周期結尾進行清零。同時,在同步窗口將本地時間傳輸給集群中的其他智能節(jié)點。其他智能節(jié)點收到計時主機節(jié)點的時間信息后,再加上傳輸延時,作為其他智能節(jié)點的本地時間。
(3) 冗余編解碼模塊
冗余編解碼模塊用于將協議處理器要發(fā)出的應用數據、本地時間等信息進行編碼后傳輸給BG模塊。同時,將從BG模塊收到的應用數據進行解碼后,通過AXI總線發(fā)送給協議處理器;將從BG模塊收到的時間信息進行解碼,對本地時間計數器的計數值進行修正。
該模塊設計時并未采用Zynq開發(fā)軟件中提供的相關IP核來實現,而是根據設計需求,利用PL內的FPGA資源自主開發(fā)設計的,具有較高的靈活性和可更改性。
(4) 靜態(tài)消息交換調度表
靜態(tài)消息交換調度表規(guī)定了矩陣周期節(jié)點發(fā)送和接收消息的時刻,在集群啟動前定義完成;集群運行過程中,不支持在線更改。本文定義的靜態(tài)消息交換調度表長度為20 ms,包含4個基本周期,每個基本周期長度為5 ms。
(5) BG模塊
BG模塊是一個總線權限保護裝置,用來避免節(jié)點在發(fā)送時間外占用總線,從而造成總線數據紊亂。BG模塊內保護獨立計數模塊,使用不同于本地時間計數器的PLL資源進行獨立計數,同時每個基本周期根據同步窗口收到的時間信息對獨立計數模塊進行修正。只有當節(jié)點的本地計數器和BG模塊內部的獨立計時模塊同時授權總線使用權限時,BG模塊才允許節(jié)點進行數據發(fā)送。
(6) 物理層驅動模塊
該模塊是唯一一個在Zynq芯片外部實現的模塊,用于提高傳輸信號的抗干擾能力和長距離傳輸驅動能力。本文以ADM3053芯片為核心開展物理層設計,該芯片內部集成隔離DC/DC轉換器和電源隔離CAN收發(fā)器,最大傳輸速率為1 Mbps,單通道的電路原理圖如圖4所示。

圖4 CAN單通道驅動電路原理圖
本文采用4個TTCAN智能節(jié)點組成燃氣輪機分布式控制系統,結合一套真實的燃油控制系統和一套燃氣輪機模擬裝置,搭建燃氣輪機半物理仿真平臺,如圖5所示,對智能節(jié)點的工作性能進行驗證。其中,智能執(zhí)行機構節(jié)點采用與某型燃氣輪機完全一致的燃油控制系統,以提高分布式控制系統的動態(tài)仿真置信度。

圖5 基于TTCAN的半物理試驗平臺
本文選取的4個智能節(jié)點包括智能傳感器節(jié)點、中央處理節(jié)點、備份中央處理節(jié)點和智能執(zhí)行機構節(jié)點。其中,中央處理節(jié)點定義為計時主機節(jié)點,備份中央處理節(jié)點定義為備份計時主機節(jié)點,其余為普通節(jié)點。該試驗平臺包括轉速控制的大閉環(huán)和燃油位置控制的小閉環(huán),二者協調工作,實現對燃氣輪機轉速的實時控制。
智能傳感器節(jié)點用來采集燃氣輪機轉速信息并通過TTCAN總線傳輸給中央處理節(jié)點。中央處理節(jié)點根據上位機的給定轉速和智能傳感器節(jié)點采集的燃氣輪機實際轉速,計算出理論油門位置,并通過總線傳輸給智能執(zhí)行機構節(jié)點。智能執(zhí)行機構節(jié)點根據收到的理論油門位置和采集到的實際油門位置,計算出油門驅動電流并輸出給燃氣輪機模擬裝置。備份中央處理節(jié)點正常狀態(tài)下不發(fā)出控制指令,當中央處理節(jié)點發(fā)生故障時,切換為中央處理節(jié)點。
半物理仿真結果如圖6和圖7所示。本文的驗證試驗不針對具體燃氣輪機型號,因此轉速和油門位置的量綱均轉換為百分比的形式。控制過程包括6個階段:3個轉速上升階段和3個轉速下降階段。由圖可知,通過轉速閉環(huán)和油門位置閉環(huán)控制,可以實現對燃氣輪機轉速信號的動、靜態(tài)控制,驗證了TTCAN總線控制器通信性能的可靠性和實時性。

圖6 油門位置閉環(huán)控制響應曲線

圖7 轉速閉環(huán)控制響應曲線
以某型燃氣輪機的一級報警信號金屬屑報警為例,驗證TTCAN智能節(jié)點組成燃氣輪機分布式控制系統的實時性。一級報警信號每10 ms進行一次采集,故障發(fā)生后需在20 ms內輸出報警信號。
首先,設置中央處理節(jié)點、備份中央處理節(jié)點、智能執(zhí)行機構節(jié)點和智能傳感器節(jié)點在仲裁窗口的幀ID值依次為1~4,ID值越小,優(yōu)先級越高。同時,設置智能傳感器節(jié)點每10 ms進入一次獨占窗口。為提高驗證結果的可信度,設置中央處理節(jié)點在仲裁窗口始終占據總線。
其次,使用智能傳感器節(jié)點采集金屬屑故障信號,并在該節(jié)點的仲裁窗口和獨占窗口發(fā)送采集情況給中央處理節(jié)點和備份中央處理節(jié)點。
再次,若中央處理節(jié)點收到金屬屑故障信號,則通過該節(jié)點的仲裁窗口和獨占窗口,輸出指令給智能執(zhí)行機構節(jié)點發(fā)出報警;否則,指示智能執(zhí)行機構節(jié)點輸出正常信號。
最后,智能執(zhí)行機構節(jié)點根據收到的指令,發(fā)出報警或正常信號。
由于金屬屑報警信號的產生及報警信號的采集均由燃氣輪機模擬裝置完成。本文設置金屬屑報警信號產生后,模擬裝置的MCU引腳1發(fā)出高電平信號;采集到報警信號后,模擬裝置的MCU引腳2發(fā)出高電平信號。通過示波器測量引腳1和引腳2上升沿信號的時間差,驗證分布式控制系統的實時性。
通過連續(xù)10次采集時間差,并取最大值來驗證試驗結果,如表1所示。結果表明,從金屬屑故障發(fā)出到采集到報警信號最大時長為10.138 ms,滿足一級報警信號20 ms內完成的實時性要求。

表1 TTCAN總線實時性驗證記錄表
為解決傳統CAN總線延遲時間不確定的難題,基于Zynq平臺設計了一種TTCAN總線控制器,并搭建了燃氣輪機分布式控制系統半物理仿真平臺對總線控制器的功能和實時性進行驗證。結果表明,自主設計的TTCAN總線控制器能夠精準、實時地實現燃氣輪機轉速閉環(huán)控制,為后續(xù)研究時間觸發(fā)機制下的燃氣輪機分布式控制系統奠定了基礎。