作者 | 24601小編 | 吃不飽
當前車載以太網得到了大范圍應用,但出于成本、可靠性等綜合因素的考慮,CAN和LIN仍大范圍應用于車載總線中,CAN和LIN之間的信息交互的需求仍然很大,承載著CAN-CAN,CAN-LIN之間信息路由的“網關”,可能不再是獨立的物理實體(單獨網關控制器),但對應邏輯實體依然發揮著十分重要的作用。01診斷路由的作用和路由方式的選擇
在研發階段的診斷測試過程中,我們一般將被測的診斷網段直連至診斷測試設備進行測試,但在成品汽車中,各電子部件之間通過線束直連在一起,而線束由膠皮或其他防護材料包裹,如果車輛已經生產完成或者已經售出,此時想對某個單獨的樣件進行診斷,我們拆下零件剪開線束再接到診斷儀上進行測試是不現實的。
而如果我們給每部分定義不同的診斷ID,從一條預留出的用于診斷網段發送診斷請求,通過診斷ID判斷是對哪個樣件進行診斷請求并將該診斷請求通過網關路由到相應的ECU上,之后,樣件的診斷響應再通過網關路由回我們預留的診斷線路上。這樣,我們只需要預留一條總線,就可以對全車支持診斷功能的ECU進行診斷。而不同的零件的診斷請求和診斷響應通過網關路由的行為稱之為診斷路由,如下圖。圖 1診斷路由示例
對于需要路由的信息,我們一般有以下幾種方式對其路由:
直接報文路由
無論源網段的發送模式(事件、周期或者其他形式),網關在從源網段接收到報文后立即將報文路由到目標網段,如果沒有收到源報文,則不需要路由??梢愿淖僆D,但不可以改變報文中信號的值、Layout以及DLC,轉發速率較快。
周期報文路由
在網關路由功能激活狀態下,需要周期性的將報文從源網段發送到目標網段的模式稱之為周期報文路由??梢愿淖僆D,但不可以改變報文中信號的值、Layout以及DLC。
直接信號路由
在此模式下,可以更改報文中的 ID、DLC、信號的布局和長度。網關在從源網段接收到信號后立即路由到目標網段,如果沒有收到源信號,則不需要向目標網段路由。
周期信號路由
如果需要路由的信號來自多個報文,則可以使用周期信號路由模式。網關將從多個源報文導出的信號重新組合成一個新的目標報文,并以周期方式發送。
對于診斷報文,我們對其進行路由時不需要修改其數據場,同時大部分情況下我們不需要診斷報文在目標網段進行周期性發送(為維持當前會話周期性發送3E 80等情況除外),與此同時,診斷報文對順序,時效性和報文完整度也有一定要求。因此這種情況下我們對診斷報文采用直接報文的形式進行路由是較為合理的。02診斷路由的測試環境
以使用CANoe和VN設備為例,進行診斷路由測試的環境如下:圖 2 診斷路由測試環境
CANoe:使用Vector公司的CANoe軟件來模擬除了DUT以外的其他網絡節點;仿真各節點的報文發送與接收;記錄檢測總線報文。
VN1640A:提供CAN總線和LIN總線的硬件接口,結合CANoe進行信號和報文的采集與輸出
Power supply:對DUT和LIN總線提供供電電壓和接地。
R:終端電阻
03診斷路由常見的功能與測試
網關診斷網段測試
一般情況下網關最多只有兩個網段支持診斷(其中一條用于遠程診斷),即我們使用網關本身的診斷請求ID通過不同的網段向網關進行診斷請求,應該有且只有兩條網段發送時,DUT才會給予響應,使用其他網段對網關進行診斷請求網關應該不予響應。
網關是路由該網關下支持診斷功能的樣件,對于網關自身的請求ID和診斷ID,一般不參與路由且只有規定的至多兩路總線可以支持與網關本身進行診斷通訊。
網關診斷路由的一致性測試
根據路由表仿真源網段報文,觀察我們仿真的源網段的診斷報文是否按照路由表正確地路由(包括ID、DLC、數據場等)。
網絡數據映射功能
當我們通過診斷將一網段的數據映射功能打開時,此網段的數據能夠全部映射到診斷網段,無論它是否在路由表中;當數據映射功能關閉時,此網段的數據停止映射。開啟此功能可以很方便的通過OBD功能來讀取其他網段上的應用報文、網絡管理報文、診斷報文,方便工程師和售后維修人員對總線進行設置和維修。
gatewaying-on-the-fly
在診斷消息需要多幀發送的時候,如果存在該功能,路由將在所有數據被接收前就開始轉發(當達到指定閾值時),如果我們需要傳輸的數據量較大,使用該功能可以節省內存和時間。04CAN-LIN等帶協議轉換的路由
在傳統網關的路由中經常涉及到不同傳輸協議間的路由,例如CAN FD-CAN,CAN-LIN等,我們以CAN-LIN的路由作為介紹。
由于CAN和LIN的傳輸協議不一致,網關在源網段以CAN的傳輸層協議接收數據后,在LIN的網段按照LIN傳輸層協議發送數據。CAN和LIN的報文雖然都是8字節,但由于傳輸層協議不同, CAN和LIN網段的每幀報文傳輸的數據內容都是不一致的。此外,由于CAN和LIN的傳輸速率不一樣,CAN網段接收數據后存儲在緩存中,在LIN網段按順序發出。
因此,當我們在作為源網段的CAN上發送一條診斷請求消息時,CAN的診斷消息首先存儲在網關的緩存中,等待LIN的調度表執行到0x3C的報文時再從緩存中發出到LIN總線上。
發送和接收過程如下圖:圖 3 CAN-LIN診斷路由
其中,虛線箭頭代表網關發出的LIN報文頭。
05小結
隨著電子電器架構的升級換代,網關的“型態”和功能特性都呈現了新的變化。但如本文介紹的,其基礎的、傳統的功能特性會長時間地存在,對其驗證測試是很重要的工作。北匯信息緊跟“網關”技術發展態勢,專注于汽車電子測試,通過與各OEM的合作,從源頭掌握了各類型網關路由的策略和設計需求,積累了豐富的測試實踐經驗,覆蓋了第一代和第二代及第三代架構下的網關。本文對傳統網關中的診斷路由進行了簡單的介紹,而后續文章我們將針對新一代“網關”,其新的功能特點、構成型態以及測試方案與大家繼續探討和分享。
-
測試
+關注
關注
8文章
5369瀏覽量
126928 -
以太網
+關注
關注
40文章
5460瀏覽量
172379 -
路由
+關注
關注
0文章
278瀏覽量
41892
發布評論請先 登錄
相關推薦
評論