can[控制器區域網路(Controller Area Network)]

can[控制器區域網路(Controller Area Network)]

現場匯流排是近 20年發展起來的新技術 , CAN 匯流排是一種套用廣泛的現場匯流排 ,在工業測控和工業自動化等領域有很大的套用前景。 CAN是控制器區域網路(Controller Area Network, CAN)的簡稱,是由研發和生產汽車電子產品著稱的德國BOSCH公司開發了的,並最終成為國際標準(ISO11898)。是國際上套用最廣泛的現場匯流排之一。 在北美和西歐,CAN匯流排協定已經成為汽車計算機控制系統和嵌入式工業控制區域網路的標準匯流排,並且擁有以CAN為底層協定專為大型貨車和重工機械車輛設計的J1939協定。近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,被廣泛套用於汽車計算機控制系統和環境溫度惡劣、電磁輻射強和振動大的工業環境。

背景引言

隨著工業測控技術和生產自動化技術的不斷進步 ,傳統的 RS-232、 RS-485和 CCITTV. 24通信技術已不能適應現代化的工業控制需要 ,而現場匯流排 ( Fieldbus)以其低廉的價格、可靠的性能而逐步成為新型的工業測控領域的通信技術。現場匯流排是套用在生產現場 ,在微機化測量控制設備之間實現雙向串列多節點數字通信的系統 ,是一種開放式、數位化、多點通信的底層控制網路。 匯集了計算機技術、網路通信技術和自動控制技術 ( 3C)的現場匯流排技術 ,從 20世紀 80年代開始發展起來 ,並逐步在製造業、流程工業、交通、樓宇等方面的自動化系統中得到了廣泛的重視和套用。現場匯流排主要有以下幾種類型 : 基金會現場匯流排 ( FF)、 LonWorks、 ProfiBus、 CAN、HART,而其中 CAN ( Controller Area Network)即控制器區域網路因為具有高性能、高可靠性以及獨特的設計而越來越受到關注,現已形成國際標準 ,被公認為幾種最有前途的現場匯流排之一。

1986 年德國最大的工業企業之一 Rober Bosch公司首次提出了套用於汽車內各種感測器和執行器之間相互通信的 CAN 匯流排(Controller AreaNetwork)技術以來,以其可靠性、實時性和靈活性強的特點,得到了諸多汽車開發商的青睞。

CAN 匯流排的特點

CAN屬於匯流排式串列通信網路。 由於採用了許多新技術和獨特的設計思想 ,與同類產品相比 , CAN 匯流排在數據通信方面具有可靠、實時和靈活的優點。為使設計透明和執行靈活 ,遵循 ISO /OSI標準模型 , CAN 匯流排結構劃分為兩層: 物理層和數據鏈路層 (包括邏輯鏈路控制子層 LLC和媒體訪問控制子層 M AC)。 CAN的分層結構和功能如圖1所示。 其中 , LLC子層為數據傳遞和遠程數據請求提供服務; M AC子層的功能主要是傳送規則 ,即控制幀結構、執行仲裁、錯誤檢驗、出錯標定和故障界定 。

CAN 匯流排的位數值表示與通信距離

圖1 CAN匯流排的位數值傳輸方式 圖1 CAN匯流排的位數值傳輸方式

CAN匯流排協定是建立在國際標準組織的開放系統 OSI 7 層互連參考模型基礎之上的。其模型結構只有3 層,即只取OSI 底層的物理層、數據鏈層和傳輸層,保證了節點間無差錯的數據傳輸。 CAN 匯流排上用“顯性”(Dominant)和“隱性” (Recessive)兩個互補的邏輯值表示“0”和“1”。如圖1 所示,VCAN-H和VCAN-L為CAN匯流排收發器 與匯流排之間的兩接口引腳,信號是以兩線之間的“差 分”電壓形式出現。在隱性狀態,VCNA-H和VCANL被固定在平均電壓電平附近,Vdiff近似於0。顯性位以大於最小閥值的差分電壓表示。CAN 匯流排的通信距離最遠可達10Km(位速率為5 kbps) ,通信速率最快可達 1Mbps(此時最長通信距離為40m)。

報文傳輸

CAN技術的報文傳輸為多主方式工作,網路上任意節點均可在任意時刻主動地向網路上其它節點 傳送信息,而不分主從。CAN節點只需通過對報文的標示符濾波即可實現點對點、一點對多點及全局廣播等幾種方式傳送、接收數據。CAN匯流排的數據傳輸(報文傳輸)採用幀格式。按幀格式的不同,分為含有11位標識符的標準幀和含有29位標識符的擴展幀。CAN匯流排的幀類型分為 數據幀、遠程幀、錯誤幀和過載幀。

仲裁(Arbitration)

只要匯流排空閒,任何單元都可以開始傳送報文。如果兩個或兩個以上節點同時開始傳送報文,那么就會有匯流排訪問衝突。通過使用標識符的逐位仲裁可以解決這個衝突。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數據幀和遠程幀同時傳送時,數據幀優先於遠程幀。在仲裁期間, 每一個傳送器都對匯流排進行監測,如果傳送和接收電平相同,則該節點可以繼續傳送報文。比如傳送的是一“隱性”電平,而監視到的是一“顯性”電平, 那么這個節點就失去了仲裁,必須退出傳送狀態。

綜上所述,CAN 匯流排的主要特點有:

( 1) CAN 為多主工作方式 ,網路上的任意節點在任意時刻都可以主動地向其他節點傳送信息 ,不分主從 ,方式靈活。

( 2) CAN 網路節點可以安排優先權順序 ,以滿足和協調各自不同的實時性要求。

( 3) 採用非破壞性的匯流排仲裁技術 ,多點同時傳送信息時 ,按優先權順序通信 ,節省匯流排衝突仲裁時間 ,避免網路癱瘓。

( 4) 可以進行點對點、一點對多點和全域廣播方式傳遞信息。

( 5) 通信速率最高可達 1M bps( 40m以內 ) ,最長傳遞距離達 10km(速率為 5kbps以下 )。

( 6) 網路節點目前可達 110個 ,報文標誌符 2 032種 ( CAN2. 0A) ,擴展標準 ( CAN2. 0B)中報文標誌符幾乎不受限制。

( 7) 短幀數據結構 ,傳輸時間短 ,抗干擾能力強 ,檢錯效果好。

( 8) 通信介質可以用雙絞線、同軸電纜或光纖。

( 9) 網路節點在錯誤嚴重的情況下可以自動關閉輸出功能 ,脫離網路。

( 10) 實現了標準化、規範化 (國際標準 ISO11898)。

CAN 匯流排控制器和驅動器

CAN 匯流排控制器 SJA1000 的內部結構

圖2 SJA1000內部結構圖 圖2 SJA1000內部結構圖

CAN匯流排控制器主要保證數據鏈路層和物理層的通信質量。SJA1000是一種獨立的CAN匯流排控制器。SJA1000 的內部結構如圖 2 所示。

接口管理邏輯(IML)負責解釋來自CPU的命令,控制 CAN 暫存器的定址,向主控制器(CPU)提供中斷信息和狀態信息。

傳送緩衝器(TXB)是CPU 和位流處理器(BSP)之間的接口,負責存儲傳送到CAN匯流排上的一條完整的報文。傳送緩衝器的長度為13個位元組,由CPU寫入、位流處理器讀出。

接收緩衝器(RXB、長度為13個位元組)是驗收濾波器和 CPU 之間的接口,用來存儲從 CAN 匯流排上接收並被確認的信息。作為接收FIFO(RXFIFO,長度為64位元組)的一個視窗,接收緩衝器可被CPU訪問。CPU在接收FIFO的支持下,可以在處理一條報文的同時接收其他報文。

驗收濾波器(ACF)將一條接收到的報文標識碼與驗收濾波器中的預設值相比較,以決定是否接收這條報文。在純粹的接收測試中,所有的報文都保存在接收FIFO中,但只有驗收濾波通過且無差錯的報文,才能被保存在接收緩衝器中。

位流處理器(BSP)是一個控制傳送緩衝器、接收FIFO和CAN匯流排之間數據流的程式裝置。它還執行匯流排上的錯誤檢測、仲載、匯流排填充和錯誤處理。位時序邏輯(BTL)監視串列的CAN匯流排和位時序。它在信息開頭“弱勢支配”的匯流排傳輸時,同步 CAN匯流排位流(硬同步),接收報文時再次同步下一次傳送(軟同步)。

錯誤管理邏輯(EML)負責限制傳輸層模組的錯誤。它接收來自位流處理器的出錯報告,然後把有關錯誤統計告訴位流處理器和接口管理邏輯(IML)。

CAN 匯流排驅動器 PCA82C250匯流排驅動器

PCA82C250 是 CAN 控制器與物理匯流排之間的接口。該器件對匯流排提供了差動傳送能力,同時對CAN控制器提供了差動接收能力。它可以用高達1Mbps的位速率在兩條有差動電壓的匯流排上傳輸數據,匯流排可連線 110 個節點。匯流排驅動器PCA82C250 的功能參如圖 3 所示。

圖3 PCA82C250功能框圖 圖3 PCA82C250功能框圖

CAN匯流排智慧型採集卡的設計與實現

圖1 圖1

控制器區域網路CAN(ControllerArea Network)作為一種多線路網路通信系統,以其時分多主、非破壞性匯流排仲裁和自動檢錯重發等靈活、可靠的通信技術,及低廉的價格,被廣泛地套用於工業自動化生產線、汽車、感測器、醫療設備、智慧型化大廈、電梯控制、環境控制等分散式實時系統。本採集卡採用的是一款Atmel公司新近推出的帶有CAN控制器的微控制器,是一款很有前途的新型晶片,其內部集成CAN控制器,用它來組建CAN匯流排實時監控系統,與傳統的CAN匯流排組網方式相比,系統具有結構簡單、設計容易、抗干擾性強等套用優勢。

結語與展望

20世紀 80年代 ,德國的 BOSCH公司首先套用 CAN匯流排於汽車內部的測控通信。 CAN國際標準化的制定 ,更加推動了它的發展和套用 ,已有 IN TEL、 MO TOROLA、 PHILIPS、 SIEM EN S等 百餘家國際大公司支持 CAN匯流排協定。 現在 ,在歐美等國 CAN匯流排已被廣泛地套用於汽車、火車、輪船、機器人、智慧型樓宇、機械製造、數控工具機、各種機械設備、交通管理、感測器、自動化儀表等領域。從“九· 五”開始 ,我國政府就投資支持現場匯流排的開發 ,其中 CAN等匯流排在國內已經得到較廣泛的套用 ,被大量地套用於工農業監控、電廠測控、火災報警、變電站控制、煤炭綜合監控等。故,綜合 CAN 匯流排的上述技術、特點及其在各個領域的套用情況 ,可以預測 CAN匯流排在將來將會以迅猛的速度快速發展。

熱門詞條

聯絡我們