您現(xiàn)在的位置:
中國傳動網(wǎng)
>
技術(shù)頻道
>
應(yīng)用方案
>
CAN總線及其在UPS網(wǎng)絡(luò)監(jiān)控系統(tǒng)中的應(yīng)用
時(shí)間:2008-10-28 10:49:00來源:zhangting
圖1 can總線系統(tǒng)單個(gè)節(jié)點(diǎn)硬電路圖[/align]
圖1為can總線控制器與can通信網(wǎng)絡(luò)的接口電路。從圖1中可以看出,此部分電路主要由三部分所構(gòu)成:獨(dú)立can總線控制器sja1000t、總線收發(fā)器82c250和高速光電耦合器6n137。各部分功能如下:
(1) can控制器sja1000t
sja1000t內(nèi)部集成了can總線的協(xié)議,與用戶端控制器一起完成can的各項(xiàng)功能,起到中間協(xié)調(diào)作用;
(2) 總線收發(fā)器82c250
sja1000與can物理總線之間的接口為82c250,它可提供對總線的差動發(fā)送能力和對can控制器的差動接收能力,具有較強(qiáng)的抗干擾能力。通過對腳8(rs)的不同連接可以實(shí)現(xiàn)三種不同的工作方式:高速、斜率控制和待機(jī),本系統(tǒng)中采用斜率控制,以降低射頻干擾;
(3) 高速光耦6n137
為了增強(qiáng)can總線節(jié)點(diǎn)的抗干擾能力,sja1000 的tx0和rxo并不是直接與82c250的txd和rxd相連,而是通過高速光耦6n137后與82c250相連,這樣就很好的實(shí)現(xiàn)了總線上各can節(jié)點(diǎn)間的電氣隔離, 不過應(yīng)該特別說明的一點(diǎn)是光耦部分電路所采用的兩個(gè)電源vcc和vdd必須完全隔離,否則采用光耦也就失去了意義,電源的完全隔離可采用小功率電源隔離模塊或帶多5v隔離輸出的開關(guān)電源模塊實(shí)現(xiàn),這些部分雖然增加了節(jié)點(diǎn)的復(fù)雜但是卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性;
(4)82c250與can總線的接口部分
采用了一定的安全和抗干擾措施。82c250 的canh和canl引腳各自通過一個(gè)5ω的電阻與can總線相連,電阻可起到一定的限流作用,保護(hù)82c250免受過流的沖擊;canh和canl與地之間并聯(lián)了2個(gè)100pf的電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力;在兩根can總線接入端與地之間分別反接了一個(gè)保護(hù)二極管,當(dāng)can總線有較高的負(fù)電壓時(shí),通過二極管的短路可起到一定的過壓保護(hù)作用。
3 系統(tǒng)簡介
系統(tǒng)的結(jié)構(gòu)圖如圖2所示。
[align=center]
圖2 并聯(lián)ups網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)圖[/align]
圖2中本地pc監(jiān)控機(jī)及遠(yuǎn)程網(wǎng)監(jiān)控機(jī)完成對該系統(tǒng)的數(shù)據(jù)實(shí)時(shí)監(jiān)視及控制;顯示監(jiān)控模塊在系統(tǒng)的面板上,與ups1、ups2、ups3(僅列舉3個(gè),實(shí)際做到6個(gè))通過can總線組成canbus網(wǎng)絡(luò),顯示監(jiān)控模塊主要通過can總線完成對下面各ups相關(guān)數(shù)據(jù)的采集,并與系統(tǒng)機(jī)顯示模塊、本地pc監(jiān)控機(jī)、遠(yuǎn)程網(wǎng)監(jiān)控機(jī)進(jìn)行通信;ups1、ups2、ups3為本系統(tǒng)的可單獨(dú)運(yùn)行供電的不間斷電源。canbus網(wǎng)絡(luò)通過can_h和can_l及外加在兩端的電阻rt(rt=124ω)組成,其上的節(jié)點(diǎn)can_h和can_l分別接在canbus網(wǎng)絡(luò)的can_h和can_l上,目前canbus網(wǎng)絡(luò)上最多可接110個(gè)節(jié)點(diǎn)。
鑒于本系統(tǒng)的要求,ups1、ups2、ups3及顯示監(jiān)控模塊的控制芯片均采用ti公司生產(chǎn)的tms320f240dsp,can控制器采用philip公司生產(chǎn)的sja1000t。
3.1 dsp與can總線控制器硬件接口
dsp與can控制器sja1000t之間的接口電路如圖3所示。
[align=center]
圖3 dsp與can控制器sja1000t之間的接口電路[/align]
sja1000t的存儲空間映射在微控制器dsp的i/o空間,對sja1000存儲空間的尋址必須用指令in和out。在intel方式下讀寫sja1000時(shí),地址和數(shù)據(jù)是分時(shí)傳送的,地址在前,數(shù)據(jù)在后。根據(jù)dsp對外設(shè)端口的邏輯時(shí)序及sja1000t要求的讀寫邏輯時(shí)序,除了dsp的基本讀寫引腳we、w/r外,我們還選用a14、a15、is為控制腳,控制sja1000地址空間和數(shù)據(jù)空間的選通,當(dāng)a15=1、a14=0時(shí)為地址空間,選通ale和cs;當(dāng)a15=1、a14=0時(shí)為數(shù)據(jù)空間,此時(shí)對于dsp來說,寫則選通sja1000t的wr和cs, 讀則選通sja1000t的rd/w和cs,從而完成了dsp與sja1000t之間的數(shù)據(jù)傳遞。
另外,由于接收數(shù)據(jù)采用中斷方式,故在dsp上選用外部中斷xint1作為中斷源,而sja1000t是低有效,故通過一個(gè)上拉電阻接vcc。
4 can通信網(wǎng)絡(luò)軟件設(shè)計(jì)
單個(gè)can節(jié)點(diǎn)通信的功能主要是將本節(jié)點(diǎn)的數(shù)據(jù)信息傳送給can通信網(wǎng)絡(luò)其它節(jié)點(diǎn),以及接收網(wǎng)絡(luò)上其它節(jié)點(diǎn)傳送來的信息。can總線單個(gè)節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括三大部分:can節(jié)點(diǎn)初始化、信息的發(fā)送和信息的接收。設(shè)計(jì)時(shí)將can初始化、發(fā)送信息(數(shù)據(jù)和遠(yuǎn)程幀)設(shè)計(jì)為子程序,發(fā)送信息采用查詢方式,接收信息采用中斷方式。
(1) 初始化子程序
sja1000的初始化只有在復(fù)位模式下才可以進(jìn)行,初始化主要包括工作方式的設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器amr和接收代碼寄存器acr的設(shè)置、波特率參數(shù)設(shè)置和中斷允許寄存器ier的設(shè)置等。在完成sja1000的初始化設(shè)置以后,sja1000就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù),其源程序如下:
data_can .set 0c000h
dress_can .set 8000h
can_start:
ldp #4
splk #0,temp ;控制寄存器(mod)設(shè)置
out temp,dress_can
splk #1bh, temp ;復(fù)位模式
out temp,data_can ;sja1000進(jìn)行初始化
splk #0, temp
out temp,dress_can
in temp,data_can
bit temp,bit0
bcnd can_reset,ntc
splk #4,canflag ;設(shè)置驗(yàn)收代碼寄存器
out temp,dress_can
splk #01h,canflag
out temp,data_can
splk #5, temp ;設(shè)置驗(yàn)收屏蔽寄存器
out temp,dress_can
splk #000h, temp
out temp,data_can
splk #31, temp ;設(shè)置時(shí)鐘分頻寄存器(cdr)
out temp,dress_can
splk #48h, temp ;選擇basiccan模式,關(guān)
;閉時(shí)鐘(clkout)
out temp,data_can
splk #6, temp ;設(shè)置總線定時(shí)寄存器0
out temp,dress_can
splk #0c4h, temp ;tscl=10tclk,tclk為xtal
;的頻率周期(20mhz)
out temp,data_can ;不同總線控制器的時(shí)鐘
;振蕩器間的相對偏移為0
splk #7, temp ;設(shè)置總線定時(shí)寄存器1
out temp,dress_can
splk #0beh, temp ;設(shè)置tsyncseg=tscl,
;ttseg1=15tscl,ttseg2=4tscl
out temp,data_can ;位周期為20tscl,故在
;20mhz晶振情況下,設(shè)置波特率為100kbps
splk #8, temp ;設(shè)置輸出控制寄存器
out temp,dress_can
splk #1ah, temp ;正常輸出模式
out temp,data_can ;tx1懸空,tx0推挽式
can_work ldp #4
splk #0, temp ;設(shè)置模式寄存器(mod)
out temp,dress_can
splk #1ah, temp ;設(shè)置雙濾波接收方式,并
;返回工作狀態(tài)
out temp,data_can
splk #0, temp
out temp,dress_can
in temp,data_can
bit temp,bit0
bcnd can_work,tc
ret
(2) 發(fā)送子程序
負(fù)責(zé)單節(jié)點(diǎn)信息的發(fā)送,發(fā)送時(shí)只需將待發(fā)送的信息按特定格式組合成一幀,送入sja1000發(fā)送緩存區(qū)中,然后啟動sja1000發(fā)送即可,當(dāng)然在往sja1000發(fā)送緩存區(qū)送信息之前必須先作一些查詢判斷,直到空閑時(shí)才能發(fā)送,發(fā)送子程序分發(fā)送遠(yuǎn)程幀子程序和數(shù)據(jù)幀子程序兩種,遠(yuǎn)程幀無數(shù)據(jù)場;
(3) 接收子程序
負(fù)責(zé)單節(jié)點(diǎn)信息的接收以及其它情況處理。當(dāng)can控制器接收到信息后向微控制器發(fā)出中斷響應(yīng)信號,微控制器在中斷程序中將接收到的信息讀入,再根據(jù)信息來控制節(jié)點(diǎn)的動作。接收子程序比發(fā)送子程序要復(fù)雜一些,因?yàn)樵谔幚斫邮招畔⒖赡苁侵T如總線脫離、錯誤報(bào)警、接收溢出等中斷,要對其進(jìn)行處理。
5 結(jié)束語
目前,該網(wǎng)絡(luò)監(jiān)控系統(tǒng)已經(jīng)在廣東某集團(tuán)公司18kva-6*3kva可熱插拔模塊化不間斷電源上使用,經(jīng)過了運(yùn)行和調(diào)試。驗(yàn)證了使用can總線技術(shù)使系統(tǒng)布線更加靈活,具有通信質(zhì)量可靠、響應(yīng)速度快、實(shí)時(shí)性好的特點(diǎn),滿足整個(gè)系統(tǒng)可熱插拔的要求。
參考文獻(xiàn)
[1] 瞿 坦. 計(jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用[m]. 北京:化學(xué)工業(yè)出版社,2002.
[2] philips.sja1000 stand-alone can controller product specification.2000 jan 04.
[3] 張永強(qiáng).ups的網(wǎng)絡(luò)監(jiān)控[j]. 電力學(xué)報(bào),2002,16(1):54.
作者簡介
謝紅勝(1975-) 男 碩士研究生 主要從事于ups的并聯(lián)及其網(wǎng)絡(luò)監(jiān)控技術(shù)研究。標(biāo)簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(m.y3602.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
2025-09-23
2025-09-23