CAN總線在消防產品的運用

前言:尋找寫作靈感?中文期刊網用心挑選的CAN總線在消防產品的運用,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

CAN總線在消防產品的運用

 

當今時代科學技術飛速發展,帶動計算機軟硬件技術和集成電路技術的發展,對于我們以前使用傳統的現場總線技術正在悄悄地發生一場新的變革。我們單位以前在控制器和控制器之間通訊用的數據通訊協議是RS485標準,在使用過程中發現有很多問題,比如說通訊距離短、容易出現通訊錯誤等缺點。隨著總線技術的推廣陸續出現了幾種標準:ISP、HART、LONWORKS、can等,我們對這幾種總線技術進行了分析,覺得CAN總線技術具有性能高、可靠性高、傳輸距離遠和穩定性高的特點,所以決定將CAN總線技術應用到消防產品中,下面主要談談如何應用的。   1CAN總線技術介紹   CAN總線是ControllerAreaNetwork的簡稱,最早是德國Bosch公司開始研究開發的一種串行數據通訊協議,主要目的是為了解決汽車中的數據傳輸,由于汽車中干擾非常大,必須有一種可靠穩定的數據傳輸協議。CAN總線就是在這種情況下誕生的。它是一種多主總線方式,就是說在通訊線上可以存在多個主機并行的情況,這和以前我們使用的RS485總線方式是完全不一樣的,RS485總線通訊線上只能而且必須有一個是作為主機存在,其他的都是從機。還有CAN對于通信介質沒有太嚴格的要求,既可以是雙絞線,又可以是同軸電纜,還可以是光導纖維。CAN總線的通信速率最高可以達到1Mbps,通信速率可以在軟件中設置,使用起來非常靈活。   CAN協議的一個最大特點是我們可以對通信數據塊進行編碼。數據塊的標識碼可由11位二進制數組成,因此可以定義211個不同的數據塊,數據段長度最多為8個字節,這樣可以滿足在工業控制中的控制命令、器件狀態這些信息傳遞的需求。CAN總線卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互連,因此,越來越受到工業界的重視,并已公認為最有前途的現場總線之一。CAN總線與以前的BITBUS、RS485總線相比有如下特性:   1.1CAN總線可以多主方式工作,在網絡上的任意一個節點在總線空閑的時候都可以主動向網絡上的其它節點發送信息,而不分主從,通訊方式靈活。   1.2CAN總線網絡上的節點(信息)可按照內部設定成不同的優先級,可以滿足不同的實時要求。   1.3CAN總線采用總線裁決技術,如果說同一時間有兩個節點需要向網絡傳送信息,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳輸數據,這些都是由硬件自動完成的,不需要你在軟件中設置,節省時間,防止出現網絡癱瘓情況。   1.4CAN總線數據傳輸方式多,可以點對點、一點對多點(成組)及全局廣播幾種方式傳送、接收數據。我們在消防產品中主要用到點對點和全局廣播這兩種傳輸方式。   1.5CAN總線通訊距離非常遠,在低速率的情況下直接通訊距離最遠可達10KM。   1.6CAN總線上的理論節點數可達100多個,對于一個大型的消防系統,這個數量完全可以分配給各個設備來使用。   1.7CAN每幀信息都有CRC校驗及其它檢錯措施,保證了數據出錯率極低。   1.8CAN采用短幀的有效字節數為8個,這樣傳輸時間短,受干擾的概率低且具有極好的檢錯效果。   1.9CAN總線每一個節點在自身發生錯誤嚴重的時候,可以自動切斷本身與總線的聯系,以使總線上的其它節點不受影響。我在產品中使用的CAN總線控制器是PHILIPS公司的SJA1000,CAN總線收發器是PHILIPS公司的82C250。下面對SJA1000和82C250做一下簡要介紹:SJA1000具有完成高性能通信協議所要求的全部必要特性。具有簡單總線連接的SJA1000可完成物理層和數據層的所有功能。其主要特性有:*多主結構*可連接各種類型微控制器接口*訪問總線優先權*多種報文標識符*強有力的錯誤處理能力*數據長度為0~8個字節*可組態總線接口*可編程時鐘輸出*成組和廣播報文功能*無損結構的逐位仲裁*傳送速率可編程(最高為1Mbps)   2控制段和報文緩存器   SJA1000的地址域由控制段和報文緩存器組成;   2.1控制寄存器   控制寄存器的內容用于改變SJA1000的狀態,控制位可被微控制器置位或復位,其將控制寄存器作為讀/寫存貯器;   2.2命令寄存器(CMR)   命令寄存器對微控制器來說是只寫存儲器。對此寄存器進行訪問時返回值是“11111111”。在釋放接收緩存器命令的同時,可以發出清除數據溢出命令。讀接收緩存器之后,微控制器可以通過設置釋放接收緩存器為1,來釋放接收隊列當前信息的內存空間;   2.3狀態寄存器(SR)   狀態寄存器的內容影響總線控制器的狀態。狀態對于微控制器作為只讀存貯器出現;   2.4中斷寄存器(IR)   中斷寄存器允許識別中斷源,當寄存器的一個或更多位被置位,INT引腳被激活。在該寄存器被微控制器讀出后,所有位被SJA1000復位。該寄存器對于微控制器作為只讀存貯器出現;82C250是CAN控制器和物理總線間的接口,它最初為汽車高速通信(最高達1Mbps)應用設計,器件可以提供對總線的差動發送能力和對CAN控制器的差動接收能力。具有抗瞬間干擾保護總線的能力,具有降低射頻干擾的斜率控制。最多可以連接100多個節點。(如圖2)   下面從硬件電路和軟件設計兩部分來介紹。圖(2)是部分電路原理圖。注意SJA1000復位端的連接,80C31是高電平復位,而SJA是低電平復位,因此在接復位信號時,將RESET和P1.7經過與門(74HC32)和非門(74HC14)與SJA1000的復位端相連。另外SJA1000的11腳MODE接高電平,選擇Intel二分頻模式。SJA1000的16腳是中斷信號輸出端,在中斷允許情況下,有中斷發生時,16腳出現由高電平到低電平的跳變,因此,16腳可以直接與80C31的外部中斷輸入端相連接。在設計單元電路時還要注意下面兩點。a)在總線兩端各接一個120Ω的總線阻抗匹配電阻。忽略掉它們會降低總線的抗干擾能力,甚至導致無法通信。b)SJA1000的TX1腳懸空,RX1引腳的電位必須維持在0.5VCC上,否則,將不能形成CAN協議所要求的電平邏輯。#p#分頁標題#e#   報文接收條件:接收代碼位(ACR.7~ACR.0)和信息識別碼的高8位(ID.10~ID.3)相等,且與接收屏蔽(AMR.7~AMR.0)的相應位相或為1,則報文被接收。

亚洲精品一二三区-久久