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