1 引言
CAN(Controller Area network,控制器局域網(wǎng)) 總線屬現(xiàn)場總線的一種,由于它具有高性能、高可靠性、高性價比、連接方便、實時性好及其獨特的設(shè)計等突出優(yōu)點而被應(yīng)用于許多工業(yè)部門,目前已成為比較流行的一種現(xiàn)場總線,廣泛應(yīng)用于控制系統(tǒng)中的各檢測和執(zhí)行機構(gòu)之間的數(shù)據(jù)通信。
我們在綜合保護器的設(shè)計中,通常都是采用485總線,通訊也采用命令、響應(yīng)方式。主機發(fā)出查詢信號,各測量模塊與主機通訊,報告各自數(shù)據(jù)及狀態(tài)。但在應(yīng)用現(xiàn)場中,通訊模塊太多,這樣就會使主機十分繁忙,數(shù)據(jù)就有可能不能及時得到響應(yīng)命令;并且一旦有一個模塊出現(xiàn)異常,就會影響到整個系統(tǒng),考慮到實時性和安全性,我們將CAN總線用到了綜合保護器上。
2 CAN總線特點及協(xié)議
CAN總線最初是由德國奔馳公司在80年代初為解決現(xiàn)代汽車中眾多的傳感器和執(zhí)行裝置之間的數(shù)據(jù)通信而開發(fā)的一種先進的串行通訊協(xié)議目的是通過較少的信號線,將汽車上的各種電子設(shè)備將汽車上的各種電子設(shè)備通過網(wǎng)絡(luò)連接起來,并提高數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)目煽啃浴?
2.1 CAN總線有特點
(1) CAN總線通訊速率為1Mbps/40m和5kbps/10km,節(jié)點可達110個,傳輸介質(zhì)為雙絞線和電纜;
(2) CAN總線采用非破壞性仲裁技術(shù),將節(jié)點信息分為不同的優(yōu)先級,可滿足不同的實時性要求;
(3) 當節(jié)點出現(xiàn)錯誤嚴重時,具有自動關(guān)閉總線的功能,切斷它與總線的聯(lián)系,可使總線上其它操作不受影響;
(4) CAN可實現(xiàn)全分布式多機系統(tǒng),且無主從機之分,每個節(jié)點均可在任何時刻主動向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息,可采用點對點,一點對多點及全局廣播幾種方式傳送數(shù)據(jù);
(5) CAN總線文報采用短幀結(jié)構(gòu),每幀信息都有CRC校驗以及其他檢錯措施,使數(shù)據(jù)出錯率低,可靠性極高;
(6) CAN 總線的成本低。
2.2 CAN總線協(xié)議
對通訊數(shù)據(jù)進行編碼(取消了傳統(tǒng)的對站地址編碼),數(shù)據(jù)塊標識符可由11位(CAN2.0A)或29位(CAN2.0B)二進制組成,最多可211或219個數(shù)據(jù)塊,從而使網(wǎng)絡(luò)節(jié)點數(shù)在理論上不受限制,這種按數(shù)據(jù)塊編碼的方式還可使不同的節(jié)點同時接受相同的數(shù)據(jù),這樣給分步式控制系統(tǒng)中實現(xiàn)模塊間的數(shù)據(jù)和控制信息共享帶來了極大方便。CAN 總線通訊接口集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對通訊數(shù)據(jù)的成幀處理(包括位填充,數(shù)據(jù)塊校驗,循環(huán)冗余校驗,優(yōu)先級判別等)。
3 系統(tǒng)硬件電路設(shè)計
系統(tǒng)中主要由上位機和控制器以及相應(yīng)的保護電路構(gòu)成,還有接到PC機內(nèi)部的CAN接口卡,若干個CAN網(wǎng)絡(luò)接點。綜合保護器上的若干個測量模塊(如開關(guān)量輸入輸出模塊EDA9050,計數(shù)測頻模塊EDA9081,繼電器輸出模塊EDA9060等)可以掛接到總線上,獨立地與上位機通訊。CAN總線系統(tǒng)結(jié)構(gòu)框圖如圖1所示:
圖1 CAN總線系統(tǒng)結(jié)構(gòu)框圖
綜合?;テ魇瞧蛴诿旱V系統(tǒng)的,考慮到應(yīng)用環(huán)境的惡劣性,我們在芯片選擇中,選用PCA82C250做CAN收發(fā)器,此芯片能提供向總線差動發(fā)送能力和對CAN控制器的差動接收能力,能增大通信距離,提高系統(tǒng)瞬間抗干擾能力,保護總線,降低射頻干擾等。主控制芯片選用AT89C51,CAN控制器選用具有訪問優(yōu)先權(quán)的獨立控制芯片SJA1000,同時在SJA1000和PCA82C250間加上高速隔離芯片6N137來提高系統(tǒng)抗干擾能力。CAN節(jié)點模塊結(jié)構(gòu)電路如圖2所示:
圖2 CAN節(jié)點模塊結(jié)構(gòu)電路
4 通訊軟件設(shè)計
控制軟件的合理設(shè)計是模塊實時、有效地完成數(shù)據(jù)采集及通信任務(wù)的關(guān)鍵,主要包括系統(tǒng)初始化、CAN信息處理、數(shù)據(jù)采集及處理等功能模塊。系統(tǒng)開放一個定時中斷,定時時間對應(yīng)上位機發(fā)送來的采樣周期。CAN報文的接收主要有2種方式:中斷和查詢方式。為提高系統(tǒng)的實時性,同時也保證接收緩沖器不出現(xiàn)數(shù)據(jù)溢出現(xiàn)象,模塊中采用中斷接收方式。CAN報文發(fā)送采用查詢方式,即當需要發(fā)送數(shù)據(jù)時,將預(yù)先組織好的數(shù)據(jù)幀按字節(jié)寫入SJA1000的發(fā)送緩沖寄存器中。
系統(tǒng)初始化包括對各寄存器初始化,而實際上主要是對SJA1000的初始化,在復位模式下完成初始化:設(shè)置工作方式、接收濾波方式、接收屏蔽寄存器AMR和接收代碼ACR、波特率參數(shù)和中斷允許寄存器等。SJA1000控制器初始化如圖3所示:
圖3 SJA1000控制器初始化
5 結(jié)束語
采用CAN總線的綜合保護器已運用到西山煤礦,性能良好,與以往的485總線綜合保護器相比,有明顯的優(yōu)越性:上位機處理事件更及時、單個模塊不能影響到整個系統(tǒng)、抗干擾性能提高,因此,有很好的推廣價值。
參考文獻
[1] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計. 北京:北京航空航天大學出版社,1996
[2] 鄔寬明. 現(xiàn)場總線技術(shù)應(yīng)用選編(上). 北京:北京航空航天大學出版社,2003
[3] 饒運濤等. 現(xiàn)場總線CAN原理與應(yīng)用技術(shù). 北京:北京航空航天大學出版社,2002
作者簡介
熊珍凱(1979-) 男 在讀碩士 研究方向:計算機測量與控制。
任作新(1938-) 男 教授 研究方向:計算機測量與控制。