李文勇,吳杰長,郭朝有
(海軍工程大學(xué) 船舶與動力學(xué)院,武漢430033)
在本校輪機(jī)工程實(shí)驗(yàn)室機(jī)艙自動化實(shí)驗(yàn)平臺建設(shè)中,采用柴油機(jī)-齒輪箱-水力測功器模擬艦船柴油機(jī)動力裝置進(jìn)行研究性試驗(yàn)和動力工程專業(yè)實(shí)驗(yàn)教學(xué)。艦船集成平臺管理系統(tǒng)(IPMS)應(yīng)滿足實(shí)船模擬訓(xùn)練功能和實(shí)驗(yàn)教學(xué)訓(xùn)練功能,該機(jī)艙自動化實(shí)驗(yàn)平臺的設(shè)計(jì)要滿足對柴油機(jī)試驗(yàn)臺架實(shí)施全過程監(jiān)控和嵌入操作演練功能的要求,即應(yīng)具備啟動、低中高各檔車令對應(yīng)轉(zhuǎn)速、停車、倒車等的監(jiān)控與模擬操作演練兩種功能,在模擬操作演練模式下,通過運(yùn)行嵌入的仿真模型,操控臺人機(jī)交互響應(yīng)模擬展示實(shí)際對象運(yùn)行狀況。
在設(shè)計(jì)中首先要解決的是如何實(shí)現(xiàn)監(jiān)控模式與操作演練模式的集成和切換,即在信號輸入輸出上應(yīng)能按工作模式要求實(shí)現(xiàn)與實(shí)際監(jiān)控對象和仿真模型數(shù)據(jù)的接口、交互[1]。
發(fā)達(dá)國家艦船的IPMS普遍采用控制器局域網(wǎng)CAN與工業(yè)以太網(wǎng)絡(luò)技術(shù)開發(fā)嵌入式訓(xùn)練系統(tǒng)的設(shè)計(jì)思路。本文針對自動化實(shí)驗(yàn)平臺監(jiān)控系統(tǒng)中監(jiān)控模式與訓(xùn)練模式切換問題,對采用以太網(wǎng)與CAN總線技術(shù)進(jìn)行嵌入式訓(xùn)練系統(tǒng)開發(fā)設(shè)計(jì)的方案進(jìn)行了系統(tǒng)分析,并依據(jù)方案要求設(shè)計(jì)了CAN總線模式切換控制電路[2]。
本文所涉及的機(jī)艙自動化實(shí)驗(yàn)平臺監(jiān)控對象為6135柴油機(jī)、BC1323型齒輪箱、D1000型水力測功器,在試驗(yàn)設(shè)計(jì)中水力測功器用于模擬螺旋槳。動力裝置的監(jiān)控系統(tǒng)由NI公司的cRIO和PXI系統(tǒng)組成,二者通過以太網(wǎng)相互通信,與管理計(jì)算機(jī)互聯(lián)構(gòu)成上層管理網(wǎng)絡(luò)。cRIO和PXI系統(tǒng)均可插入CAN設(shè)備卡提供CAN節(jié)點(diǎn),構(gòu)成底層CAN總線網(wǎng)絡(luò)。PXI系統(tǒng)可支持基于PXI、PXIExpress、PCI、PCIExpress等接口的一系列外設(shè)進(jìn)行擴(kuò)展應(yīng)用,監(jiān)控系統(tǒng)雙層網(wǎng)絡(luò)見圖1[3]。

圖1 監(jiān)控系統(tǒng)雙層網(wǎng)絡(luò)
面向設(shè)備現(xiàn)場底層的數(shù)據(jù)交換網(wǎng)絡(luò)設(shè)計(jì)為兩個(gè)相互獨(dú)立的CAN總線網(wǎng)絡(luò),分別對應(yīng)監(jiān)控網(wǎng)和訓(xùn)練網(wǎng),見圖2。監(jiān)控對象掛接在監(jiān)控網(wǎng)絡(luò)上。訓(xùn)練網(wǎng)絡(luò)則由插入cRIO機(jī)箱內(nèi)的NI 9853模塊CAN0通道與嵌入到NI PXI系統(tǒng)的CAN網(wǎng)適配器通信接口0互聯(lián)組成。動力裝置的仿真模型由計(jì)算機(jī)軟件編程實(shí)現(xiàn),并嵌在主程序中。

圖2 機(jī)艙自動化平臺網(wǎng)絡(luò)結(jié)構(gòu)
系統(tǒng)默認(rèn)情況下,CAN網(wǎng)適配器選通通訊接口0,接口1被禁止,測控臺只能夠與監(jiān)控網(wǎng)實(shí)現(xiàn)數(shù)據(jù)交換。模擬操作演練模式下,軟件程序控制CAN網(wǎng)適配器選通接口1,接口0的通信被禁止。此時(shí),NI 9853模塊的CAN1口與CAN網(wǎng)適配器的通訊接口1建立通信,動力裝置的仿真模型被激活后與測控臺進(jìn)行數(shù)據(jù)交換,監(jiān)控網(wǎng)則通過NI 9853模塊CAN0口與測控臺實(shí)現(xiàn)數(shù)據(jù)交換,由于監(jiān)控網(wǎng)絡(luò)采用了雙冗余的設(shè)計(jì)結(jié)構(gòu),這樣即便監(jiān)控對象處在運(yùn)轉(zhuǎn)狀態(tài)下,仍然可以安全地切換到訓(xùn)練模式,實(shí)現(xiàn)了監(jiān)控與訓(xùn)練的同步[4]。
CAN適配器是插于PC機(jī)PCI總線插槽的具有CAN通信接口的電路板。從圖2可見,該系統(tǒng)測控臺CAN適配器節(jié)點(diǎn)的實(shí)現(xiàn)是關(guān)鍵。通過CAN適配器,上位微機(jī)才能訪問所有監(jiān)測數(shù)據(jù)。本文選用PCI總線原因在于與其它主流總線相比,PCI總線具有速度快、實(shí)時(shí)性好等優(yōu)點(diǎn)。
圖3所示的CAN網(wǎng)適配器電路原理圖由PCI總線接口芯片CH365、雙向緩沖接口芯片CH421、Px89C591單片機(jī)以及CAN網(wǎng)模式切換接口電路組成。CH365是連接PCI總線的通用接口芯片,支持I/O映射、存儲器映射以及中斷等。CH421則是提供雙向數(shù)據(jù)緩沖的接口芯片,通過其在CH365與單片機(jī)Px89c51之間提供雙向數(shù)據(jù)緩沖,實(shí)現(xiàn)兩者的異步數(shù)據(jù)交換。當(dāng)計(jì)算機(jī)需要與單片機(jī)聯(lián)系時(shí),先向CH421寫入數(shù)據(jù),然后通過CH365的地址線A15輸出低電平,使單片機(jī)進(jìn)入中斷程序,從CH421獲取數(shù)據(jù)并處理。單片機(jī)也可通過控制數(shù)據(jù)線P10輸出低電平,使計(jì)算機(jī)進(jìn)入中斷程序,在程序控制下計(jì)算機(jī)通過CH365從CH421獲得數(shù)據(jù)并處理。

圖3 CAN網(wǎng)適配器電路原理
上電復(fù)位后,系統(tǒng)默認(rèn)為監(jiān)控模式,數(shù)據(jù)分配器和數(shù)據(jù)選擇器的D1通道被選通,D0通道通信被禁止,上位機(jī)接收通訊接口0的數(shù)據(jù)。當(dāng)需要切換為訓(xùn)練模式時(shí),上位機(jī)通過PCI總線控制單片機(jī),單片機(jī)接收到指令后選通數(shù)據(jù)分配器和選擇器的D0通道,禁止D1通道通信。這樣,上位機(jī)轉(zhuǎn)為接收CAN通訊接口1的數(shù)據(jù),上位機(jī)將與動力裝置的仿真模型進(jìn)行數(shù)據(jù)交互。
本文設(shè)計(jì)的CAN網(wǎng)切換電路,采用帶CAN控制器的單片機(jī)P8xC591作為微處理器,CAN總線網(wǎng)絡(luò)通信接口由兩個(gè)CAN總線收發(fā)器PCA82C250以及數(shù)據(jù)分配器74LS138、數(shù)據(jù)選擇器74LS151組成,硬件連接如圖4所示。
P8xC591為帶CAN控制器的單片8位高性能的微控制器,從屬于80C51微控制器家族。它在80C51標(biāo)準(zhǔn)特性的基礎(chǔ)上增加了一些對于應(yīng)用具有重要作用的硬件功能。具有16 kb在系統(tǒng)可編程的Flash存儲器,512字節(jié)片內(nèi)數(shù)據(jù)RAM,32位I/O口線,看門狗定時(shí)器,4個(gè)中斷優(yōu)先級,15個(gè)中斷源,3個(gè)16位定時(shí)/計(jì)數(shù)器,更重要的是它集成了CAN控制器,這將大大簡化應(yīng)用系統(tǒng)的硬件設(shè)計(jì),使之與CAN總線接口芯片PCA82C250可以直接連接。
數(shù)據(jù)分配器74LS138、數(shù)據(jù)選擇器74LS151是高速TTL器件,74LS138芯片可接受3位二進(jìn)制加權(quán)地址輸入(A0,A1和A2),當(dāng)使能時(shí),根據(jù)地址將數(shù)據(jù)信號分配到相應(yīng)的通道輸出。74LS151芯片的3個(gè)地址輸入端S2、S1、S0,可選擇D0~D7共8個(gè)數(shù)據(jù)源,具有兩個(gè)互補(bǔ)輸出端。
模式切換電路在能夠正常工作之前,必須對P8xC591微控制器(MCU)進(jìn)行正確的初始化,包括設(shè)置微控制器中斷、CAN通信波特率、CAN控制器的驗(yàn)收代碼寄存器和驗(yàn)收屏蔽寄存器以及工 作模式等[5]。

圖4 模式切換電路原理
初始化完成后進(jìn)入模式切換主程序。系統(tǒng)默認(rèn)為監(jiān)控模式,P2.0引腳輸出高電平,此時(shí)數(shù)據(jù)分配器與數(shù)據(jù)選擇器的地址輸入分別為A2A1A0=001,S2S1S0=001,即74LS138的Y1口被選通并作為數(shù)據(jù)輸出端口,74LS151的D1口被選通并作為數(shù)據(jù)輸入端口,MCU與監(jiān)控網(wǎng)絡(luò)上的數(shù)據(jù)收發(fā)器建立通信連接。當(dāng)要切換到訓(xùn)練模式時(shí),程序控制P2.0引腳輸出低電平,數(shù)據(jù)分配器與選擇器的地址輸入切換為A2A1A0=000,S2S1S0=000,即74LS138的Y0口作為數(shù)據(jù)輸出端口被選通,74LS151的D0口作為數(shù)據(jù)輸入端口被選通,通過通道切換,MCU與訓(xùn)練網(wǎng)絡(luò)的數(shù)據(jù)收發(fā)器建立通信連接。當(dāng)再次按下模式切換按鍵時(shí),數(shù)據(jù)通道切換到原通道模式,執(zhí)行相應(yīng)的功能。圖5為模式切換程序設(shè)計(jì)流程。

圖5 模式切換程序設(shè)計(jì)流程
模式切換C51代碼如下。
Void INT0_SW(void)interrupt 0
{
EA=0;//中斷禁能
P2^0=~P2^0;
EA=1;//開中斷
}
Void main(void)
{MCU_init();//MCU初始化子函數(shù)
PeliCAN_init();//片內(nèi)CAN控制器的初始化子函數(shù)
……
}
利用以太網(wǎng)與現(xiàn)場總線技術(shù)解決模式切換問題的關(guān)鍵在于解決好數(shù)據(jù)交互通道的匹配,而通過網(wǎng)絡(luò)協(xié)議制定匹配規(guī)則靈活性較大,但設(shè)計(jì)、調(diào)試周期長。在現(xiàn)場總線層解決數(shù)據(jù)交互問題具有簡潔、高效的特點(diǎn),對解決現(xiàn)場總線層數(shù)據(jù)交互通道的選擇問題有一定參考價(jià)值。
[1]陸錦輝,張 敏.主推進(jìn)系統(tǒng)實(shí)船訓(xùn)練系統(tǒng)的研究與實(shí)現(xiàn)[J].上海船舶運(yùn)輸科學(xué)研究所學(xué)報(bào),2006(1):6-9.
[2]陽憲惠.網(wǎng)絡(luò)化控制系統(tǒng)[M].北京:清華大學(xué)出版社,2009.
[3]孔慶福,宋金陽.船舶輪機(jī)模擬訓(xùn)練裝置技術(shù)現(xiàn)狀及發(fā)展趨勢[J].艦船科學(xué)技術(shù),2010(1):26-29.
[4]王術(shù)新,余世林,寧海強(qiáng),等.艦艇主動力裝備模擬訓(xùn)練系統(tǒng)的開發(fā)與研制[J].船海工程,2008(4):28-30.
[5]饒運(yùn)濤,鄒繼軍,王進(jìn)宏,等.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007.