CAN總線及其在UPS網絡監(jiān)控系統(tǒng)中的應用
out temp,data_can
splk #6, temp ;設置總線定時寄存器0
out temp,dress_can
splk #0c4h, temp ;tscl=10tclk,tclk為xtal
;的頻率周期(20mhz)
out temp,data_can ;不同總線控制器的時鐘
;振蕩器間的相對偏移為0
splk #7, temp ;設置總線定時寄存器1
out temp,dress_can
splk #0beh, temp ;設置tsyncseg=tscl,
;ttseg1=15tscl,ttseg2=4tscl
out temp,data_can ;位周期為20tscl,故在
;20mhz晶振情況下,設置波特率為100kbps
splk #8, temp ;設置輸出控制寄存器
out temp,dress_can
splk #1ah, temp ;正常輸出模式
out temp,data_can ;tx1懸空,tx0推挽式
can_work ldp #4
splk #0, temp ;設置模式寄存器(mod)
out temp,dress_can
splk #1ah, temp ;設置雙濾波接收方式,并
;返回工作狀態(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ā)送子程序
負責單節(jié)點信息的發(fā)送,發(fā)送時只需將待發(fā)送的信息按特定格式組合成一幀,送入sja1000發(fā)送緩存區(qū)中,然后啟動sja1000發(fā)送即可,當然在往sja1000發(fā)送緩存區(qū)送信息之前必須先作一些查詢判斷,直到空閑時才能發(fā)送,發(fā)送子程序分發(fā)送遠程幀子程序和數據幀子程序兩種,遠程幀無數據場;
(3) 接收子程序
負責單節(jié)點信息的接收以及其它情況處理。當can控制器接收到信息后向微控制器發(fā)出中斷響應信號,微控制器在中斷程序中將接收到的信息讀入,再根據信息來控制節(jié)點的動作。接收子程序比發(fā)送子程序要復雜一些,因為在處理接收信息可能是諸如總線脫離、錯誤報警、接收溢出等中斷,要對其進行處理。
5 結束語
目前,該網絡監(jiān)控系統(tǒng)已經在廣東某集團公司18kva-6*3kva可熱插拔模塊化不間斷電源上使用,經過了運行和調試。驗證了使用can總線技術使系統(tǒng)布線更加靈活,具有通信質量可靠、響應速度快、實時性好的特點,滿足整個系統(tǒng)可熱插拔的要求。
參考文獻
[1] 瞿 坦. 計算機網絡及應用[m]. 北京:化學工業(yè)出版社,2002.
[2] philips.sja1000 stand-alone can controller product specification.2000 jan 04.
[3] 張永強.ups的網絡監(jiān)控[j]. 電力學報,2002,16(1):54.
評論