一、前言
汽車網絡管理從根本上來說是為了省電的,基本的實現方式就是汽車在沒有使用的情況下一些ECU會通過網絡管理協調進入低功耗模式或者睡眠模式,從而達到省電的目的。目前主流的網絡管理標準有兩個,一個是AUTOSAR(Automotive Open System Architecture,即汽車開放系統架構),另一個是OSEK。AUTOSAR與OSEK的網絡管理方式雖然有區別,但是可以認為AUTOSAR是基于OSEK/VDS發展出來的。
那么這兩種標準分別是怎么實現網絡管理功能的,有什么差異?有什么相同呢?
二、OSEK與AUTOSAR網絡管理實現原理
OSEK網絡管理
1、狀態機
OSEK網絡管理狀態機的狀態跳轉是有多層的,具有三個主要狀態:

圖一OSEK網絡管理主狀態示意圖
NMOff:網絡管理關閉
NMOn:網絡管理正在運行
NMShutDown:關閉網絡管理的操作,此過程會清理一些在運行過程中產生的數據
NMOn狀態下有兩組并行的子狀態,互不影響:

圖二NMOn狀態下的子狀態示意圖
NMInit:主要是硬件初始化,此狀態很短暫(初始)
NMAwake:一般情況下節點長期保持的狀態,正常進行網絡管理
NMBusSleep:睡眠狀態,網絡管理通信停止
NMActive:參與網絡管理(初始)
NMPassive:節點不參與網絡管理,但仍監視網絡活動
NMAwake狀態下也有三個子狀態:

圖三NMAwake狀態下的子狀態示意圖
NMReset:軟件初始化,發送alive報文
NMNormal:周期性發送或接受Ring報文,檢測節點狀態和網絡配置的變化
NMLimpHome:節點非正常狀態,不能正常發送和接收網絡管理報文,嘗試周期性發送跛行報文
一個節點從休眠到喚醒,再到休眠狀態的跳轉示意圖如下:

圖四 OSEK網絡管理狀態跳轉示意圖
2、NM報文格式
網絡管理直接關聯的報文為網絡管理報文,網絡管理報文根據攜帶數據中byte1字節的不同bit置位可以分為Alive報文、Ring報文和LimpHome報文。網絡管理報文byte1字節中還攜帶有每個節點是否滿足休眠的信息,分別叫SleepInd信息、SleepACK信息。
Alive報文(byte1中bit0置位):每個節點需要加入邏輯環中時發送的聲明。
例:

Ring報文(byte1中bit1置位):“令牌”在邏輯環中傳遞的網絡管理報文。
例:

LimpHome報文(byte1中bit2置位):節點處于非正常狀態不能收發網絡管理報文時發出的特殊報文。
例:

SleepInd信息(byte1中bit4置位):網絡管理報文操作碼中攜帶的數據,表明發出此信息的節點不再主動請求網絡通信。
例:

SleepACK信息(byte1中bit4和bit5置位):表明網絡中所有節點都不再需要網絡通信,所有節點收到此信息的報文后就停止通信,進入休眠。
例:

3、邏輯環
邏輯環:網絡管理報文傳遞的邏輯,正常通信的網絡中一個節點只有收到其他節點發出指向自身的網絡管理報文,也就是“令牌”,才能發出自身網絡管理報文,因此網絡中同一時間只有一個節點能發出網絡管理報文,每個節點按順序發送網絡管理報文,這個順序就叫做邏輯環。示意圖如下:

圖五 邏輯環示意圖

“Token”在NodeB,NodeB發出指向NodeC的網絡管理報文。

NodeB的發出指向NodeC的網絡管理報文,“Token”轉移到NodeC。

“Token”在NodeC,NodeC發出指向NodeA的網絡管理報文。

NodeC的發出指向NodeA的網絡管理報文,“Token”轉移到NodeA。

“Token”在NodeA,NodeA發出指向NodeB的網絡管理報文。

NodeA的發出指向NodeB的網絡管理報文,“Token”轉移到NodeB。
AUTOSAR網絡管理
1、狀態機
AUTOSAR網絡管理只有三個模式:

圖六AUTOSAR網絡管理模式示意圖
BusSleepMode:總線睡眠模式,當具備AUTOSAR網絡管理功能的控制器正常休眠時的狀態。
PrepareBusSleepMode:總線預睡眠模式,此狀態為網絡中節點停止通信準備進入睡眠模式的一個過渡狀態,不會長期處于此狀態
NetworkMode:網絡模式,網絡中有通信請求時的狀態。
NetworkMode下還有三個子狀態,AUTOSAR網絡管理則是根據這三個子狀態來判斷節點是否需要通信:

圖七Network Mode模式下子狀態示意圖
RepeatMessage State:重復消息狀態,此狀態不是一個長時間的狀態,當從睡眠模式或者準備睡眠模式進入網絡模式時進入此狀態,發出自身的網絡管理報文,讓網絡中的其他節點可以檢測到,也可以用來檢測當前在線的節點。
NormalOperationState:正常操作狀態,某個節點需要網絡通信時處于的狀態,周期性的發出自身的網絡管理報文。
ReadySleep State:就緒睡眠狀態,某個節點不再需要網絡通信時處于的狀態,不再發出自身的網絡管理報文,但正常發送自身的應用報文。
一個正常通信網絡中的所有節點都會維持在兩個狀態,一個是NormalOperationState,另一個是ReadySleep State,這兩個狀態的差別就是網絡管理報文的發送與否。
一個節點從休眠到喚醒,再到休眠狀態的跳轉如下所示:

圖八AUTOSAR網絡管理狀態跳轉示意圖
2、NM報文格式
AUTOSAR網絡管理報文由于是廣播發送的且不需要指定任何節點,所以報文只包含自身的ID,和少量的控制信息,叫做控制位向量,以及用戶數據。

圖九AUTOSAR網絡管理報文格式
至此,本文分別在狀態機,網絡管理報文格式對OSEK和AUTOSAR網絡管理進行了簡單介紹。
本文重點在兩種網絡管理特點的比較,因文章篇幅限制,還請各位看官移步至文章《科普系列:AUTOSAR與OSEK網絡管理比較(下)》。
未完待續。
北匯信息專注于汽車電子測試,與國內外眾多OEM和Tier1合作,在車載通信、診斷刷寫、OTA、車內網絡安全、域控制器功能測試等領域積累了豐富的實踐經驗,歡迎大家交流、探討。
注:文中部分圖片來源于AUTOSAR_SWS_CANNetworkManagement
-
網絡管理
+關注
關注
0文章
123瀏覽量
28042
發布評論請先 登錄
黑芝麻智能與Elektrobit推出Classic AUTOSAR解決方案
光庭信息榮獲AUTOSAR中國中心2024年度特別貢獻獎
AUTOSAR通信對自動駕駛的影響 AUTOSAR通信與嵌入式系統設計
AUTOSAR通信與網絡安全 AUTOSAR通信在車輛中的應用
AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法
AUTOSAR通信框架的優勢 AUTOSAR通信實例與應用場景
AUTOSAR通信與CAN協議的關系
AUTOSAR通信組件介紹 AUTOSAR通信層功能分析
AUTOSAR通信協議解析 如何實現AUTOSAR通信
節能攻略,AUTOSAR PN局部網絡管理技術!

AUTOSAR解決方案 — INTEWORK-EAS-AP

首款支持AUTOSAR車規MCU亮相AUTOSAR中國日

評論