李文勇,吳杰長,郭朝有
(海軍工程大學 船舶與動力學院,武漢430033)
在本校輪機工程實驗室機艙自動化實驗平臺建設中,采用柴油機-齒輪箱-水力測功器模擬艦船柴油機動力裝置進行研究性試驗和動力工程專業(yè)實驗教學。艦船集成平臺管理系統(tǒng)(IPMS)應滿足實船模擬訓練功能和實驗教學訓練功能,該機艙自動化實驗平臺的設計要滿足對柴油機試驗臺架實施全過程監(jiān)控和嵌入操作演練功能的要求,即應具備啟動、低中高各檔車令對應轉速、停車、倒車等的監(jiān)控與模擬操作演練兩種功能,在模擬操作演練模式下,通過運行嵌入的仿真模型,操控臺人機交互響應模擬展示實際對象運行狀況。
在設計中首先要解決的是如何實現(xiàn)監(jiān)控模式與操作演練模式的集成和切換,即在信號輸入輸出上應能按工作模式要求實現(xiàn)與實際監(jiān)控對象和仿真模型數(shù)據(jù)的接口、交互[1]。
發(fā)達國家艦船的IPMS普遍采用控制器局域網(wǎng)CAN與工業(yè)以太網(wǎng)絡技術開發(fā)嵌入式訓練系統(tǒng)的設計思路。本文針對自動化實驗平臺監(jiān)控系統(tǒng)中監(jiān)控模式與訓練模式切換問題,對采用以太網(wǎng)與CAN總線技術進行嵌入式訓練系統(tǒng)開發(fā)設計的方案進行了系統(tǒng)分析,并依據(jù)方案要求設計了CAN總線模式切換控制電路[2]。
本文所涉及的機艙自動化實驗平臺監(jiān)控對象為6135柴油機、BC1323型齒輪箱、D1000型水力測功器,在試驗設計中水力測功器用于模擬螺旋槳。動力裝置的監(jiān)控系統(tǒng)由NI公司的cRIO和PXI系統(tǒng)組成,二者通過以太網(wǎng)相互通信,與管理計算機互聯(lián)構成上層管理網(wǎng)絡。cRIO和PXI系統(tǒng)均可插入CAN設備卡提供CAN節(jié)點,構成底層CAN總線網(wǎng)絡。PXI系統(tǒng)可支持基于PXI、PXIExpress、PCI、PCIExpress等接口的一系列外設進行擴展應用,監(jiān)控系統(tǒng)雙層網(wǎng)絡見圖1[3]。
圖1 監(jiān)控系統(tǒng)雙層網(wǎng)絡
面向設備現(xiàn)場底層的數(shù)據(jù)交換網(wǎng)絡設計為兩個相互獨立的CAN總線網(wǎng)絡,分別對應監(jiān)控網(wǎng)和訓練網(wǎng),見圖2。監(jiān)控對象掛接在監(jiān)控網(wǎng)絡上。訓練網(wǎng)絡則由插入cRIO機箱內的NI 9853模塊CAN0通道與嵌入到NI PXI系統(tǒng)的CAN網(wǎng)適配器通信接口0互聯(lián)組成。動力裝置的仿真模型由計算機軟件編程實現(xiàn),并嵌在主程序中。
圖2 機艙自動化平臺網(wǎng)絡結構
系統(tǒng)默認情況下,CAN網(wǎng)適配器選通通訊接口0,接口1被禁止,測控臺只能夠與監(jiān)控網(wǎng)實現(xiàn)數(shù)據(jù)交換。模擬操作演練模式下,軟件程序控制CAN網(wǎng)適配器選通接口1,接口0的通信被禁止。此時,NI 9853模塊的CAN1口與CAN網(wǎng)適配器的通訊接口1建立通信,動力裝置的仿真模型被激活后與測控臺進行數(shù)據(jù)交換,監(jiān)控網(wǎng)則通過NI 9853模塊CAN0口與測控臺實現(xiàn)數(shù)據(jù)交換,由于監(jiān)控網(wǎng)絡采用了雙冗余的設計結構,這樣即便監(jiān)控對象處在運轉狀態(tài)下,仍然可以安全地切換到訓練模式,實現(xiàn)了監(jiān)控與訓練的同步[4]。
CAN適配器是插于PC機PCI總線插槽的具有CAN通信接口的電路板。從圖2可見,該系統(tǒng)測控臺CAN適配器節(jié)點的實現(xiàn)是關鍵。通過CAN適配器,上位微機才能訪問所有監(jiān)測數(shù)據(jù)。本文選用PCI總線原因在于與其它主流總線相比,PCI總線具有速度快、實時性好等優(yōu)點。
圖3所示的CAN網(wǎng)適配器電路原理圖由PCI總線接口芯片CH365、雙向緩沖接口芯片CH421、Px89C591單片機以及CAN網(wǎng)模式切換接口電路組成。CH365是連接PCI總線的通用接口芯片,支持I/O映射、存儲器映射以及中斷等。CH421則是提供雙向數(shù)據(jù)緩沖的接口芯片,通過其在CH365與單片機Px89c51之間提供雙向數(shù)據(jù)緩沖,實現(xiàn)兩者的異步數(shù)據(jù)交換。當計算機需要與單片機聯(lián)系時,先向CH421寫入數(shù)據(jù),然后通過CH365的地址線A15輸出低電平,使單片機進入中斷程序,從CH421獲取數(shù)據(jù)并處理。單片機也可通過控制數(shù)據(jù)線P10輸出低電平,使計算機進入中斷程序,在程序控制下計算機通過CH365從CH421獲得數(shù)據(jù)并處理。
圖3 CAN網(wǎng)適配器電路原理
上電復位后,系統(tǒng)默認為監(jiān)控模式,數(shù)據(jù)分配器和數(shù)據(jù)選擇器的D1通道被選通,D0通道通信被禁止,上位機接收通訊接口0的數(shù)據(jù)。當需要切換為訓練模式時,上位機通過PCI總線控制單片機,單片機接收到指令后選通數(shù)據(jù)分配器和選擇器的D0通道,禁止D1通道通信。這樣,上位機轉為接收CAN通訊接口1的數(shù)據(jù),上位機將與動力裝置的仿真模型進行數(shù)據(jù)交互。
本文設計的CAN網(wǎng)切換電路,采用帶CAN控制器的單片機P8xC591作為微處理器,CAN總線網(wǎng)絡通信接口由兩個CAN總線收發(fā)器PCA82C250以及數(shù)據(jù)分配器74LS138、數(shù)據(jù)選擇器74LS151組成,硬件連接如圖4所示。
P8xC591為帶CAN控制器的單片8位高性能的微控制器,從屬于80C51微控制器家族。它在80C51標準特性的基礎上增加了一些對于應用具有重要作用的硬件功能。具有16 kb在系統(tǒng)可編程的Flash存儲器,512字節(jié)片內數(shù)據(jù)RAM,32位I/O口線,看門狗定時器,4個中斷優(yōu)先級,15個中斷源,3個16位定時/計數(shù)器,更重要的是它集成了CAN控制器,這將大大簡化應用系統(tǒng)的硬件設計,使之與CAN總線接口芯片PCA82C250可以直接連接。
數(shù)據(jù)分配器74LS138、數(shù)據(jù)選擇器74LS151是高速TTL器件,74LS138芯片可接受3位二進制加權地址輸入(A0,A1和A2),當使能時,根據(jù)地址將數(shù)據(jù)信號分配到相應的通道輸出。74LS151芯片的3個地址輸入端S2、S1、S0,可選擇D0~D7共8個數(shù)據(jù)源,具有兩個互補輸出端。
模式切換電路在能夠正常工作之前,必須對P8xC591微控制器(MCU)進行正確的初始化,包括設置微控制器中斷、CAN通信波特率、CAN控制器的驗收代碼寄存器和驗收屏蔽寄存器以及工 作模式等[5]。
圖4 模式切換電路原理
初始化完成后進入模式切換主程序。系統(tǒng)默認為監(jiān)控模式,P2.0引腳輸出高電平,此時數(shù)據(jù)分配器與數(shù)據(jù)選擇器的地址輸入分別為A2A1A0=001,S2S1S0=001,即74LS138的Y1口被選通并作為數(shù)據(jù)輸出端口,74LS151的D1口被選通并作為數(shù)據(jù)輸入端口,MCU與監(jiān)控網(wǎng)絡上的數(shù)據(jù)收發(fā)器建立通信連接。當要切換到訓練模式時,程序控制P2.0引腳輸出低電平,數(shù)據(jù)分配器與選擇器的地址輸入切換為A2A1A0=000,S2S1S0=000,即74LS138的Y0口作為數(shù)據(jù)輸出端口被選通,74LS151的D0口作為數(shù)據(jù)輸入端口被選通,通過通道切換,MCU與訓練網(wǎng)絡的數(shù)據(jù)收發(fā)器建立通信連接。當再次按下模式切換按鍵時,數(shù)據(jù)通道切換到原通道模式,執(zhí)行相應的功能。圖5為模式切換程序設計流程。
圖5 模式切換程序設計流程
模式切換C51代碼如下。
Void INT0_SW(void)interrupt 0
{
EA=0;//中斷禁能
P2^0=~P2^0;
EA=1;//開中斷
}
Void main(void)
{MCU_init();//MCU初始化子函數(shù)
PeliCAN_init();//片內CAN控制器的初始化子函數(shù)
……
}
利用以太網(wǎng)與現(xiàn)場總線技術解決模式切換問題的關鍵在于解決好數(shù)據(jù)交互通道的匹配,而通過網(wǎng)絡協(xié)議制定匹配規(guī)則靈活性較大,但設計、調試周期長。在現(xiàn)場總線層解決數(shù)據(jù)交互問題具有簡潔、高效的特點,對解決現(xiàn)場總線層數(shù)據(jù)交互通道的選擇問題有一定參考價值。
[1]陸錦輝,張 敏.主推進系統(tǒng)實船訓練系統(tǒng)的研究與實現(xiàn)[J].上海船舶運輸科學研究所學報,2006(1):6-9.
[2]陽憲惠.網(wǎng)絡化控制系統(tǒng)[M].北京:清華大學出版社,2009.
[3]孔慶福,宋金陽.船舶輪機模擬訓練裝置技術現(xiàn)狀及發(fā)展趨勢[J].艦船科學技術,2010(1):26-29.
[4]王術新,余世林,寧海強,等.艦艇主動力裝備模擬訓練系統(tǒng)的開發(fā)與研制[J].船海工程,2008(4):28-30.
[5]饒運濤,鄒繼軍,王進宏,等.現(xiàn)場總線CAN原理與應用技術[M].北京:北京航空航天大學出版社,2007.