CAN網(wǎng)關(guān) 及 CAN信號轉(zhuǎn)發(fā)機制 CAN網(wǎng)關(guān) 上節(jié)課, 我們講到了CAN網(wǎng)關(guān), 其實準(zhǔn)確的說不能叫CAN網(wǎng)關(guān), 應(yīng)該叫網(wǎng)關(guān)或者汽車網(wǎng)關(guān), 因為網(wǎng)關(guān)不僅處理CAN網(wǎng)絡(luò), 還處理LIN網(wǎng)絡(luò). 主要是為了配合本系列教程及區(qū)分于以太網(wǎng)網(wǎng)關(guān), 所以才取名叫CAN網(wǎng)關(guān). CAN網(wǎng)關(guān)的外形結(jié)構(gòu) 大概外形如上, 偶有差異, 大小如香煙煙盒, 有60,70多個PIN腳組成. 每個接線pin腳都有嚴(yán)格的定義, 嚴(yán)格定義了要接can總線或者開關(guān)設(shè)備等... 從以上拓?fù)鋱D可以看出: CAN網(wǎng)關(guān)除了10個can接線pin腳(5條雙絞線/5條CAN總線),2個電源線接線pin腳,還應(yīng)包括定速巡航設(shè)備的8個接線pin腳,電源管理方面的3個接線pin腳,鑰匙開關(guān)(或無鑰匙啟動系統(tǒng))的5個接線pin腳,腳踏板的3個接線pin腳,5個LIN接線pin腳, 檔位開關(guān)的4個接線pin腳等等.... 某些汽車廠商可能有更多新的硬件開關(guān)設(shè)備,電壓電阻開關(guān)設(shè)備等也都有對應(yīng)的接線pin腳, 且可能預(yù)留一些PIN腳以備用. CAN網(wǎng)關(guān)的功能 CAN網(wǎng)關(guān)是整個CAN網(wǎng)絡(luò)的核心, 控制著整車5條CAN總線的各類信號轉(zhuǎn)發(fā)與處理. CAN網(wǎng)關(guān)的基本功能包括: 1. 連接不同波特率(傳輸速度)的CAN總線/LIN總線, 以實現(xiàn)CAN網(wǎng)絡(luò)的網(wǎng)關(guān)中繼功能。 2. 診斷報文/非診斷報文轉(zhuǎn)發(fā) 3. 診斷防火墻管理 4. 節(jié)點在線監(jiān)控 5. 巡航控制器開關(guān)檢測 6. 腳踏板位置檢測 7. 網(wǎng)關(guān)休眠與喚醒管理 8. ECU升級/網(wǎng)關(guān)升級 9. 電壓管理
簡單點說: CAN網(wǎng)關(guān)可以接收任何CAN總線(還有LIN總線)傳來的不同傳輸速率網(wǎng)絡(luò)信號, CAN網(wǎng)關(guān)把這些信號按一定的標(biāo)準(zhǔn)處理后, 廣播到整車網(wǎng)絡(luò)去, 如果有ECU訂閱(接收)了這個信號, 則ECU將解析信號并做相應(yīng)的處理. 沒理解不了, 請看下方實例! ??? CAN網(wǎng)關(guān)的CAN信號轉(zhuǎn)發(fā)機制 實例一: 儀表顯示發(fā)動機轉(zhuǎn)速 發(fā)動機的轉(zhuǎn)速信號, 先從PCAN的ECM(發(fā)動機引擎控制模塊)節(jié)點發(fā)出, CAN網(wǎng)關(guān)收到后, 網(wǎng)關(guān)處理后廣播以GW_開頭的ECM信號到其他4條CAN總線上去. 用Vehicle Spy 3 CAN工具查看可以看到以下的信號內(nèi)容:
ECAN上的儀表(IPK)節(jié)點訂閱(接收)了發(fā)動機轉(zhuǎn)速信號, 則會將這個轉(zhuǎn)速信號解析, 并顯示到儀表盤去. 由于以上信號發(fā)送頻率太快, 比如上圖的9.94ms/次, 則你就會看到儀表盤上的轉(zhuǎn)速 指針一直在不停地偏動. 簡略發(fā)送圖如下:
實例二: 安全帶未扣緊, 儀表端報警 安全帶未扣緊需要兩個條件: 1. 車速大于5 2. 安全帶扣未扣 ( 即無電壓信號 ) 車速一般是PCAN上的ECM(發(fā)動機引擎控制模塊)節(jié)點負(fù)責(zé)信號管理的. 安全帶扣這個設(shè)備是BCAN上的BCM(負(fù)責(zé)天窗, 車窗, 安全帶扣, 雨刮等車身零部件設(shè)備...) 節(jié)點負(fù)責(zé)信號管理的. 即網(wǎng)關(guān)收到PCAN上的ECM節(jié)點發(fā)出來的車速信號, 并收到了BCAN上的BCM發(fā)出來的安全帶扣電壓值為異常值(比如0), CAN網(wǎng)關(guān)統(tǒng)一處理后轉(zhuǎn)發(fā)并廣播以GW_開頭的信號幀,
ECAN上的儀表(IPK)節(jié)點訂閱(接收)了GW_開頭的相關(guān)安全帶未扣信號幀 則會解析報警并顯示到儀表盤去. 如果安全帶扣一直未扣緊, 則CAN網(wǎng)關(guān)將一直發(fā)送GW_開頭的相關(guān)安全帶信號幀, 其信號值是安全帶未扣緊 所以車主會聽到一直報警. 直到安全帶扣上, CAN網(wǎng)關(guān)繼續(xù)發(fā)送安全帶相關(guān)的信號, 只是這個時候的信號值是安全帶已扣緊 報警將立馬消失. 簡略發(fā)送圖如下:
總結(jié): 以上只是兩個簡易的案例, 實際上, 整車所有ECU基本是以毫秒級或者微妙級的速度在源源不斷的發(fā)送并接收信號, 所以網(wǎng)關(guān)需要處理并轉(zhuǎn)發(fā)廣播的信號是非常多的且必須要很快處理完的. |
|