高建華,劉永葆,王文華
(海軍工程大學 船舶與動力學院,武漢430033)
分布式控制具有組織結構靈活和數據運算、處理能力強的優點,采用分布式控制的系統,模塊化結構降低了復雜性,同時也提高了可靠性;魯棒性設計使得系統具備更靈活的擴展能力;故障的預警診斷處理,既滿足了產品的安全性,也為產品的測試提供了方便[1]。標準化、模塊化、高可靠性和易維護性,使得分布式控制成為當前燃氣輪機控制的一個重要發展方向[2]。
燃氣輪機分布式控制系統DCS(digital control system)的智能設備通過數字數據總線與全權限數字發動機控制(FADEC)進行通信。智能設備可以是智能傳感器,也可以是智能執行機構,或者是傳感器與執行機構二者功能的組合[3]。智能傳感器把模擬傳感器的值轉變成數字格式輸出給FADEC。智能執行機構從FADEC接收到一個位置命令,并執行該執行機構的閉環位置控制。智能傳感器和執行機構向FADEC報告其狀態,并執行諸如:補償、內置測試、故障檢測與診斷等功能。一個智能設備(傳感器或者執行機構)是燃氣輪機上的一個整體可替換部件LRU(line replaceable unit),它由一個基本設備加上一個智能電子接口單元SEIU(smart electronic interface unit)組成。電子接口單元有一個與FADEC相連接的數據總線和電源總線接口,在線實時地獲取燃氣輪機的狀態信息,并通過復雜的控制算法和邏輯處理產生控制決策,這就要求智能電子接口單元的中央處理器具有很強的數值計算與處理能力。此外,由于燃氣輪機控制功能和控制變量的不斷增多,這就要求智能電子接口單元具有多節點、高速率、高度可靠的實時數據通信能力,因此對數據通訊總線也提出較高的要求。
因此研究燃氣輪機分布式控制系統智能電子接口單元運用ARM芯片作為核心控制微處理器,采用先進的CAN總線技術作為通信標準,設計相應的硬件電路;軟件以實時操作系統uC/OS-II為基礎,通過上層調用一系列的用戶程序來實現相應的功能。
ARM(advanced RISC machine)是一種采用精簡指令集(RISC)的低功耗、高性能的32位微處理器,現在已經被廣泛應用在包括工業控制在內的多個領域中。目前主流的ARM核有ARM7TDMI,StrongARM,ARM720T,ARM920T,ARM922T,ARM940T,ARM946T,ARM966T,ARM10TDMI等[4]。綜合考慮運算能力、接口、適用溫度范圍等因素,選擇PHILIPS公司基于ARM7TDMI-S核的LPC2294微處理器,作為設計智能電子接口單元的核心微處理器。
LPC2294是基于一個支持實時仿真和跟蹤的32位微處理器,其主頻為60MHz,帶有256kB的Flash存儲器和16kB的RAM,以及32位定時器、RTC模塊、WDT模塊、AD采樣器以及多路串行接口等[5]。-40~105℃的寬溫使用條件使得其應用范圍相當廣泛。LPC2294最大的特點是其自身集成了4路CAN總線通訊接口,兼容CAN 2.0B,ISO 11898-1,這為設計高性能的SEIU提供了極大的方便。
在對LPC2294微處理器結構以及性能分析的基礎上,設計出了智能電子接口單元的整體架構。整個系統的硬件設計框架見圖1。

圖1 智能電子接口單元硬件組成框圖
硬件主要由三部分組成。第一部分是ARM最小系統,它包括電源、時鐘以及供硬件調試和系統測試用的JTAG接口和RS232串行總線通訊接口。第二部分是面向智能傳感器和智能執行機構的接口,主要包括將傳感器發送來的模擬量數字化的AD采樣接口、控制位置控制器的PWM輸出接口以及其它通用IO接口等。第三部分就是面向分布式控制上層的接口。根據分布式控制的特點以及物理冗余度的要求,這里設計了兩路CAN通訊總線,這兩路CAN通訊總線由LPC2294內部的CAN控制器和PHILIPS公司的CAN收發器80C250構成。系統處于正常工作狀態時,只有1路CAN通訊接口處于激活狀態;當該線路通訊發生故障時,系統自動啟動另外1路CAN接口滿足應急通訊的要求,同時發出報警指令,從而確保整個系統的高可靠性。
由于智能電子接口單元需要具備標準化、模塊化和高可靠性,若采用傳統前后臺設計方法,會使系統顯得過于復雜,實時性得不到保證,而且容易發生死鎖。解決這些問題的最好方法就是采用實時操作系統,這樣可以實現與硬件平臺的無關性,降低程序的復雜度,并使得復雜的多任務應用更容易實現[6]。鑒于系統實時性和可靠性要求比較高,智能電子接口單元以uC/OS-II實時操作系統作為軟件開發的平臺,并在上面開發數據隊列、CAN總線驅動、串口驅動等中間件,uC/OS-II上創建任務時只需調用這些中間件就可以完成對實際硬件的操作。

圖2 uC/OS-II文件結構圖
圖2 說明了uC/OS-II的軟硬件體系結構。應用程序處于整個系統的頂層,每個任務都可以認為自身獨占CPU,因而可以設計成為一個無限循環。uC/OS-II處理器無關的代碼提供了uC/OS-II的系統服務,應用程序可以調用這些API函數進行內存管理、任務間通信以及任務的創建、刪除等。移植uC/OS-II需要修改的代碼量很小,主要需要修改的部分就是與處理器相關部分的三個文件 OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。
應用程序的主函數是程序首先執行的一個函數。該函數永遠不會返回,主要實現系統硬件和操作系統的初始化。硬件初始化包括中斷、鍵盤、顯示等的初始化;操作系統初始化包括任務控制塊和事件控制塊的初始化,而且在啟動多任務調度之前,必須至少創建一個任務。此系統中還創建了一個啟動任務,主要負責時鐘的初始化和啟動、中斷的啟動以及CAN控制器的初始化及啟動等。根據各個任務的重要性和實時性,程序可以分成五個具有不同優先級的任務,見表1。

表1 任務劃分表
每個任務都有特定的名稱、內存空間和優先級。不同的任務必須有不同的優先級,優先級可以是0~62之間的任意值,數值越小優先級越高。優先級的設置有不同的依據,在智能電子接口單元中,智能執行機構控制任務對時間要求最苛刻,該任務的實現直接關系到燃氣輪機的運行狀態,優先級設為最高;智能傳感器控制需要將采集到的燃氣輪機運行的各種狀態參數送入FADEC,因此優先級設為高。CAN總線通訊要及時與FADEC進行通訊,優先級設置為中。本地初始化只是在系統開機或復位時才會進行,實時性要求不高,因此它的優先級設置為低,RS232接口通訊只有在系統與上位機相連進行測試時才會用到,所以它的優先級設為最低。
uC/OS-II多任務操作系統要求為每個任務分配OS_STK類型的堆棧空間,并且它們占用的RAM存儲空間必須是連續的。任務延時是任務執行完畢處于掛起等待狀態到下一次重新運行之間的時間間隔,其單位是時鐘中斷節拍。由于OS_TICKS_PER_SEC為100,每一拍為10ms。每個任務的調用間隔不能小于一個節拍,否則將會影響模擬量的采樣頻率。
uC/OS-II各個任務是通過搶占CPU的使用權來運行的。信號量、郵箱、消息隊列等功能為實現任務間通信提供了有力工具,這些工具的使用方法靈活多變。這里采用的是用信號量設置事件標志,用郵箱在任務間傳遞參數來喚醒任務、用消息隊列的循環尋址功能進行模擬通道的數據采集。
調試與評測是主控平臺設計實現的重要環節,需要通過一系列有計劃的調試及評測方案來驗證整個智能電子接口單元設計的正確性和評測系統的工作性能。系統調試包括各電路單元和接口的調試,主要通過查看關鍵信號波形和運行測試程序對每個功能進行測試。系統評測是整個平臺系統軟硬件的聯調,需要模擬平臺系統的應用環境,監測硬件、軟件設計的正確性與否以及運行過程的各種參數。系統測試環境見圖3。

圖3 系統測試環境圖
整個測試環境由1臺帶有CAN總線適配卡的工控機和2個電子接口單元以及智能執行機構和智能傳感器組成。評測過程中,硬件系統運行穩定,各接口工作正常,軟件設計實現了最初的設想,達到了預期目標。
本文介紹了燃氣輪機分布式控制系統智能電子接口單元的軟、硬件設計過程及其中的關鍵技術,基于實時操作系統uC/OS-II平臺上設計的軟件更易于擴展升級,系統各單元工作協調、可靠,初步滿足了分布式系統的功能要求,為燃氣輪機分布式控制系統的研究奠定了基礎。該電子接口單元設計合理,通用性強,可作為未來燃氣輪機分布式控制等需要高性能控制和實時數據通信能力場合下的核心模塊使用。
[1]王常力,羅 安.分布式控制系統(DCS)設計與應用實例[M].北京:電子工業出版社,2005.
[2]孫健國.面向21世紀航空動力控制展望[J].航空動力學報,2001,16(2):97~102.
[3]Shaffer P L.Distributed Control System for Gas Turbine Engines[J].Transactions of the ASME,1999.121:102.
[4]王田苗.嵌入式系統設計與實例開發[M].北京:清華大學出版社,2002.
[5]Philips.LPC2294product datasheet[EB/OL].(2004-02)[2006-01].http://www.Philips.com.