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