整車CAN網絡介紹
在了解can網絡之前, 先了解1個問題:什么是智能硬件與ECU?
本文引用地址:http://www.j9360.com/article/202002/409594.htm何為智能硬件,就是包含智能控制單元的硬件。比如發動機,發動機上有一塊兒專門負責控制發動機進氣量、噴油量、排氣量的控制單元,這塊單元相當于發動機的大腦。它具有信號發送、信號接收、參數存儲等基本功能,這個控制單元就是ECU。
ECU(Electronic ControlUnit)電子控制單元,是汽車專用微機控制器,一個ECU一般負責1個或多個智能硬件設備。
隨著汽車的發展,車上的智能設備越來越多,也就是說車上的ECU也越來越多,如何用一個網絡把這些智能設備的ECU全部連接起來并整體協調控制?
這就是CAN網絡。
CAN網絡
CAN(Controller Area Network)控制器局域網絡,CAN網絡在早期的整車應用中以BCM(車身控制器)為控制中心,主要是車身零部件(雨刮/大燈/車窗…),智能硬件較少,所以早期的正常CAN網絡把所有其他的ECU全部放在Other ECU里邊,如下圖。
每條CAN總線一般都是由2根線組成的雙絞線構成,一根can_high,一根can_low,分別代表高電平和低電平,以下是某條CAN總線的模型圖, 一條CAN總線上連著4個ECU控制單元。
一般燃油車的CAN網絡可以分成如下5條CAN總線:
1. PT CAN (PowerTrain CAN ) 動力總成CAN總線
PT CAN總線上一般有以下ECU:
PT CAN負責車輛動力,是整車CAN網絡信號優先級及信號傳輸速率最高的一條CAN總線。
2. CH CAN (Chassis CAN) 底盤控制CAN總線
CH CAN總線上一般有以下ECU:
CH CAN負責汽車底盤及4個輪子的制動/穩定/轉向,由于涉及整車制動/助力轉向等, 所以其網絡信號優先級也是較高的。
3. Body CAN車身控制總線
Body CAN總線上一般有以下ECU:
Body CAN負責車身上的一些提高舒適性/安全性的智能硬件的管理與控制,其網絡信號優先級較低, 因為以上設備都是輔助設備。
4. Info CAN ( Infomercial CAN ) 娛樂系統總線
Info CAN 總線上一般有以下ECU:
Info CAN是輔助可選設備, 所以優先級也是較低的,主要負責車身上的一些提高娛樂性的智能硬件的管理與控制。
5. DiagCAN ( Diagnose CAN ) 診斷控制總線
DiagCAN總線主要提供遠程診斷功能,只有一個ECU。
CAN網絡基本構成單元ECU節點,就是車上的智能硬件設備里ECU控制單元。比如ABS(防抱死系統)這個ECU是專門用于車輛制動過程中防止車輪被抱死的一套智能設備。當今汽車越豪華,ECU就越多,智能控制硬件就越多,相對價格就越貴。一般的,一輛車普通的家用轎車都有25個左右ECU。
如下圖,車上某個智能硬件上的ECU(智能電子控制單元):
由于車上ECU太多,每種ECU作用各不相同,信號傳輸速率(波特率)也不一致。為了更加方便管理這些ECU,我們把以上各類ECU按其功能/波特率分別布置在5條CAN總線上。
CAN網關
CAN網關或叫汽車網關,因為網關不僅處理CAN網絡,還處理LIN網絡。
CAN網關的外形結構:
實際can網關大概有六七十個接線pin腳,每個接線pin腳都有嚴格的定義,要匹配規定好的can總線或者開關設備,除了剛才涉及的10個can線接線口(5條雙絞線)、2個電源線接線口,還應包括:定速巡航設備的8個接線口、電源管理方面的3個接線口、鑰匙開關(或無鑰匙啟動系統)的5個接口、腳踏板的3個接線口、5個LIN接線pin腳、檔位開關的4個接線pin腳等等。
某些汽車廠商可能有更多新的硬件開關設備,電壓電阻開關設備等也都有對應的接線pin腳,且可能預留一些PIN腳以備用。
CAN網關是整個CAN網絡的核心,控制著整車5條CAN總線的各類信號轉發與處理,基本功能包括:
1. 連接不同波特率(傳輸速度)的CAN總線/LIN總線,以實現CAN網絡的網關中繼功能。
2. 診斷報文/非診斷報文轉發。
3. 診斷防火墻管理。
4. 節點在線監控。
5. 巡航控制器開關檢測。
6. 腳踏板位置檢測。
7. 網關休眠與喚醒管理。
8. ECU升級/網關升級。
9. 電壓管理。
CAN網關可以接收任何CAN總線(還有LIN總線)傳來的不同傳輸速率網絡信號,把這些信號按一定的標準處理后,廣播到整車網絡去,如果有ECU訂閱(接收)了這個信號,則ECU將解析信號并做相應的處理。
整車所有ECU基本是以毫秒級或者微妙級的速度在源源不斷的發送并接收信號,所以網關需要處理并轉發廣播的信號是非常多的且必須要很快處理完的。
實例一、儀表顯示發動機轉速
發動機的轉速信號, 先從PCAN的ECM(發動機引擎控制模塊)節點發出,CAN網關收到后,網關處理后廣播以GW_開頭的ECM信號到其他4條CAN總線上去。
用Vehicle Spy 3 CAN工具查看可以看到以下的信號內容:ECAN上的儀表(IPK)節點訂閱了發動機轉速信號,則會將這個轉速信號解析,并顯示到儀表盤去;由于以上信號發送頻率太快,比如上圖的9.94ms/次,則你就會看到儀表盤上的轉速指針一直在不停地偏動。
簡略發送圖如下:
實例二、安全帶未扣緊,儀表端報警
安全帶未扣緊需要兩個條件:
1.車速大于5
2.安全帶扣未扣(即無電壓信號)
車速一般是PCAN上的ECM(發動機引擎控制模塊)節點負責信號管理的。安全帶扣這個設備是BCAN上的BCM(負責天窗、車窗、安全帶扣、雨刮等車身零部件設備…) 節點負責信號管理的。
即網關收到PCAN上的ECM節點發出來的車速信號,并收到了BCAN上的BCM發出來的安全帶扣電壓值為異常值(比如0),CAN網關統一處理后轉發并廣播以GW_開頭的信號幀,ECAN上的儀表(IPK)節點訂閱(接收)了GW_開頭的相關安全帶未扣信號幀, 則會解析報警并顯示到儀表盤去。
如果安全帶扣一直未扣緊,則CAN網關將一直發送GW_開頭的相關安全帶信號幀,其信號值是安全帶未扣緊,所以車主會聽到一直報警。
直到安全帶扣上,CAN網關繼續發送安全帶相關的信號,只是這個時候的信號值是安全帶已扣緊,報警將立馬消失。
總結
以上只是兩個簡易的案例,實際上,整車所有ECU基本是以毫秒級或者微妙級的速度在源源不斷的發送并接收信號,所以網關需要處理并轉發廣播的信號是非常多的且必須要很快處理完的。
評論