01、 前 言
汽車網絡管理從根本上來說是為了省電的,基本的實現方式就是汽車在沒有使用的情況下一些ECU會通過網絡管理協調進入低功耗模式或者睡眠模式,從而達到省電的目的。目前主流的網絡管理標準有兩個,一個是AUTOSAR(Automotive Open System Architecture,即汽車開放系統架構),另一個是OSEK。 AUTOSAR與OSEK的網絡管理方式雖然有區別,但是可以認為AUTOSAR是基于OSEK/VDS發展出來的。 那么這兩種標準分別是怎么實現網絡管理功能的,有什么差異?有什么相同呢?
02、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”在Node B,Node B發出指向Node C的網絡管理報文 Node B的發出指向Node C的網絡管理報文,“Token”轉移到Node C “Token”在Node C,Node C發出指向Node A的網絡管理報文 Node C的發出指向Node A的網絡管理報文,“Token”轉移到Node A “Token”在Node A,Node A發出指向Node B的網絡管理報文 Node A的發出指向Node B的網絡管理報文,“Token”轉移到Node B
AUTOSAR網絡管理
1.狀態機AUTOSAR網絡管理只有三個模式:
圖六 AUTOSAR網絡管理模式示意圖
BusSleep Mode :總線睡眠模式,當具備AUTOSAR網絡管理功能的控制器正常休眠時的狀態
Prepare BusSleep Mode :總線預睡眠模式,此狀態為網絡中節點停止通信準備進入睡眠模式的一個過渡狀態,不會長期處于此狀態
Network Mode :網絡模式,網絡中有通信請求時的狀態
Network Mode下還有三個子狀態,AUTOSAR網絡管理則是根據這三個子狀態來判斷節點是否需要通信:
圖七 Network Mode模式下子狀態示意圖
Repeat Message State:重復消息狀態,此狀態不是一個長時間的狀態,當從睡眠模式或者準備睡眠模式進入網絡模式時進入此狀態,發出自身的網絡管理報文,讓網絡中的其他節點可以檢測到,也可以用來檢測當前在線的節點。
Normal Operation State:正常操作狀態,某個節點需要網絡通信時處于的狀態,周期性的發出自身的網絡管理報文。
Ready Sleep State:就緒睡眠狀態,某個節點不再需要網絡通信時處于的狀態,不再發出自身的網絡管理報文,但正常發送自身的應用報文。
一個正常通信網絡中的所有節點都會維持在兩個狀態,一個是Normal Operation State,另一個是Ready Sleep State,這兩個狀態的差別就是網絡管理報文的發送與否。 一個節點從休眠到喚醒,再到休眠狀態的跳轉如下所示:
圖八 AUTOSAR網絡管理狀態跳轉示意圖 2.NM報文格式AUTOSAR網絡管理報文由于是廣播發送的且不需要指定任何節點,所以報文只包含自身的ID,和少量的控制信息,叫做控制位向量,以及用戶數據。
圖九 AUTOSAR網絡管理報文格式 至此,本文分別在狀態機,網絡管理報文格式對OSEK和AUTOSAR網絡管理進行了簡單介紹。 本文重點在兩種網絡管理特點的比較,因文章篇幅限制,還請各位看官移步至文章《科普系列:AUTOSAR與OSEK網絡管理比較(下)》。 未完待續敬請期待下期介紹
03、總 結
北匯信息專注于汽車電子測試,與國內外眾多OEM和Tier1合作,在車載通信、診斷刷寫、OTA、車內網絡安全、域控制器功能測試等領域積累了豐富的實踐經驗,歡迎大家交流、探討。
審核編輯:郭婷
-
汽車電子
+關注
關注
3024文章
7883瀏覽量
166552 -
狀態機
+關注
關注
2文章
492瀏覽量
27486
原文標題:科普系列:AUTOSAR與OSEK網絡管理比較(上)
文章出處:【微信號:QCDZSJ,微信公眾號:汽車電子設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論