學習筆記|電動汽車CAN匯流排技術,基礎9問

電動汽車的全部電氣系統,除了一部分低壓信號使用硬線連接以外,大部分的獨立功能電氣單元,通過CAN匯流排聯繫到一起,傳遞命令和數據信息。

CAN(Controller Area Network)控制器區域網,德國博世公司在1986年首次提出,是一種高可靠性的一種串列數據通信匯流排,解決了汽車中眾多測量控制部件之間的數據交換問題,減少了線束用量。CAN匯流排不僅在汽車上使用,航空航天等需要高可靠性數據傳輸的領域,都有CAN匯流排的身影。

1 CAN匯流排是怎樣傳遞信號的?

CAN匯流排系統,依靠兩根導線形成迴路傳遞差模信號,信號形式如下圖所示:

CAN匯流排傳遞信息的方式,用一串高低電平表示的字元編碼,表達某個特定含義。在發出和接收這個編碼之前,整個CAN系統內的各個成員以通訊協議的形式達成一致意見,確定前面所說的包含信息的代碼的翻譯規則,每個成員都持有一份相同的密碼本,收到字元串以後,直接對照密碼本,無論誰進行翻譯工作,都可以毫無異議的翻譯出相同的內容。

2 CAN匯流排目前有哪些版本?

1986年,博世正式提出CAN匯流排技術以後,1993年CAN 成為國際標準ISO11898(高速應用)和ISO11519(低速應用)。 CAN的規範從CAN 1.2 規範(標準格式)發展為兼容CAN 1.2 規範的CAN2.0規範(CAN2.0A為標準格式,CAN2.0B為擴展格式),目前應用的CAN器件大多符合CAN2.0規範。

3 CAN匯流排怎樣確定誰先使用信息通道?

CAN網路上的節點不分主從,任一節點均可在任意時刻主動地向網路上其他節點發送信息,通信方式靈活,被稱為多主體系統。

CAN採用匯流排仲裁技術來確定當前匯流排分配給哪個主體使用。CAN網路上的節點被分配給不同的優先順序,當多個節點同時向匯流排發送信息時,優先順序較低的節點會主動地退出發送,而最高優先順序的節點可不受影響地繼續傳輸數據,從而節省了匯流排衝突的仲裁時間。

根據有限級確定,優先順序數字越小,優先順序越高。CAN系統內全部設備具有自己的ID,ID就起到顯示優先順序的作用。比如感測器1的數據很重要,優先順序高些,假設ID為0x20, 感測器2數據不是很重要。ID分配為0x21。那麼如果2個感測器同時發數據,那麼仲裁的結果是感測器1勝出,繼續發數據。而感測器2失去仲裁,稍後再發。

可滿足對實時性的不同要求,高優先順序的數據可在134微秒內得到傳輸。通過報文濾波可實現點對點、一點對多點及全局廣播等幾種方式收發數據,無需專門的「調度」 。

4 CAN匯流排的傳輸速度和接入主體的能力極限是多少?

CAN的直接通信距離,最遠可達10km(速率5kbps以下);通信速率最高可達1Mbps(此時通信距離最長為40m)。

CAN匯流排上的節點數決定於匯流排驅動電路,一般為可達110個。另外若CAN卡採用的匯流排收發器不同,其節點數量也不同。如:採用82C250 支持最大節點數為110 個,採用SN65HVD251P 支持最大節點數為120 個。

考慮現場預留其它設備 CAN介面,CAN匯流排環接的節點數量設計時要留有一定餘量,現按照每塊CAN卡環接60個物理節點進行設計。

若現場需要1 路CAN網路時,配置1 塊ISACANV2 卡。

現場需要2 路CAN網路時,配置2 塊ISACANV2 卡。

現場需要2 路以上4 路(包括4 路)以下CAN網路時,暫時按照配置2 塊周立功雙路智能CAN卡(PCI-9820I)卡進行設計

CAN通訊線應按照各個採集機、外電網監測設備順次環形連接,每條環線不超過60個節點。

5 為什麼說CAN匯流排可靠性高?

首先,CAN可以多主方式工作,網路上任意一個節點均可以在任意時刻、主動地向網路上其他節點發送信息,通信方式靈活。利用這一特點,可以方便地容錯率高的多機備份系統。這一點向根本上找,是通訊的基本構造設計產生的大的容錯能力。

其次,CAN匯流排高低電平信號區分度比較大,使得一般的干擾不會造成明顯的影響;

第三,CAN匯流排採用短數據包傳輸原則,一幀CAN消息最多傳輸8位元組用戶數據,這樣短的傳輸信號,受到干擾的概率比較小;

第四,CAN匯流排傳輸介質採用雙絞線,並且有屏蔽層接地。

第五,CAN匯流排接收信號的一側,每幀信息都設置校驗措施,也是降低出錯率的方法;

第六,在信息傳遞的規則設置中,如果CAN節點在錯誤嚴重就會自動關閉輸出功能,這樣就降低了出錯節點對其餘節點產生影響的可能性。

6 常常被提及的物理層,數據鏈路層在CAN匯流排技術中是什麼角色?

常用的CAN匯流排協議標準SAE-J1939中,標準給OSI(開放系統互聯參考模型)定義成七層:物理層,數據鏈路層,網路層,傳輸層,會話層,表示層,應用層。其中物理層和數據鏈路層是最基礎的兩層,在標準ISO 11898中進行定義,而SAE-J1939定義了應用層的相關會話規則,所謂通訊協議。下面是一些對上述七層的簡要說明。

1)物理層

物理層主要定義CAN匯流排技術基於物理特性的能力極限:主要有傳輸速率,最大傳輸線長度,最大子系統數。物理層描述了電氣介面和物理介質性質,主要與CAN系統硬體有關。

2) 數據鏈路層

數據鏈路層定義了信息幀的編碼規則和數據結構。匯流排規則包括匯流排仲裁、傳輸方式、通信要求、通信優先權、錯誤檢測及處理。不同網路之間的介面方式,也在數據鏈路層定義。

3) 網路層

網路層定義將報文信息從一個節點傳輸到另一個節點的具體方式。

4) 應用層

應用層,就是CAN網路協議所被定義的層級,報文具體格式,特殊形式的數據怎樣處理,各種字元的含義,報文命名和翻譯規則。

5) 網路管理層

主要處理網路交互中產生的問題,節點地址源碼的分配,低級別信息被退回後的保存,錯誤信息的甄別和處理。

7 當前,CAN匯流排技術有哪些版本,有何不同?

較早期的版本CAN 1.2,當前常用版本CAN 2.0A,CAN 2.0B。CAN2.0A只規定了標準消息格式,即只有11位標準字元,出現多餘位數,認為出錯;CAN 2.0B 除了定義11位標準位,還增加了18位的擴展字元。可以說CAN2.0A和CAN2.0B外在表現上的區別,在於IDN一個是11bit一個是29bit;其內在的區別是數據鏈路層的不同;CAN2.0A為2032種,CAN2.0B擴展幀的報文標識符幾乎不受限制。

7.1 主要的通訊協議有哪些?

當前常用的通訊協議有CANopen,DeviceNET,SAE-J1939,CANKingdom。

7.2 CANopen和CAN 2.0是什麼關係?

CAN 2.0是一種CAN匯流排技術,而CANopen只是在這個技術環境中應用的通訊協議,如同SAE-J1939一樣,是通訊協議。

7.3 Active CAN和Passive CAN之間的區別是什麼?

CAN 2.0B active,能處理標準和擴展消息格式;CAN 2.0B passive,只處理標準消息,忽略擴展消息,等效於CAN 2.0A了。

8 CAN2.0B報文,怎麼解讀?

CAN 匯流排網路中的通信數據以特定的格式組成傳輸單元,稱為報文。報文分為數據幀、遠程幀、錯誤幀、超載幀4 種固定格式。其中,數據幀和遠程幀與應用層關係緊密,是主要的通信報文。

CAN2.0B定義有兩種幀,一種標準幀11位標識符,另一種擴展幀,18位標識符。通訊協議相當於一部密碼本。一個數據單元的具體格式如下圖所示,不同的位置被事先定義好代表不同的含義。

SAE-J1939定義了6種標識符:優先順序(P)、保留位(R)、數據頁(DP)、PDU格式(PF)、特定PDU(PS)、源地址(SA)。

優先權(P),一個系統內,原則上循環周期越短的信息,得到的優先順序越高;影響越大的節點,信息優先順序越高。3個佔位,說明系統優先順序最多可以劃分成8級。

保留位(R),保留位一般不使用,為後續的繼續開發留白。在傳輸出去的報文中,保留位顯示為0;

數據頁(DP),數據頁是作為描述參數群的輔助頁,通常用完正式數據頁才會使用;

PDU格式格(PF),由8位構成,用於確定PDU的格式。PDU指Protocol Data Unit協議數據單元;如果數據長度大於8,則需要把數據拆分成幾個部分,分別封裝。

特定PDU(PS),由PDU確定,PDU選擇的格式不同,則PS會有不同的定義。

原地址(SA),佔用8位,在一個CAN網路中,一個節點只能有一個SA,用來標識不同節點,保證識別發送信息主體的唯一性。

9 什麼是匯流排仲裁機制?

CAN匯流排上的各個節點,不是收到了指令才發送報文,而是主動採取行動,只要發現匯流排由空檔,就會把自己的信息發送出去。如果兩個信息同時發送,產生了衝突,也不需要第三方來做評判,而是雙方拿出自己的優先順序來,比較一下,誰的優先順序低,自動退出匯流排,信息被優先順序高的一方覆蓋,完成一次仲裁。退回的節點,信息並沒有就此消失,而是重新進入以隨機事件間隔進行匯流排監聽的狀態,一旦發現匯流排空閑,就再次發送剛才的信息。邏輯關係如下圖所示。

參考

1 不詳,CAN匯流排詳細教程

2 孫招鳳,CAN匯流排網路報文標識符編碼研究

3 成建明,純電動汽車CAN_BUS研究

4 楊瑾,基於CANopen協議的電池管理系統研究

5 本文整理的公開信息主要來自CSDN博客和百度學術

(圖片來自互聯網公開信息)

推薦閱讀:

仲裁員報酬如何收取?
仲裁有個一裁終局制度 那如果不滿意這個仲裁結果還有其他方法么?
公司不給蓋離職申請怎麼辦?如何保障自己?
有什麼資料庫是專門搜集國際仲裁案件的嗎?
離職了上家公司拖欠工資怎麼辦?

TAG:电动汽车 | CAN总线 | 仲裁 |