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

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

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

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