章郁泱 李長海 周冠澤
(中國船舶及海洋工程設計研究院 上海200011)
噴水推進作為船舶的一種推進方式,已越來越廣泛地應用于各種高速船舶、中低速淺吃水工程船上。噴水推進裝置由進水流道、噴水推進器、操舵倒航機構、控制系統、液壓系統等幾大部分組成。其中報警系統是噴水推進控制系統中重要的組成部分。
船舶行駛時,噴水推進裝置長時間工作在高溫、高濕、震動的環境下,容易發生故障,需要通過報警系統及時、準確地發出報警,以保證船舶行駛的安全性。報警系統設計采用Silicon公司C8051F040單片機(下文簡稱MCU),其主要針對船舶噴水推進控制系統產生的故障進行報警。
船舶噴水推進控制系統故障來源分為電源故障、操控系統故障和液壓系統故障。電源故障主要為液壓動力電源(AC380 V)故障和控制電源(DC24 V)故障。操控系統故障則包括上、下位機故障、反饋裝置故障、主機遙控故障和通信故障等。液壓系統故障是指液壓系統中泵站、管路、閥件等發生故障,如液壓泵站濾器堵塞、液壓油位低、液壓油高溫和液壓油壓力低等。
當故障發生時,由MCU數字I/O引腳采集故障信號,經軟件濾波、邏輯判斷后,發出報警控制信號并驅動報警負載,報警方式為聲、光形式;同時通過CAN總線將報警信號從舵機艙傳送至駕駛室進行報警和顯示,并根據需要將重要報警信號發送至相關設備進行狀態變更處理,以確保航行安全。所有報警信號通過CAN總線送至上位機進行存儲,為后續故障分析與處理提供可靠數據。
本設計基于雙CAN總線組成全船網絡進行通信。圖1為該報警系統原理圖。

圖1 報警系統原理框圖
報警系統的硬件電路設計主要包括單片機及I/O外圍接口電路。
系統控制核心選用Silicon公司的C8051F040單片機(MCU),該型單片機集成度很高,具有高速、流水線結構的8051兼容的CIP-51內核,64個數字I/O引腳和4 352(4 k+256)字節的片內RAM。片內集成了一個CAN2.0B控制器、一個12位100 kspsADC輸入、64 kB可編程FLASH存儲器、可尋址64 kB地址空間的外部數據存儲器接口、5個通用16位定時器和片內看門狗等功能[1]。通過MCU硬件電路可以實現對故障信號的采集以及控制報警負載與MCU的接口連接。
根據船舶報警系統規范要求并結合船舶行駛工況條件,報警系統電路設計有以下幾個關鍵技術:
(1)多故障信號采集點
噴水推進控制系統故障信號源較多,以開關量信號和模擬量信號為主。MCU具有64個數字I/O引腳,每個引腳帶有數據鎖存功能,可采集大量開關量故障信號并通過軟件從相應寄存器中讀取數據進行處理。MCU還設有4路模擬量專用采樣通道,配合12位ADC模數轉換和MCU內部基準電源,可對模擬量故障信號(例如液壓溫度、壓力、流量、主機轉速等)進行采樣,通過軟件處理及時發出報警信號。
(2)故障信號聲光報警功能
根據《海上高速船入級與建造規范》第8章第3節內容規定,所有故障報警具備同時發出視覺和聽覺報警信號,且視覺信號應清晰可見、聽覺信號應有足夠的響度[2]。
本系統在駕控室設有故障報警聲光指示單元,由蜂鳴器發出聲報警,發光二極管發出光報警。在船舶晝航時,陽光照射強度較大,為了使光報警能夠在晝航時清晰可見,采用幾個發光二極管并聯工作方式來提高光報警的視覺效果。經過實際測試:采用DC 24 V為工作電壓,蜂鳴器工作電流為10 mA左右。使用并聯方式后,發光二極管工作電流將達到20 mA或更高,聲、光完全滿足使用要求。但MCU數字I/O引腳的驅動能力為uA級別,需增加蜂鳴器和發光二極管工作所需的驅動能力。為此,本系統設計了基于ULN2803的驅動電路(見圖2)。

圖2 基于ULN2803的驅動電路原理圖
ULN2803又名“達林頓晶體管矩陣”,由8路驅動器集成,最大電流增益可達500 mA。圖2中的(1)~(8)號引腳為輸入端,與MCU相連并受其控制;(11)~(18)號引腳為輸出端,連接所需驅動負載(指示燈、蜂鳴器);(9)號引腳接地;(10)號引腳作為保護用接電源正。若驅動負載為感性負載,在開關過程中會產生低于地電位和高于電源電位的反電動勢,很容易擊穿器件,接電源正利用ULN2803內部鉗位二極管可保護線圈通斷時的反電動勢擊穿器件。
(3)適應惡劣環境能力
報警系統在船舶上的工作環境惡劣,例如:高溫、高濕、振動、鹽霧和強干擾源經常會使設備損壞或工作不正常。為了在各種環境下系統能夠正常工作,本設計選用陶瓷封裝的芯片,其優點是散熱能力好;并在線路板上施加了三防措施,保證了控制核心部件(PCB電路板)長久可靠工作。在信號的輸入、輸出部分應用了隔離技術,對內部MCU和主要芯片工作電源與外部故障信號及負載工作電源進行物理隔離。使用TLP521光電耦合器,組成經典光耦開關電路,如圖3所示。經調試驗證、電源隔離后,整個系統的抗干擾能力得到提高。

圖3 光耦開關電路
報警系統采取如上設計后,通過了高溫濕熱、振動、鹽霧以及電磁兼容等多項試驗。表明本系統在惡劣環境下工作能力強,系統可靠性得到強化。
(4)CAN總線的應用
根據《海上高速船入級與建造規范》第8章第3節內容規定:在實施控制功能的控制站,應設有報警裝置[2]。
駕控室是噴水推進控制系統實施控制功能的主要場所,因此必須在駕控室設報警裝置。而噴水推進控制系統故障信號大多集中于舵機艙內,所以,故障信號采集處理單元建立在舵機艙內是最佳方案。此時,如何將舵機艙報警單元采集處理的故障信號傳遞至駕控室報警單元報警并顯示成為設計的關鍵。若采用信號延伸的方式可將故障信號引入駕控室內,但也由此會造成大量的敷線工作及可能帶來信號長距離傳輸和干擾問題。本設計是通過CAN總線來解決駕控室報警單元與舵機艙報警單元的報警信號傳遞,并采用雙CAN冗余設計,增加信號傳遞的可靠性。

圖4 雙CAN報警通信網絡
CAN總線屬于總線式串行通信網絡,采用了許多新技術以及獨特的設計,與一般的通信總線相比,CAN總線具有可靠性強、實時性好和靈活等特性[3]。本系統采用雙CAN冗余設計,分為CAN1、CAN2且互為備用。由MCU片內集成CAN2.0B控制器與CTM1050T通信收發模塊組成CAN1通信;另由SJA1000CAN控制器芯片和CTM1050T通信收發模塊組成了CAN2通信。
本系統中的報警信號,尤其是重要的信號不僅在第一時間告知船舶駕控人員,而且還可通過CAN總線及時地發送至上、下位機及主機遙控系統等重要的船用設備,采取相應的應急措施,確保船舶航行安全,做到信號人機共享。雙CAN冗余設計又能使通信網絡的可靠性更強。

圖5 CAN總線電路圖
MCU采用Silicon Lab的專利CIP-51微控制器內核[1]。CIP-51與MCS-51TM指令集完全兼容,其采用流水線結構,與標準的8051結構相比,指令執行速度有很大提高,可以更好地滿足船舶報警迅速、準確的要求。本設計的軟件采用C語言開發,主要功能有:
主要完成系統初始化、變量初始化、采樣數據并處理以及報警控制等功能。報警系統要滿足真實性好,無誤報警現象,在系統初始化完成后,重點設計在于故障信號采樣的軟件處理。
本設計運用循環語句對數據口的開關、數字量信號進行反復采樣,通過新舊采樣值的比較確定故障狀態。開關、數字量信號是指非連續性信號的采集和輸出,它有0和1兩種狀態。通過數字I/O引腳將采樣到的故障信號送入相應控制寄存器中,鎖存信號數據狀態直至下一次發生變化為止。
以P1口為例:定義字符型變量alarm,將其賦值給P1口控制寄存器,循環讀取P1口寄存器中數據。若以0為正常、1為故障信號,則當讀取到的數據由0變為1時,表示采樣到故障信號。

另外,運用MCU內部定時器對采樣信號進行延時判斷處理,增強數據采樣的真實性。
報警控制是指發出某個控制指令對報警信號進行操作。本設計中報警控制包括:“試燈”、“應答”和“消音”。采樣到的故障信號經過MCU處理后點亮相應的指示燈并發出閃爍光,蜂鳴器發出聲響。“消音”指令可消除蜂鳴器聲響;“應答”指令使燈光變為平光,故障排除后報警指示燈光保持直至接收到“應答”指令后熄滅;“試燈”指令可對報警站所有報警指示燈進行手動試燈自檢。
CAN通信程序設計需先將兩路CAN通信的變量初始化,并對相關寄存器進行設置。根據CAN數據幀定義將所需發送數據賦值于數據場中,數據場可由0~8字節組成,通過對發送寄存器設置和使用將數據發送至CAN網絡中。設計中的重點是接收CAN通信其他節點數據。CAN通信可以連接很多節點,每個節點擁有自己獨立的標識符,要從眾多節點中獲取有用的數據,并且屏蔽其他數據,需要對通信接收進行過濾。本設計運用Switch函數來實現CAN網絡多節點數據接收過濾的功能。


圖6 報警系統軟件流程圖
基于C8051F040單片機的船舶噴水推進控制報警系統是典型的帶CAN總線單片機報警系統,現已成功用于兩型搜救船上,系統運行穩定,工作可靠。隨著噴水推進裝置的廣泛應用,本報警系統也將在現有基礎上不斷優化,獲得更好的發展。
[1]新華龍電子有限公司.C8051F040混合信號ISP FLASH微控制器數據手冊Rev 1.4[M].2004.
[2]中國船級社.海上高速船入級與建造規范[M].北京:人民交通出版社,2005.
[3]史久根,張培仁,陳真勇.CAN現場總線系統設計技術[M].北京:國防工業出版社,2004:21-22.