Autosar網絡管理中,如果節點是網關節點,對開發和測試來說都是不小的挑戰,如果對需求解讀不到位,開發架構設計錯誤,后期的測試也就bug bug bug...
本文針對網關節點(包含PNC功能)解讀路由需求以及開發注意事項。本文討論的內容涉及PN(Partial Network)功能,本文源于工程實際,還是能給大家點啟發的。
提示:基于can總線討論
1 需求明確 需求:某個ECU包含兩個節點:Node1和Node2,兩者為網關節點,均包含PNC功能。要求網絡管理報文的路由時間<15ms。
提示:
Node1和Node2是主動激活節點,即兩個Node均具有快發模式;
PNC1和PNC2均關聯Can1和Can2。
2 需求說明
這里我們從測試角度分析需求應該如何測試。
舉例分析:上位機(Tester)模擬發送一幀網絡管理報文0x5xx(網絡管理報文有效范圍:0x500~0x53F)到Can1 Bus,Can1 Node收到這幀網絡管理報文以后,內部轉發給Can2 Node(實際由ComM判斷PNC,進而決定哪些Node網絡狀態切換)。在Normal Mode模式下,Node1會發送網絡管理報文0x502到Can1 Bus,Node2會發送網絡管理報文0x503到Can2 Bus。
測試關鍵步驟:
Tester發送僅包含PNC1的網絡管理報文0x5xx;
5s后,Node1和Node2進入NOS(Normal Operation State)狀態,且兩者均以1s周期外發各自的網絡管理報文;
此時上位機模擬發送一幀網絡管理報文(包含PNC1、PNC2)給Node1,Node1、Node2均進入快發模式,Can1 bus總線上第一次出現PNC2置位的模擬網絡管理報文時間記為T1;
Node2也進入快發模式,當Node2發送出第一幀包含PNC2的網絡管理報文0x503的時間記為T2(Node2此時處于快發模式),如果T2-T1 < 15ms+(15*0.01)ms = 16.5ms,則測試通過。
測試分析圖如下所示:
3 開發注意
當理解了需求以后,開發者實現過程中有幾點需要注意:
Node1接收的網絡管理報文是一個范圍,而非某幀網絡管理報文,比如:本例網絡管理報文的范圍是0x500~0x53F,該范圍內的任一幀網絡管理報文,如果PNC關聯Node2,均應使得Node2進入快發模式,反之亦然;
Node1和Node2的喚醒與PNC相關,與應用報文的路由不要混為一談。PNC關聯哪些Node,ComM會請求哪些Node的網絡狀態切換,而應用報文的路由可以通過PDUR進行PDR級別路由或者Com層的信號(Signal)路由;
配置參數CanNmPnHandleMulti勾選;
網絡管理有PN功能時,ComM負責調用CanNm_NetworkRequest()接口。
坑點: Node1和Node2均有Pn功能,配置參數CanNmPnHandleMultipleNetworkRequests需要勾選,當狀態由NOS->RMS(Repeat Message State)切換的時候,Node進入快發模式。
審核編輯:劉清
-
CAN總線
+關注
關注
145文章
1953瀏覽量
130916 -
網絡管理
+關注
關注
0文章
122瀏覽量
27703 -
AUTOSAR
+關注
關注
10文章
363瀏覽量
21639
發布評論請先 登錄
相關推薦
評論