出自微信公眾號--嘴哥有料,本人做學習記錄用,侵刪。
CAN網關
上節課, 我們講到了CAN網關,
其實准確的說不能叫CAN網關, 應該叫網關或者汽車網關, 主要是為了配合本系列教程及區分於以太網網關。
網關的外形:
大概外形, 偶有差異, 大小如香煙煙盒, 有60,70多個PIN腳組成.
每個接線pin腳都有嚴格的定義, 要匹配規定好的can總線或者開關設備.
從以上拓撲圖可以看出:
網關除了10個can接線pin腳(5條雙絞線/5條CAN總線),2個電源線接線pin腳,還應包括定速巡航設備的8個接線pin腳,電源管理方面的3個接線pin腳,鑰匙開關(或無鑰匙啟動系統)的5個接線pin腳,腳踏板的3個接線pin腳,檔位開關的4個接線pin腳等等....
某些汽車廠商可能有更多新的硬件開關設備,電壓電阻開關設備等也都有對應的接線pin腳, 且可能預留一些PIN腳以備用.
網關的功能
網關是整個CAN網絡的核心, 控制着整車5條CAN總線的各類信號轉發與處理.
網關的基本功能包括:
1. 連接不同波特率(傳輸速度)的CAN總線/LIN總線, 以實現CAN網絡的網關中繼功能。
2. 診斷報文/非診斷報文轉發
3. 診斷防火牆管理
4. 節點在線監控
5. 巡航控制器開關檢測
6. 腳踏板位置檢測
7. 網關休眠與喚醒管理
8. ECU升級/網關升級
9. 電壓管理
簡單點說:
網關可以接收任何CAN總線(還有LIN總線)傳來的不同傳輸速率網絡信號,
網關把這些信號按一定的標准處理后, 廣播到整車網絡去,
如果有ECU訂閱(接收)了這個信號, 則ECU將解析信號並做響應的處理.
沒理解, 請看下方實例!
CAN信號轉發機制
實例一: 儀表顯示發動機轉速
發動機的轉速信號, 先從PT CAN的ECM(發動機引擎控制模塊)節點發出, 網關收到后,
網關處理后廣播以GW_開頭的ECM信號到其他4條CAN總線上去.
用Vehicle Spy 3 CAN工具查看可以看到以下的信號內容:
Info CAN上的儀表(IPK)節點訂閱(接收)了發動機轉速信號,
則會將這個轉速信號解析, 並顯示到儀表盤去.
由於以上信號發送頻率太快, 比如5ms/次, 則你就會看到儀表盤上的轉速
指針一直在不停地偏動.
簡略發送圖如下:
實例二: 安全帶未扣緊, 儀表端報警
安全帶未扣緊需要兩個條件:
1. 車速大於5
2. 安全帶扣未扣 ( 即無電壓信號 )
車速一般是PT CAN上的ECM(發動機引擎控制模塊)節點負責信號管理的.
安全帶扣這個設備是Body CAN上的BCM(負責天窗, 車窗, 安全帶扣, 雨刮等車身零部件設備...) 節點負責信號管理的.
即網關收到PT CAN上的ECM節點發出來的車速信號, 並收到了Body CAN上的BCM發出來的安全帶扣電壓值為異常值(比如0), 網關統一處理后轉發並廣播以GW_開頭的信號幀。
Info CAN上的儀表(IPK)節點訂閱(接收)了GW_開頭的相關安全帶未扣信號幀
則會解析報警並顯示到儀表盤去.
如果安全帶扣一直未扣緊, 則網關將一直發送GW_開頭的相關安全帶信號幀,
其信號值是安全帶未扣緊
所以車主會聽到一直報警.
直到安全帶扣上, 網關繼續發送安全帶相關的信號,
只是這個時候的信號值是安全帶已扣緊
報警將立馬消失.
簡略發送圖如下:
總結:
以上只是兩個簡易的案例, 實際上, 整車所有ECU基本是以毫秒級或者微妙級的速度在源源不斷的發送並接收信號, 所以網關需要處理並轉發廣播的信號是非常多的且必須要很快處理完的.