概述
AUTOSAR CAN 網絡管理是一個獨立于硬件的協議,只能在 CAN 上使用。它的主要目的是協調網絡的正常運行和總線休眠模式之間的轉換。
除了核心功能之外,還提供了可配置功能,例如, 實施服務來檢測所有當前節點或檢測是否所有其他節點都準備好休眠。
CAN 網絡管理(CanNm)功能提供網絡管理接口(NmIf)和 CAN 接口(CanIf)模塊之間的適配。
網絡管理的制約
CanNm 的一個通道只與一個網絡中的一個網絡管理集群相關聯。一個網絡管理群集在一個節點中只能有一個 CanNm 通道。
CanNm 的一個通道僅與同一 ECU 內的一個網絡相關聯。
CanNm 僅適用于 CAN 系統。
CANNm 模塊可以應用于任何汽車領域。
網絡管理協議
喚醒請求
喚醒請求可分為如下兩種:
本地喚醒請求, 即來自該節點內部的對網絡的喚醒請求。
遠程喚醒請求, 即來自網絡上其他節點的網絡管理報文請求。
網絡管理模式
網絡管理包含如下三種模式:
睡眠模式
預睡眠模式
網絡模式
睡眠模式
當節點沒有本地網絡喚醒及遠程喚醒請求時, ECU 通訊控制器切換至睡眠模式, ECU 功耗降低至適當水平。
在睡眠模式下,節點的網絡管理報文和應用報文禁止發送,并且不能對總線上的報文進行 ACK 應答;但可以被總線上的報文喚醒,在被喚醒后才可以對總線報文進行ACK 應答。同時節點在該模式下,如果檢測到有效的喚醒源,節點必須被喚醒。
預睡眠模式
當節點進入預睡眠模式時,將啟動T_WAIT_BUS_SLEEP定時器。
在預睡眠模式下,總線活動需靜止下來,最終達到總線上沒有活動,但ECU通訊控制器狀態應處于工作模式。
在該模式下,節點的網絡管理報文和應用報文禁止發送(為了清空發送緩存,允許將發送隊列中已有的報文發完),但需對總線上的報文進行ACK應答。
網絡模式
當節點進入網絡模式時,將啟動 T_NM_TIMEROUT 定時器。在網絡模式下成功接收或者發送網絡管理報文時,節點將重新啟動 T_NM_TIMEROUT 定時器。
網絡模式分為三種內部狀態:
重復報文狀態
常規操作狀態
準備睡眠狀態
重復報文狀態
重復報文狀態確保節點從睡眠模式或預睡眠模式到網絡模式的轉換對網絡上的其他節點可見。
進入重復報文狀態時,節點將(重新)開始網絡管理報文的發送,并啟動 T_REPEAT_MESSAGE 定時器。應用報文必須在第一幀網絡管理報文發送開始后且小于 T_STARTx_AppFrame 內發送。
節點的網絡管理狀態將保持在重復報文狀態直到 T_REPEAT_MESSAGE 時間截止,一旦該時間超時,網絡管理狀態應該離開重復報文狀態。
在 重 復 報 文 狀 態 下 , 節 點 一 旦 接 收 或 發 送 一 條 網 絡 管 理 報 文 , 或 者T_NM_TIMEROUT 超時,則 T_NM_TIMEROUT 立即重置。
重復報文狀態包含兩個子狀態:
NM 快速發送子狀態。節點在進入 NM 快速發送子狀態時,為了快速喚醒網絡,節點必須以快速周期T_NM_ImmediateCycleTime 發送網絡管理報文。
發送的快速網絡管理報文數量由參數 N_ImmediateNM_TIMES 決定,節點每次成功發送一條快速周期網絡管理報文時,該數值應遞減 1。
NM 正常發送子狀態。進入NM正常發送子狀態后,節點必須以正常周期T_NM_MessageCycle發送網絡管理報文。
常規操作狀態
當節點因發生本地喚醒事件需要與網絡上的其他節點進行通訊時,必須保持在常規操作狀態,并且以正常周期 T_NM_MessageCycle 發送網絡管理報文。在常規操作狀態下,節點一旦接收或發送一條網絡管理報文,或者 T_NM_TIMEROUT 超時,則 T_NM_TIMEROUT 應該立即重置。
在常規操作狀態下,節點的網絡管理報文和應用報文必須正常發送。
準備睡眠狀態
節點進入準備睡眠后,必須停止發送網絡管理報文。
在準備睡眠狀態下,節點一旦接收到一條網絡管理報文, T_NM_TIMEROUT應該立刻重置。T_NM_TIMEROUT超時,節點的網絡管理狀態應進入預睡眠模式。
網絡管理報文
AUTOSAR 網絡管理報文結構如下表所示:
CAN 網絡管理報文 ID 范圍從 0x500~0x53F,其中報文優先級定義為(110) 2 = 6 級, FFFA 為網絡管理 PGN(自定義),00~FF 為 ECU 源地址SA;
網絡管理報文數據場的字節 1 用于發送控制比特向量(Control Bit Vector),字節 2~7 用戶自定義:
當控制器有重復報文請求,主動回到重復報文狀態,并將重復報文請求位置 1;當該控制器離開重復報文狀態,將重復報文請求位清零;控制器由于其他條件(本地喚醒或接收到其他控制器重復報文狀態位置 1 的 NM 報文)而回到重復報文狀態,重復報文請求位保持 0。
當控制器由于本地喚醒進入重復報文狀態時,主動喚醒位置 1,直到重新進入預睡眠模式時清零;當控制器由于遠程 NM 報文喚醒,主動喚醒位保持 0。
網絡管理常用參數
狀態遷移
狀態遷移條件
NM_01
網絡管理節點的上電后(Battery Power on),節點進行網絡管理模塊初始化,初始化完成后進入睡眠模式,具備被本地喚醒事件或者遠程喚醒請求的能力。
NM_02
當網絡管理節點處于睡眠模式時,如果收到有效的遠程喚醒請求,那么節點必須離開睡眠模式并進入重復報文狀態的 NM 正常發送子狀態。
進入 NM 正常發送子狀態后,在定時器 T_REPEAT_MESSAGE 超時前,節點必須以以 T_NM_MessageCycle 為周期發送網絡管理報文。
NM_03
如果節點在睡眠模式下檢測到本地喚醒請求,那么節點必須主動喚醒網絡, 進入NM 快速發送子狀態, 并將主動喚醒位設置為 1。
節點進入 NM 快速發送子狀態后,需以 T_NM_ImmediateCycleTime 為周期,發送數量為 N_ImmediateNM_TIMES 的網絡管理報文。
NM_04
處于 NM 快速發送子狀態的節點,在計數器 N_ImmediateNM_TIMES 為零時,將進入 NM 正常發送子狀態。
NM_05
處于重復發送狀態下的節點,如果 T_NM_TIMEROUT 超時,節點的網絡管理狀態不應改變,但 T_NM_TIMEROUT 必須重置。
NM_06
處于 NM 正常發送子狀態的節點,當 T_REPEAT_MESSAGE 超時, 主動喚醒模式下,則進入常規操作狀態。節點繼續保持以正常周期 T_NM_MessageCycle發送網絡管理報文和相關的應用報文。
NM_07
處于常規操作狀態的節點,如果節點自身有重復報文請求,節點將網絡管理狀態切換到重復報文狀態的 NM 快速發送子狀態;如果節點收到其他節點重復報文請求位置 1 的 NM 報文,節點將網絡管理狀態切換到重復報文狀態的 NM 正常發送子狀態。
NM_08
處于常規操作狀態下的節點,如果 T_NM_TIMEROUT 超時,節點的網絡管理狀態不應改變,但 T_NM_TIMEROUT 必須重置。
NM_09
處于常規操作狀態下的節點,如果本身不需要網絡,節點馬上將網絡管理狀態切換到準備睡眠狀態,同時停止發送網絡管理報文,保持應用報文的發送和接受,每次接受到網絡管理報文,重置T_NM_TIMEROUT定時器。
NM_10
處于準備睡眠狀態的節點,如果檢測到本地喚醒請求,則將網絡管理狀態切換到常規操作狀態。
NM_11
處于準備睡眠狀態的節點,如果節點自身有重復報文請求,節點將網絡管理狀態切換到重復報文狀態的 NM 快速發送子狀態;如果節點收到其他節點重復報文請求位置 1 的 NM 報文,節點將網絡管理狀態切換到重復報文狀態的 NM 正常發送子狀態。
NM_12
處于 NM 正常發送子狀態下的節點,當 T_REPEAT_MESSAGE 超時,且自身無網絡請求,節點將立即進入準備睡眠狀態,并開啟CANNM_WBS_TIMER定時器。
NM_13處 于 準 備 睡 眠 狀 態 的 節 點, 如 果 不 再 收 到 本 地 或 遠 程 喚 醒 請 求 , 在CANNM_WBS_TIMER超時后,節點將進入預睡眠模式,進入預睡眠模式后開啟T_WAIT_BUS_SLEEP 定時器.
NM_14
處于網絡模式的節點,在成功接收或者發送一幀網絡管理報文后,節點的網絡處于預睡眠模式的節點,如果收到遠程喚醒請求,將進入重復報文狀態的 NM 正常發送子狀態。
NM_16
處于預睡眠模式的節點,如果收到本地喚醒請求,將進入重復報文狀態的 NM 快速發送子狀態。
NM_17
處 于 預 睡 眠 模 式 的 節 點 , 如 果 不 再 收 到 本 地 或 遠 程 喚 醒 請 求 ,在T_WAIT_BUS_SLEEP 超時后,節點將進入睡眠模式。
故障處理
節點的網絡管理所在的網絡總線不可用時,必須執行如下行為:
如果節點沒有準備好睡眠,但總線變得不可用,則不應該進入睡眠模式。
如果節點已準備好睡眠,但總線變得不可用,則應該進入睡眠模式。
如果總線不可用,但節點狀態變為準備睡眠,則應該進入睡眠模式。
如果總線不可用,但節點狀態變為未準備好睡眠,則不應該進入睡眠模式。
網絡管理的故障處理不適用于已經處于睡眠模式的節點,因為在睡眠模式下無通信行為,此時總線不可用是難以檢測到的。
審核編輯:湯梓紅
-
接口
+關注
關注
33文章
8863瀏覽量
152853 -
CAN
+關注
關注
57文章
2822瀏覽量
466040 -
網絡管理
+關注
關注
0文章
123瀏覽量
27961 -
AUTOSAR
+關注
關注
10文章
369瀏覽量
22266 -
ecu
+關注
關注
14文章
902瀏覽量
55265
原文標題:一文搞懂 Autosar 網絡管理
文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
AUTOSAR CAN網絡管理
AUTOSAR架構深度解析 精選資料分享
OSEK與AUTOSAR標準分別是怎么實現網絡管理功能的
AUTOSAR CAN網絡管理
科普系列:AUTOSAR與OSEK網絡管理比較(上)

科普系列:AUTOSAR與OSEK網絡管理比較(下)

評論