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