技術頻道

      CAN總線及其在UPS網絡監控系統中的應用

      1 引言

      隨著網絡的普及,網絡的可靠性越來越受到人們的關注,而影響網絡可靠性的關鍵是網絡系統中的電源系統的可靠穩定,要求能對其運行狀態進行實時監控,及時發現異常情況和事故隱患,在出現異常和故障時迅速進行診斷并予以修復,最大限度地減少ups的停機時間即成必要。筆者針對不間斷電源系統,將can總線技術應用到系統的網絡監控中,并充分利用can能夠以較低的成本、較高的實時處理能力在強電磁干撓環境下可靠地工作的優點,開發出ups網絡監控系統。

      2 can總線概況

      can全稱為controller area network即控制器局域網,是國際上應用最廣泛的現場總線之一。can最初出現在80年代末的汽車工業中,由德國bosch公司最先提出。最初被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ecu之間交換信息形成汽車電子控制網絡,發動機管理系統、變速箱控制器、儀表裝備、電子主干系統中均嵌入can控制裝置。現在它已發展為一種有效支持分布式控制或實時控制的串行通信網絡。

      2.1 can總線特點

      can具有十分優越的特點,使人們樂于選擇,這些特性包括:

      (1) 多主方式工作

      網絡上任意節點可以在任何時刻主動的向任何其他節點發送消息,而不分主從;通信方式靈活,無需站地址等節點信息,可構成多機備份系統;

      (2) 采用非破壞性總線仲裁技術

      節點信息分成不同優先級,滿足不同實時要求。當幾個節點同時向網絡發送消息時,運用逐位仲裁原則,利用幀中開始部分的標識符,優先級低的節點主動停止發送數據,而優先級高的節點則不受任何影響的發送信息;

      (3) 借助接受濾波的多點傳送

      只需通過報文濾波可實現點對點、一點對多點,以及全局廣播等方式傳送,無需專門調度;

      (4) 高速率、遠距離、低出錯率

      can總線通信最高波特率可高達1mbps(采用雙絞線通訊距離40m)、最遠通訊距離為10km(可達5kbps),can協議采用crc校驗并提供相應的錯誤信息處理功能;

      (5) 通信介質選擇靈活

      通信介質可以是雙絞線、同軸電纜或光纖,選擇靈活;

      (6) 半雙工方式工作

      can總線以半雙工的方式工作,一個節點發送消息,多個節點接收消息;

      (7) 抗干擾性能強

      它采用集散控制技術,既可以滿足控制的實時性和數據的實時采集及處理,又可以簡化系統接線、提高控制網絡的抗干擾能力。

      2.2 can總線工作原理

      can的通信介質為帶優先級的cs-ma/ca,網絡上任意節點可以在任何時刻主動的向任何其他節點發送消息,而不分主、從,即當發現總線空閑時,各節點都有權使用網絡。而當發生沖突時,采用非破壞性總線優先仲裁技術,由于每個節點的can總線接口必須接收總線上出現的所有信息,因此必然需要設置一個接收寄存器。先將信息接收,再根據接收的信息標識符決定是否需要讀取信息包中的數據。同時為了避免不必要的頻繁中斷,需要設置一個屏蔽寄存器來濾掉那些所在節點設備不感興趣的信息,獨立的can控制器sja1000裝配了一個多功能的驗收濾波器,該濾波器允許自動檢查id和數據字節,使用這些有效的濾波方法,對于某個節點來說,無效的信息可被防止存儲在接收緩沖器里,因此降低了主控制器的處理負載。由驗收代碼和屏蔽寄存器根據數據表給定算法來控制,接收到的數據會和驗收代碼寄存器中的值進行逐位比較,接收屏蔽寄存器定義與比較相關的位的位置(“0”=相關,“1”=不相關),只有收到信息的相應的位與驗收代碼寄存器相應的位相同,這條信息才會被接收。

      can總線傳遞的信息以信息包的形式出現:
      (1) 信息的消息標識符(11bit);
      (2) 遠地傳送請求(1bit);
      (3) 數據長度表 (4bit);
      (4) 數據(0-8個bit)。

      標識符既用來表明信息的類型(數據幀,遠程幀),也用來表明信息的優先級;遠地傳送請求指需要數據的節點可以請求另一個節點發送一個相應的數據幀,該數據幀和對應的遠程幀以相同的標識符id命名。

      2.3 接口電路


      圖1 can總線系統單個節點硬電路圖

      圖1為can總線控制器與can通信網絡的接口電路。從圖1中可以看出,此部分電路主要由三部分所構成:獨立can總線控制器sja1000t、總線收發器82c250和高速光電耦合器6n137。各部分功能如下:

      (1) can控制器sja1000t

      sja1000t內部集成了can總線的協議,與用戶端控制器一起完成can的各項功能,起到中間協調作用;

      (2) 總線收發器82c250

      sja1000與can物理總線之間的接口為82c250,它可提供對總線的差動發送能力和對can控制器的差動接收能力,具有較強的抗干擾能力。通過對腳8(rs)的不同連接可以實現三種不同的工作方式:高速、斜率控制和待機,本系統中采用斜率控制,以降低射頻干擾;

      (3) 高速光耦6n137

      為了增強can總線節點的抗干擾能力,sja1000 的tx0和rxo并不是直接與82c250的txd和rxd相連,而是通過高速光耦6n137后與82c250相連,這樣就很好的實現了總線上各can節點間的電氣隔離, 不過應該特別說明的一點是光耦部分電路所采用的兩個電源vcc和vdd必須完全隔離,否則采用光耦也就失去了意義,電源的完全隔離可采用小功率電源隔離模塊或帶多5v隔離輸出的開關電源模塊實現,這些部分雖然增加了節點的復雜但是卻提高了節點的穩定性和安全性;

      (4)82c250與can總線的接口部分

      采用了一定的安全和抗干擾措施。82c250 的canh和canl引腳各自通過一個5ω的電阻與can總線相連,電阻可起到一定的限流作用,保護82c250免受過流的沖擊;canh和canl與地之間并聯了2個100pf的電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力;在兩根can總線接入端與地之間分別反接了一個保護二極管,當can總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用。

      3 系統簡介

      系統的結構圖如圖2所示。


      圖2 并聯ups網絡系統結構圖

      圖2中本地pc監控機及遠程網監控機完成對該系統的數據實時監視及控制;顯示監控模塊在系統的面板上,與ups1、ups2、ups3(僅列舉3個,實際做到6個)通過can總線組成canbus網絡,顯示監控模塊主要通過can總線完成對下面各ups相關數據的采集,并與系統機顯示模塊、本地pc監控機、遠程網監控機進行通信;ups1、ups2、ups3為本系統的可單獨運行供電的不間斷電源。canbus網絡通過can_h和can_l及外加在兩端的電阻rt(rt=124ω)組成,其上的節點can_h和can_l分別接在canbus網絡的can_h和can_l上,目前canbus網絡上最多可接110個節點。

      鑒于本系統的要求,ups1、ups2、ups3及顯示監控模塊的控制芯片均采用ti公司生產的tms320f240dsp,can控制器采用philip公司生產的sja1000t。

      3.1 dsp與can總線控制器硬件接口

      dsp與can控制器sja1000t之間的接口電路如圖3所示。


      圖3 dsp與can控制器sja1000t之間的接口電路

      sja1000t的存儲空間映射在微控制器dsp的i/o空間,對sja1000存儲空間的尋址必須用指令in和out。在intel方式下讀寫sja1000時,地址和數據是分時傳送的,地址在前,數據在后。根據dsp對外設端口的邏輯時序及sja1000t要求的讀寫邏輯時序,除了dsp的基本讀寫引腳we、w/r外,我們還選用a14、a15、is為控制腳,控制sja1000地址空間和數據空間的選通,當a15=1、a14=0時為地址空間,選通ale和cs;當a15=1、a14=0時為數據空間,此時對于dsp來說,寫則選通sja1000t的wr和cs, 讀則選通sja1000t的rd/w和cs,從而完成了dsp與sja1000t之間的數據傳遞。

      另外,由于接收數據采用中斷方式,故在dsp上選用外部中斷xint1作為中斷源,而sja1000t是低有效,故通過一個上拉電阻接vcc。

      4 can通信網絡軟件設計

      單個can節點通信的功能主要是將本節點的數據信息傳送給can通信網絡其它節點,以及接收網絡上其它節點傳送來的信息。can總線單個節點的軟件設計主要包括三大部分:can節點初始化、信息的發送和信息的接收。設計時將can初始化、發送信息(數據和遠程幀)設計為子程序,發送信息采用查詢方式,接收信息采用中斷方式。

      (1) 初始化子程序

      sja1000的初始化只有在復位模式下才可以進行,初始化主要包括工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器amr和接收代碼寄存器acr的設置、波特率參數設置和中斷允許寄存器ier的設置等。在完成sja1000的初始化設置以后,sja1000就可以回到工作狀態,進行正常的通信任務,其源程序如下:
      data_can .set 0c000h
      dress_can .set 8000h
      can_start:
      ldp #4
      splk #0,temp ;控制寄存器(mod)設置
      out temp,dress_can
      splk #1bh, temp ;復位模式
      out temp,data_can ;sja1000進行初始化
      splk #0, temp
      out temp,dress_can
      in temp,data_can
      bit temp,bit0
      bcnd can_reset,ntc
      splk #4,canflag ;設置驗收代碼寄存器
      out temp,dress_can
      splk #01h,canflag
      out temp,data_can
      splk #5, temp ;設置驗收屏蔽寄存器
      out temp,dress_can
      splk #000h, temp
      out temp,data_can
      splk #31, temp ;設置時鐘分頻寄存器(cdr)
      out temp,dress_can
      splk #48h, temp ;選擇basiccan模式,關
      ;閉時鐘(clkout)
      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 ;設置雙濾波接收方式,并
      ;返回工作狀態
      out temp,data_can
      splk #0, temp
      out temp,dress_can
      in temp,data_can
      bit temp,bit0
      bcnd can_work,tc
      ret

      (2) 發送子程序

      負責單節點信息的發送,發送時只需將待發送的信息按特定格式組合成一幀,送入sja1000發送緩存區中,然后啟動sja1000發送即可,當然在往sja1000發送緩存區送信息之前必須先作一些查詢判斷,直到空閑時才能發送,發送子程序分發送遠程幀子程序和數據幀子程序兩種,遠程幀無數據場;

      (3) 接收子程序

      負責單節點信息的接收以及其它情況處理。當can控制器接收到信息后向微控制器發出中斷響應信號,微控制器在中斷程序中將接收到的信息讀入,再根據信息來控制節點的動作。接收子程序比發送子程序要復雜一些,因為在處理接收信息可能是諸如總線脫離、錯誤報警、接收溢出等中斷,要對其進行處理。

      5 結束語

      目前,該網絡監控系統已經在廣東某集團公司18kva-6*3kva可熱插拔模塊化不間斷電源上使用,經過了運行和調試。驗證了使用can總線技術使系統布線更加靈活,具有通信質量可靠、響應速度快、實時性好的特點,滿足整個系統可熱插拔的要求。

      參考文獻
      [1] 瞿 坦. 計算機網絡及應用[m]. 北京:化學工業出版社,2002.
      [2] philips.sja1000 stand-alone can controller product specification.2000 jan 04.
      [3] 張永強.ups的網絡監控[j]. 電力學報,2002,16(1):54.

      作者簡介
      謝紅勝(1975-) 男 碩士研究生 主要從事于ups的并聯及其網絡監控技術研究。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 精品女同一区二区三区免费播放 | 一区二区在线电影| 影院成人区精品一区二区婷婷丽春院影视 | 国产一区二区电影在线观看| 国产av成人一区二区三区| 亚洲熟女少妇一区二区| 麻豆一区二区在我观看| 精品国产AV无码一区二区三区| 日本人真淫视频一区二区三区 | 亚洲一区二区三区AV无码| 一区二区三区午夜视频| 中文字幕av一区| 精品人体无码一区二区三区| 一区二区三区四区视频| 日本高清天码一区在线播放| 中文字幕乱码一区二区免费| 精品国产鲁一鲁一区二区| 视频一区二区在线播放| 性无码免费一区二区三区在线 | 亚洲一区二区中文| 日韩人妻无码免费视频一区二区三区| 日韩一区二区三区在线观看| 日产精品久久久一区二区| 在线不卡一区二区三区日韩| 久久se精品一区二区| 在线视频精品一区| 亚洲日本一区二区三区| 北岛玲在线一区二区| 亚洲一区中文字幕在线观看| 亚洲人AV永久一区二区三区久久| 少妇无码一区二区三区免费| 美女福利视频一区二区 | 国产精品亚洲一区二区三区| 亚洲一区二区三区香蕉| 国产精品亚洲综合一区在线观看| 99久久精品国产一区二区成人| av在线亚洲欧洲日产一区二区| 一区二区亚洲精品精华液| 国产一区二区精品| 亚洲国产成人久久综合一区77| 中文字幕AV一区二区三区人妻少妇|