CAN總線在逆變電源監(jiān)控模塊中的研究與應(yīng)用
新型高頻中小功率逆變電源設(shè)備運(yùn)用電源模塊之間的并聯(lián)實現(xiàn)功率合成,組成積木式、智能化的分布式大功率電源系統(tǒng),是當(dāng)今很有應(yīng)用前景的新型技術(shù)。將若干電源模塊組合起來,可以構(gòu)成任意功率等級的供電系統(tǒng),有著廣泛的應(yīng)用前景。以現(xiàn)場總線為基礎(chǔ)的全數(shù)字化自動控制系統(tǒng)是當(dāng)今世界各國在工業(yè)自動化領(lǐng)域的熱點課題。本文采用CAN現(xiàn)場總線組建監(jiān)控網(wǎng)絡(luò),對含DSP的嵌入式智能控制器的電源模塊進(jìn)行單模塊和多模塊監(jiān)控。
CAN (Controler Area Network)總線屬于現(xiàn)場總線的范疇,是一種串行數(shù)據(jù)通信總線。CAN總線結(jié)構(gòu)模型取ISO/OSI參考模型的第1、2、7層協(xié)議,即物理層、數(shù)據(jù)鏈路層和應(yīng)用層。應(yīng)用層的內(nèi)容主要取決于用戶的需要,所以實際應(yīng)用CAN總線時,用戶可以根據(jù)需要實現(xiàn)應(yīng)用層的功能。
2 系統(tǒng)結(jié)構(gòu)
逆變電源現(xiàn)場總線監(jiān)控系統(tǒng)包括上位機(jī)操作站、現(xiàn)場DSP模塊控制器。在系統(tǒng)中設(shè)置一臺PC計算機(jī)(以下均稱操作站),它負(fù)責(zé)對整個系統(tǒng)進(jìn)行管理。操作站通過CAN接口適配卡與以DSP為核心的逆變電源模塊控制器(以下均稱控制器)通信,實現(xiàn)對逆變電源的監(jiān)控功能。系統(tǒng)采用適配卡SC2102作為PC機(jī)與CAN總線的接口,通過連接器與CAN總線相連,負(fù)責(zé)CAN總線與PC機(jī)之間數(shù)據(jù)交換的功能模塊。各個電源模塊的控制器間以及模塊控制器與操作站之間通過控制器局域網(wǎng)(CAN)連接通信,在硬件實現(xiàn)上采用DSP TMS320LF2407A的內(nèi)嵌CAN控制器實現(xiàn)與上位機(jī)的數(shù)字通信。
操作站軟件分為三個基本的模塊:通信模塊、主監(jiān)控模塊、數(shù)據(jù)管理模塊。通信模塊的功能包括利用CAN適配卡及其函數(shù)庫,實現(xiàn)CAN總線應(yīng)用層協(xié)議,實現(xiàn)操作站與各控制器的網(wǎng)絡(luò)通信,完成通信命令和數(shù)據(jù)的編/解碼以及特殊處理。主監(jiān)控模塊的功能包括提供監(jiān)控界面;系統(tǒng)運(yùn)行的初始化配置功能;查詢各現(xiàn)場單元的實時采集數(shù)據(jù),并將數(shù)據(jù)實時顯示;設(shè)置被控對象的參數(shù),保證逆變電源的正常運(yùn)行。數(shù)據(jù)管理與顯示模塊包括對各現(xiàn)場單元的采集數(shù)據(jù)的處理,報警,統(tǒng)計,報表查詢輸出;數(shù)據(jù)查詢等。
3 CAN總線應(yīng)用層的實現(xiàn)
CAN物理層和數(shù)據(jù)鏈路層協(xié)議在CAN的相關(guān)器件中已經(jīng)基本實現(xiàn)了,而應(yīng)用層協(xié)議至今仍然沒有統(tǒng)一的標(biāo)準(zhǔn),并且現(xiàn)實應(yīng)用又是多種多樣的,所以,如何選用或制定一種CAN應(yīng)用層協(xié)議,就成為CAN網(wǎng)絡(luò)應(yīng)用中的核心問題。
3.1報文格式
操作站與控制器之間的通信是實現(xiàn)監(jiān)控制功能的基礎(chǔ)和關(guān)鍵。針對逆變電源監(jiān)控系統(tǒng),經(jīng)過通信雙方具體協(xié)商制定,使用現(xiàn)場總線CAN網(wǎng)絡(luò)技術(shù),制定了CAN應(yīng)用層協(xié)議,包括報文格式,標(biāo)識符的分配,多報文的處理,錯誤處理等。報文個格式如圖2所示。
(1)廣播位 操作站向控制器發(fā)送廣播時該位為1,其它情況為0。
(2)目標(biāo)地址 表示數(shù)據(jù)報文所要到達(dá)節(jié)點的地址。
(3)數(shù)據(jù)包類型(TYPE) 報文的類型。
(4)RTR位 在數(shù)據(jù)報文中必須是“顯性”電平0,在遠(yuǎn)程報文中必須是“隱性”電平1。
(5)數(shù)據(jù)長度碼DLC 標(biāo)識報文中該字節(jié)往后的數(shù)據(jù)長度,最長為8字節(jié)。
(6)源地址 表示發(fā)出數(shù)據(jù)報文的節(jié)點地址,當(dāng)接收節(jié)點收到此報文后,會把此源地址作為目標(biāo)地址發(fā)送響應(yīng)報文。
(7)忙 表示操作站正與某一控制器通信,此時此位為1。
3.2標(biāo)識符分配方案
由CAN的數(shù)據(jù)鏈路層協(xié)議已經(jīng)知道,CAN的每一幀都有一個11位的標(biāo)識符,用來標(biāo)識該幀數(shù)據(jù),并且決定仲裁。
標(biāo)識符分配是CAN應(yīng)用層協(xié)議中的重要問題,標(biāo)識符要能反映報文的地址信息,報文類型,體現(xiàn)報文級別。另外,很重要的是報文標(biāo)識符決不能重復(fù)。在逆變電源監(jiān)控系統(tǒng)CAN應(yīng)用層協(xié)議中,標(biāo)識符由三項確定:廣播位,地址域和數(shù)據(jù)包類型域,如圖3所示。
這三項包含了是主機(jī)還是從機(jī),網(wǎng)絡(luò)節(jié)點地址以及報文承載的數(shù)據(jù)信息。廣播位決定一半的優(yōu)先級,因此主機(jī)發(fā)出的命令優(yōu)先級一定高于從機(jī)的數(shù)據(jù)。網(wǎng)絡(luò)節(jié)點地址域使不同節(jié)點發(fā)出的報文標(biāo)識符不同。
3.3 多報文的處理
在數(shù)據(jù)鏈路層中,CAN協(xié)議規(guī)定每幀最大8字節(jié)。為了傳輸大于8字節(jié)的數(shù)據(jù)包,在應(yīng)用層中采用多報文機(jī)制。多報文發(fā)送時要有報文標(biāo)識,在多報文的發(fā)送期間通過識別這一標(biāo)識判斷是否屬于同一多報文,在多報文發(fā)送完畢時有多報文結(jié)束標(biāo)識。在報文發(fā)送期間,如果同時收到其它報文則不做處理,待多報文發(fā)送完畢后再讓它重新發(fā)送。
3.4 錯誤處理
對于數(shù)據(jù)傳輸中的錯誤,應(yīng)采取分層的概念做出處理。即下一層對上一層提交一定可信度的信道,使上一層只關(guān)注于解決本層可能出現(xiàn)的錯誤,并解決下一層無法處理,提交上來的錯誤。反之,上一層如果認(rèn)為下一層信道是安全可靠的,在把數(shù)據(jù)交給下一層后,它將不認(rèn)為會出現(xiàn)數(shù)據(jù)傳輸錯誤,當(dāng)然對線路斷開,目的站離線等嚴(yán)重錯誤,下一層無法解決的錯誤,交給上一層后,上層要有解決措施,幫助恢復(fù)下層信道。
評論