車載網絡系統及CAN協議的應用分析
目前,CAN 協議及其網絡系統已被全球汽車廠商普遍接受,成為車載網絡系統的計算機網絡技術基礎。
在歐洲幾乎每一輛新款汽車均裝配有CAN 局域網。同樣,CAN 也用于其他類型的交通工具,從火車到輪船或者用于工業控制。CAN 已經成為全球范圍內最重要的總線之一——甚至領導著串行總線。在1999 年,接近6 千萬個CAN 控制器投入應用。到了2000 年,全球市場銷售了超過1 億個CAN 元器件。
2.2 CAN 網絡協議的內容和基本原理
作為一種網絡協議一般應符合ISO/OSI 模型,即國際標準化組織的開放系統互連參考模型。但目前廣泛應用的許多網絡協議并不完全符合這個模型,CAN 就是這種網絡協議。對照ISO/OSI 模型中的7 層次,CAN 僅明確定義了相當于數據鏈路層和物理層的內容。圖2 給出它的層次結構。其中對象層和傳輸層包括所有由ISO/OSI 模型定義的數據鏈路層的服務和功能。
圖2
CAN 協議的報文傳輸由以下四種不同的幀類型所表示和控制:
- 數據幀:數據幀攜帶數據從一個節點的發送器至所有節點的接收器。
- 遠程請求幀:總線的一個節點發出遠程請求幀,請求某個節點響應具有同一識別符的數據幀。
- 錯誤幀:總線上的任何節點一旦檢測到總線的錯誤就發出錯誤幀。
- 過載幀:過載幀用以在先行的和后續的數據幀(或遠程幀)之間提供一附加的延時,防止產生接收器過載。
CAN 協議在其幀結構中定義了多種校驗方式,確保信息傳送的可靠性。信息在網絡中采用廣播的方式,總線上所有的節點均先接收到報文,然后根據幀結構中的11 位或29 位標識符進行識別,接收所需的信息,屏蔽掉本節點不需要的信息。
在報文發送時是采用內容(而不是一般的地址方式)擇優的優先級方式,我們稱其為載波偵聽多路訪問/沖突檢測,即:CSMA/CD(Carrier Sense Multiple Access with Collision Detect)。
如果利用一般的CSMA 訪問總線,可對總線上信號進行檢測,只有當總線處于空閑狀態時才允許發送。利用這種方法可以允許多個節點掛接到同一網絡上,但當檢測到一個沖突位時,所有節點將重新回到監聽總線的狀態,直到該沖突時間過后才開始發送。在總線超載的情況下,這種技術可能會造成發送信號經過許多延遲。為了避免發送延時可利用CSMA/CD 方式訪問總線:當總線上有兩個節點同時進行發送時,必須通過無損的逐位仲裁方法來使有最高優先權的的報文優先發送。在CAN 總線上發送的每一條報文都具有唯一的一個11 位或29 位的標識符 ,CAN 總線狀態取決于二進制數0 而不是1 ,所以ID 號越小則該報文擁有越高的優先權。因此一個為全0 標志符的報文具有總線上的最高級優先權。可用另外的方法來解釋,在消息沖突的位置第一個節點發送0,而另外的節點發送1,那么發送0 的節點將取得總線的控制權,并且能夠成功的發送出它的信息。這種獨特的總線爭用方式保證了高優先級報文的及時發送,減少了時延。
在差錯處理方面CAN 也有其獨特的優勢。對于一個幀可以用互不排斥的5 種方式檢查出出錯的幀。
另外還有一個計數機制,當一個節點錯誤的次數滿足一定條件時,會被進行相應的故障處理,以防止出故障的節點對整個系統的影響,保證其他節點之間的正常通信。
2.3 CAN 協議適宜于車載網絡應用的優勢
正如本文1.2 節中所描述的那樣,一個適宜于汽車環境的網絡協議必須滿足許多苛刻的要求,并具有一些獨特的特性。CAN 具有十分優越的特點,這使得絕大多數的工程師都選擇它作為車載網絡協議的標準。這些優點包括以下內容:
(1) 低成本。由于CAN 已經成為車載網絡中應用最廣泛的標準,這使得相關元器件的產量很大,從而大大的降低了成本。對于已經競爭非常激烈的汽車產業來說是十分重要的。
(2) 極高的總線利用率。如前一節分析的那樣,其發送沖突解決方案是一種沖突規避的設計方式,減少了信息重發可能性,從而提高了利用率,對于發送優先級高的重要信息尤為如此。
(3) 高速的數據傳輸速率可高達1 Mbit/s,完全可滿足汽車動力和懸架等高速系統的傳輸需求。
(4) 可根據報文的ID 決定接收或屏蔽該報文,而不是采用一般的地址方式。方便與網絡相連的汽車電器系統的靈活配置。
(5) 可靠的錯誤處理和檢錯機制;發送的信息遭到破壞后可自動重發;節點在錯誤嚴重的情況下具有自動退出總線;這些特點都保證了系統極高的可靠性、安全性和健壯性。很明顯,這對于車載的網絡系統是十分重要的要求。
(6) 報文幀結構相對比較簡單,占用總線時間短,從而保證了通信很高的實時性。
(7) 目前如:Bosch、Philips、Siemens、Delphi、Valeo 等世界上重要的汽車電器供應商已開發出大量成熟的CAN 元器件和嵌入了CAN 接口的電控單元(ECU),這樣可大大的縮短相關汽車電器系統的開發時間,減少開發成本。
3 CAN 系統已經開始在新型的汽車上得到了廣泛的實際應用
3.1 CAN 在車載網絡中的應用
在CAN 協議中僅對網絡的低層進行了具體規定,其應用層協議并未給出。這樣針對不同的應用,其應用層也不盡相同。在汽車領域,目前存在的多種車載網絡標準,其側重的功能也有所不同。為了便于設計和使用,SAE(汽車工程協會)將車載網絡按傳輸速率的不同劃分為A、B、C 三類。其中B 類在國際標準ISO-IS11519-2 中稱為低速CAN 網,C 類在國際標準ISO-IS11898 中稱為高速CAN 網。(參見圖3)
評論