張 偉
(武漢第二船舶設計研究所 武漢 430064)
隨著工業(yè)和科學技術(shù)的飛速發(fā)展,船舶設備和系統(tǒng)的組成及結(jié)構(gòu)日趨復雜,功能不斷完善,自動化程度不斷提高。船舶集中監(jiān)測和報警系統(tǒng)作為船舶自動化的重要組成部分,是船舶安全航行的必要保障。目前船舶監(jiān)測報警技術(shù)正朝著數(shù)字化、網(wǎng)絡化、智能化的方向發(fā)展,集中監(jiān)測、分散控制是新一代船舶監(jiān)測報警系統(tǒng)的發(fā)展趨勢。
船舶集中監(jiān)測和報警系統(tǒng)主要實現(xiàn)對船舶機艙、輪機控制室以及船員住艙機電設備的參數(shù)和運行狀態(tài)的集中監(jiān)測實時報警,由1臺集中監(jiān)測報警裝置和若干臺就地監(jiān)測裝置組成[1]。就地監(jiān)測裝置的功能是對本地重點機電設備運行狀態(tài)進行就地監(jiān)測和報警,在主控制室設置1臺集中監(jiān)測報警裝置,用來對全船各部位的監(jiān)測數(shù)據(jù)進行集中顯示和報警,為指揮員提供集中的參數(shù)報警狀態(tài)指示。
船舶集中監(jiān)測和報警系統(tǒng)選用CAN總線作為系統(tǒng)通信總線。CAN總線是現(xiàn)場總線的一種,在工業(yè)控制、船舶制造等領(lǐng)域均有廣泛的應用。CAN總線為支持多主機通信方式,采用短幀數(shù)據(jù)結(jié)構(gòu),具有速率快、抗干擾能力強、可靠性好、靈活易用、容錯性好和鏈接方便等優(yōu)點。
基于CAN總線設計的船舶集中監(jiān)測系統(tǒng)結(jié)構(gòu)見圖1。
圖1 系統(tǒng)組成框圖
CAN已經(jīng)成為國際標準ISO11898和ISO11519,同時還是國際船用標準。CAN總線技術(shù)規(guī)范包括A和B 2個部分。2.0A給出了CAN技術(shù)規(guī)范版本定義的CAN報文格式,而2.0B給出了標準幀和擴展幀2種報文格式,標準幀的ID占11位,擴展幀的ID占29位,這里采用的29位擴展幀和8個數(shù)據(jù)字節(jié),通信波特率為250kbps,格式定義見表1。
表1 CAN報文格式定義
采用PHILIPS公司的LPC2294芯片作為集中監(jiān)測報警裝置的主控CPU,這款基于32位ARM7內(nèi)核的CPU最大特點是自帶了4路互連的CAN控制器,并且具有先進的全局驗收濾波器,全局驗收濾波器可以識別所有CAN總線的標準幀和擴展幀標示符[2]。
CAN通信收發(fā)模塊電路見圖2,使用TJA1040芯片作為CAN收發(fā)器,主要功能是將CAN控制器的邏輯電平(CANTXD、CANRXD)轉(zhuǎn)換為CAN總線的差分電平(CANH、CANL)。
圖2 CAN通信收發(fā)模塊電路
集中監(jiān)測報警裝置硬件基本原理見圖3,以LPC2294作為核心部件的主節(jié)點控制器[3],完成了船舶集中監(jiān)測和報警系統(tǒng)數(shù)據(jù)傳輸與交換控制,實現(xiàn)了對船舶系統(tǒng)的集中監(jiān)測和報警。
圖3 集中監(jiān)測裝置硬件組成框圖
集中監(jiān)測報警系統(tǒng)與船舶航行安全密切相關(guān),監(jiān)測值和報警顯示需要易于指揮員觀察,因此選用數(shù)碼管進行監(jiān)測值的顯示,由于CPU的I/O資源有限,考慮到LPC2294自帶了I2C總線控制器,因此使用了I2C總線驅(qū)動芯片ZLG7290驅(qū)動5位8段數(shù)碼管掃描方式,驅(qū)動電路見圖4。
圖4 數(shù)碼管驅(qū)動電路
集中監(jiān)測報警裝置的軟件采用模塊化設計,包括數(shù)據(jù)處理模塊、CAN控制模塊、顯示與報警模塊、數(shù)碼管驅(qū)動模塊等[4]。主程序流程見圖5。
圖5 主程序流程
集中監(jiān)測報警裝置軟件的2個主要構(gòu)成部分是CAN總線收發(fā)程序和I2C驅(qū)動顯示程序?;贚PC2294芯片CAN總線控制器的發(fā)送與接收程序流程分別見圖6和圖7。
圖6 CAN總線發(fā)送程序流程
圖7 CAN總線接收程序流程
由圖6可見,在啟動發(fā)送數(shù)據(jù)的命令后,CAN控制器必須要將緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)送完畢,才會將該幀數(shù)據(jù)是否發(fā)送成功的狀態(tài)返回,這樣如果在發(fā)送程序里一直等待數(shù)據(jù)發(fā)送完畢,會使整個程序的執(zhí)行效率大打折扣。所以為了避免這種情況的發(fā)生,該函數(shù)在啟動發(fā)送之后就立即返回。因此我們專門在軟件中加入了查詢TCS狀態(tài)位來驗證數(shù)據(jù)發(fā)送成功。
LPC2294芯片為ARM-CAN控制器提供了配套使用的功能函數(shù)以供用戶調(diào)用,常用的功能包括初始化函數(shù)InitCan,發(fā)送數(shù)據(jù)函數(shù)CanSendData,發(fā)送命令函數(shù)CanSendCmd,接收數(shù)據(jù)函數(shù)ReadCANRcvCyBuf,CAN中斷處理函數(shù)CANIntPrg等[5],使整個ARM-CAN控制軟件的編寫難度降低,執(zhí)行效率提高。
船舶集中監(jiān)測和報警系統(tǒng)作為船舶安全航行的重要保障,實時性、準確性和安全性是關(guān)鍵評價指標。有針對性地選擇CAN總線作為系統(tǒng)通信總線,并且采用功能強大的ARM7系列芯片LPC2294作為集中監(jiān)測裝置的CPU,是船舶監(jiān)測報警系統(tǒng)發(fā)展的需要。應用結(jié)果表明,船舶集中監(jiān)測和報警系統(tǒng)滿足對重點機電設備運行狀態(tài)進行集中監(jiān)測和報警的各項要求。
[1]張圣弢.現(xiàn)代船舶監(jiān)測和報警系統(tǒng)的研究[D].大連:大連海事大學,2010.
[2]崔芮華,耿麗愷.基于LPC2294的CAN總線技術(shù)在智能脫扣器控制方面的研究[J].低壓電器,2011(1):41-44.
[3]紀文支,陳國忠,唐加山.基于CAN總線智能節(jié)點的設計與實現(xiàn)[J].微型機與應用,2012,31(2):44-49.
[4]張 旭,郭 晨.船舶機艙監(jiān)測報警系統(tǒng)[J].計算機工程與應用,2005(22):229-232.
[5]賈東永,孫印杰,陳 安,等.ARM嵌入式系統(tǒng)技術(shù)開發(fā)與應用實踐[M].北京:電子工業(yè)出版社,2009.