曹希彧,張丹瑞
(上海船舶運輸科學研究所,上海 200135)
船舶自動化電站是船舶電力系統中非常重要的組成部分,相較陸地電網具有運行工況復雜、負荷變化較多等特點,因此船舶自動化電站中各模塊須有較強的抗電磁干擾能力,保證船舶航行中的穩定性。同時,船舶自動化電站中數據的交互日漸增多,常規船舶自動化電站中采用的現場總線技術可能會導致通信失敗和系統癱瘓,無法滿足高速通信的要求。綜上所述,提高船舶電站通信的即時性和穩定性顯得尤為重要。本文旨在設計一款硬件上基于國產SCM621主控芯片,軟件上基于國產RT-Thread嵌入式操作系統的國產化電站操作板。驗證實驗結果表明,新研制的船舶電站操作板能夠滿足大型船舶電站抗干擾能力強、實時通信穩定的要求,提高了船舶電站重要模塊的國產化率。
電站操作板作為船舶控制的重要設備,主要負責船舶電網的發電機組、岸電,跨接,輔助機組等斷路器以及分閘、解列的半自動手動遙控控制。
除了控制功能,電站操作板也必須配備顯示功能,通過LED指示燈顯示機組、斷路器和岸電的當前狀態。為了能達到在船舶中較好的控制和顯示效果,電站操作板必須擁有即時性、穩定性以及可靠性等特點。由于電站操作板安裝于配電板面板,而配電板處在一個復雜惡劣的電磁環境,因此電站操作板需具有較強的抗電磁干擾能力,確保在航行過程中的運行穩定。
電站操作板作為船舶電站管理系統中的核心組成部分,其穩定性與可靠性是船舶電站管理系統長期有效運行的先決條件。電站操作板電控部分主要由3個部分組成,包括主控核心模塊,通信模塊以及按鍵顯示模塊。
核心嵌入式微控制器運行電站操作功能應用軟件,必須具備強大的運算能力和擴展性。選用ARM Cortex-M4內核國產嵌入式處理器SCM621芯片為核心處理器,該處理器在國家電網中已經得到了廣泛的應用,其在復雜電磁干擾環境中的抗干擾能力已經得到了充分驗證。SCM621芯片具備256KB的SRAM和1MB的Flash,主頻高達150MHz,在靜態功耗僅600uA的同時集成了豐富的外設,通過CAN,SPI,I2C等內總線與外設芯片進行參數配置和數據交互。
通信模塊負責電站操作板與船舶電站管理系統中的機組控制器和能量管理器的通信,包括現場總線通信模塊以及以太網通信模塊。以太網模塊核心硬件選用內部硬件集成TCP/IP協議棧的百兆以太網MAC+PHY一體化CH395芯片實現,同時配合以太網隔離變壓器可有效抑制外部干擾,提高通信質量。在與外部計算機連接時通過網線直連,無需通過路由器轉換,降低了嵌入式項目的開發難度。
按鍵顯示模塊負責電站操作板發令以及顯示功能,選用ZLG7290作為該模塊主要芯片,實現多路的按鍵數據采集以及LED指示燈驅動,同時芯片內部硬件實現了矩陣鍵盤掃描、按鍵消抖和指示燈調光等功能,保證了電站操作板命令發送的穩定可靠和對不同光照條件的強適應性,圖1為電站操作板原理框圖。

圖1 電站操作板原理框圖
電站操作板的軟件基于RT-Thread嵌入式操作系統實現,RT-Thread是一款國產開源的搶占式多任務微內核操作系統,底層代碼采用C語言面向對象編程,內核簡潔、高效、穩定且易于移植,適用于多種CPU處理器架構,如ARM,RISC-V等,包含多種組件:GUI圖形庫、虛擬文件系統、TCP/IP協議棧,并且支持多款主流開發環境編譯器。由于其運行穩定而被廣泛應用于物聯網、工業控制等多個行業。軟件功能的實現采用數據結構和EEPROM存儲參數相結合的方式,應用數據結構提高了軟件的可維護性。軟件通過撥碼開關識別操作部位,EEPROM參數配置可適應電站系統的架構變化,快速響應船舶電站系統設計需求的變化。數據流圖(DFD)如圖2所示。

圖2 電站操作板數據流圖
主程序主要包括初始化模塊,數據通信任務、命令發送任務、狀態顯示任務等。電站操作板上電后,對系統底層驅動、時鐘、中斷以及調度器進行初始化設置,包括對硬件底層驅動如GPIO、SPI、IIC等,讀取的撥碼開關狀態并從EEPROM寫入操作板相應標定數據,根據撥碼結果配置電站操作板,完成CAN通信模塊以及以太網模塊的初始化工作,數據通信任務、命令發送任務以及狀態顯示任務也被初始化。
新研電站操作板的通信包括CAN現場總線通信和工業以太網通信,數據通信任務主要包括:CAN報文處理線程與以太網報文處理線程,兩個線程之間相互獨立。
系統、外設、任務完成初始化后,進入數據通信任務等待接收報文,CAN報文和以太網UDP報文的處理根據其所屬協議進入相應的報文處理線程。兩者的主要功能都是由通信接口獲取船舶電站能量管理系統內部的通信網絡報文,解析報文的同時將數據更新到數據結構中對應的變量。
命令發送任務是將按鍵作為控制系統的輸入,當循環按鍵掃描函數采集到控制命令鍵的壓按信號并且按鍵信號防抖函數判定信號穩定后,MCU將相應控制信息組裝成命令報文發送至船舶電站能量管理系統。為了防止報文丟失,利用定時器設置間隔時間多次發送報文,連續三次發送未響應后取消發送。
狀態顯示任務分為試燈顯示線程以及正常顯示線程,兩個線程之間相互獨立。按下試燈鍵后進入試燈顯示線程,蜂鳴器在該線程中保持長鳴,松開試燈鍵結束試燈模式。
在正常顯示模式下,LED指示燈顯示當前電站操作板功能、所有斷路器狀態、發電機組狀態以及分閘解列狀態。當出現通信故障時,所有指示燈閃爍報警;當通信模塊恢復工作后,所有指示燈回到正常顯示模式。
為初步測試電站操作板與機組控制器以及能量管理器之間的通信質量,采用VC++語言開發了一套運行于調試計算機的能量管理系統數據通信模擬軟件,旨在較真實地模擬發電機組的起停、斷路器合分以及合閘解列。該模擬軟件通過記錄調試計算機收發的所有報文,精確捕捉目的與結果不一致的錯誤,測試示意圖如圖3所示。

圖3 電站操作板測試示意圖
經過測試證明了新研制的電站操作板功能完善、實時通信穩定,能夠被應用于某大型船舶的船舶電站系統中,在一定程度上提高了大型船舶電站系統核心設備的國產化率,為以后的研發項目提供了一定的參考價值。