一、前言
汽車網(wǎng)絡(luò)管理從根本上來說是為了省電的,基本的實(shí)現(xiàn)方式就是汽車在沒有使用的情況下一些ECU會(huì)通過網(wǎng)絡(luò)管理協(xié)調(diào)進(jìn)入低功耗模式或者睡眠模式,從而達(dá)到省電的目的。目前主流的網(wǎng)絡(luò)管理標(biāo)準(zhǔn)有兩個(gè),一個(gè)是AUTOSAR(Automotive Open System Architecture,即汽車開放系統(tǒng)架構(gòu)),另一個(gè)是OSEK。AUTOSAR與OSEK的網(wǎng)絡(luò)管理方式雖然有區(qū)別,但是可以認(rèn)為AUTOSAR是基于OSEK/VDS發(fā)展出來的。
那么這兩種標(biāo)準(zhǔn)分別是怎么實(shí)現(xiàn)網(wǎng)絡(luò)管理功能的,有什么差異?有什么相同呢?
二、OSEK與AUTOSAR網(wǎng)絡(luò)管理實(shí)現(xiàn)原理
OSEK網(wǎng)絡(luò)管理
1、狀態(tài)機(jī)
OSEK網(wǎng)絡(luò)管理狀態(tài)機(jī)的狀態(tài)跳轉(zhuǎn)是有多層的,具有三個(gè)主要狀態(tài):
圖一OSEK網(wǎng)絡(luò)管理主狀態(tài)示意圖
NMOff:網(wǎng)絡(luò)管理關(guān)閉
NMOn:網(wǎng)絡(luò)管理正在運(yùn)行
NMShutDown:關(guān)閉網(wǎng)絡(luò)管理的操作,此過程會(huì)清理一些在運(yùn)行過程中產(chǎn)生的數(shù)據(jù)
NMOn狀態(tài)下有兩組并行的子狀態(tài),互不影響:
圖二NMOn狀態(tài)下的子狀態(tài)示意圖
NMInit:主要是硬件初始化,此狀態(tài)很短暫(初始)
NMAwake:一般情況下節(jié)點(diǎn)長(zhǎng)期保持的狀態(tài),正常進(jìn)行網(wǎng)絡(luò)管理
NMBusSleep:睡眠狀態(tài),網(wǎng)絡(luò)管理通信停止
NMActive:參與網(wǎng)絡(luò)管理(初始)
NMPassive:節(jié)點(diǎn)不參與網(wǎng)絡(luò)管理,但仍監(jiān)視網(wǎng)絡(luò)活動(dòng)
NMAwake狀態(tài)下也有三個(gè)子狀態(tài):
圖三NMAwake狀態(tài)下的子狀態(tài)示意圖
NMReset:軟件初始化,發(fā)送alive報(bào)文
NMNormal:周期性發(fā)送或接受Ring報(bào)文,檢測(cè)節(jié)點(diǎn)狀態(tài)和網(wǎng)絡(luò)配置的變化
NMLimpHome:節(jié)點(diǎn)非正常狀態(tài),不能正常發(fā)送和接收網(wǎng)絡(luò)管理報(bào)文,嘗試周期性發(fā)送跛行報(bào)文
一個(gè)節(jié)點(diǎn)從休眠到喚醒,再到休眠狀態(tài)的跳轉(zhuǎn)示意圖如下:
圖四 OSEK網(wǎng)絡(luò)管理狀態(tài)跳轉(zhuǎn)示意圖
2、NM報(bào)文格式
網(wǎng)絡(luò)管理直接關(guān)聯(lián)的報(bào)文為網(wǎng)絡(luò)管理報(bào)文,網(wǎng)絡(luò)管理報(bào)文根據(jù)攜帶數(shù)據(jù)中byte1字節(jié)的不同bit置位可以分為Alive報(bào)文、Ring報(bào)文和LimpHome報(bào)文。網(wǎng)絡(luò)管理報(bào)文byte1字節(jié)中還攜帶有每個(gè)節(jié)點(diǎn)是否滿足休眠的信息,分別叫SleepInd信息、SleepACK信息。
Alive報(bào)文(byte1中bit0置位):每個(gè)節(jié)點(diǎn)需要加入邏輯環(huán)中時(shí)發(fā)送的聲明。
例:
Ring報(bào)文(byte1中bit1置位):“令牌”在邏輯環(huán)中傳遞的網(wǎng)絡(luò)管理報(bào)文。
例:
LimpHome報(bào)文(byte1中bit2置位):節(jié)點(diǎn)處于非正常狀態(tài)不能收發(fā)網(wǎng)絡(luò)管理報(bào)文時(shí)發(fā)出的特殊報(bào)文。
例:
SleepInd信息(byte1中bit4置位):網(wǎng)絡(luò)管理報(bào)文操作碼中攜帶的數(shù)據(jù),表明發(fā)出此信息的節(jié)點(diǎn)不再主動(dòng)請(qǐng)求網(wǎng)絡(luò)通信。
例:
SleepACK信息(byte1中bit4和bit5置位):表明網(wǎng)絡(luò)中所有節(jié)點(diǎn)都不再需要網(wǎng)絡(luò)通信,所有節(jié)點(diǎn)收到此信息的報(bào)文后就停止通信,進(jìn)入休眠。
例:
3、邏輯環(huán)
邏輯環(huán):網(wǎng)絡(luò)管理報(bào)文傳遞的邏輯,正常通信的網(wǎng)絡(luò)中一個(gè)節(jié)點(diǎn)只有收到其他節(jié)點(diǎn)發(fā)出指向自身的網(wǎng)絡(luò)管理報(bào)文,也就是“令牌”,才能發(fā)出自身網(wǎng)絡(luò)管理報(bào)文,因此網(wǎng)絡(luò)中同一時(shí)間只有一個(gè)節(jié)點(diǎn)能發(fā)出網(wǎng)絡(luò)管理報(bào)文,每個(gè)節(jié)點(diǎn)按順序發(fā)送網(wǎng)絡(luò)管理報(bào)文,這個(gè)順序就叫做邏輯環(huán)。示意圖如下:
圖五 邏輯環(huán)示意圖
“Token”在NodeB,NodeB發(fā)出指向NodeC的網(wǎng)絡(luò)管理報(bào)文。
NodeB的發(fā)出指向NodeC的網(wǎng)絡(luò)管理報(bào)文,“Token”轉(zhuǎn)移到NodeC。
“Token”在NodeC,NodeC發(fā)出指向NodeA的網(wǎng)絡(luò)管理報(bào)文。
NodeC的發(fā)出指向NodeA的網(wǎng)絡(luò)管理報(bào)文,“Token”轉(zhuǎn)移到NodeA。
“Token”在NodeA,NodeA發(fā)出指向NodeB的網(wǎng)絡(luò)管理報(bào)文。
NodeA的發(fā)出指向NodeB的網(wǎng)絡(luò)管理報(bào)文,“Token”轉(zhuǎn)移到NodeB。
AUTOSAR網(wǎng)絡(luò)管理
1、狀態(tài)機(jī)
AUTOSAR網(wǎng)絡(luò)管理只有三個(gè)模式:
圖六AUTOSAR網(wǎng)絡(luò)管理模式示意圖
BusSleepMode:總線睡眠模式,當(dāng)具備AUTOSAR網(wǎng)絡(luò)管理功能的控制器正常休眠時(shí)的狀態(tài)。
PrepareBusSleepMode:總線預(yù)睡眠模式,此狀態(tài)為網(wǎng)絡(luò)中節(jié)點(diǎn)停止通信準(zhǔn)備進(jìn)入睡眠模式的一個(gè)過渡狀態(tài),不會(huì)長(zhǎng)期處于此狀態(tài)
NetworkMode:網(wǎng)絡(luò)模式,網(wǎng)絡(luò)中有通信請(qǐng)求時(shí)的狀態(tài)。
NetworkMode下還有三個(gè)子狀態(tài),AUTOSAR網(wǎng)絡(luò)管理則是根據(jù)這三個(gè)子狀態(tài)來判斷節(jié)點(diǎn)是否需要通信:
圖七Network Mode模式下子狀態(tài)示意圖
RepeatMessage State:重復(fù)消息狀態(tài),此狀態(tài)不是一個(gè)長(zhǎng)時(shí)間的狀態(tài),當(dāng)從睡眠模式或者準(zhǔn)備睡眠模式進(jìn)入網(wǎng)絡(luò)模式時(shí)進(jìn)入此狀態(tài),發(fā)出自身的網(wǎng)絡(luò)管理報(bào)文,讓網(wǎng)絡(luò)中的其他節(jié)點(diǎn)可以檢測(cè)到,也可以用來檢測(cè)當(dāng)前在線的節(jié)點(diǎn)。
NormalOperationState:正常操作狀態(tài),某個(gè)節(jié)點(diǎn)需要網(wǎng)絡(luò)通信時(shí)處于的狀態(tài),周期性的發(fā)出自身的網(wǎng)絡(luò)管理報(bào)文。
ReadySleep State:就緒睡眠狀態(tài),某個(gè)節(jié)點(diǎn)不再需要網(wǎng)絡(luò)通信時(shí)處于的狀態(tài),不再發(fā)出自身的網(wǎng)絡(luò)管理報(bào)文,但正常發(fā)送自身的應(yīng)用報(bào)文。
一個(gè)正常通信網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都會(huì)維持在兩個(gè)狀態(tài),一個(gè)是NormalOperationState,另一個(gè)是ReadySleep State,這兩個(gè)狀態(tài)的差別就是網(wǎng)絡(luò)管理報(bào)文的發(fā)送與否。
一個(gè)節(jié)點(diǎn)從休眠到喚醒,再到休眠狀態(tài)的跳轉(zhuǎn)如下所示:
圖八AUTOSAR網(wǎng)絡(luò)管理狀態(tài)跳轉(zhuǎn)示意圖
2、NM報(bào)文格式
AUTOSAR網(wǎng)絡(luò)管理報(bào)文由于是廣播發(fā)送的且不需要指定任何節(jié)點(diǎn),所以報(bào)文只包含自身的ID,和少量的控制信息,叫做控制位向量,以及用戶數(shù)據(jù)。
圖九AUTOSAR網(wǎng)絡(luò)管理報(bào)文格式
至此,本文分別在狀態(tài)機(jī),網(wǎng)絡(luò)管理報(bào)文格式對(duì)OSEK和AUTOSAR網(wǎng)絡(luò)管理進(jìn)行了簡(jiǎn)單介紹。
本文重點(diǎn)在兩種網(wǎng)絡(luò)管理特點(diǎn)的比較,因文章篇幅限制,還請(qǐng)各位看官移步至文章《科普系列:AUTOSAR與OSEK網(wǎng)絡(luò)管理比較(下)》。
未完待續(xù)。
北匯信息專注于汽車電子測(cè)試,與國(guó)內(nèi)外眾多OEM和Tier1合作,在車載通信、診斷刷寫、OTA、車內(nèi)網(wǎng)絡(luò)安全、域控制器功能測(cè)試等領(lǐng)域積累了豐富的實(shí)踐經(jīng)驗(yàn),歡迎大家交流、探討。
注:文中部分圖片來源于AUTOSAR_SWS_CANNetworkManagement
-
網(wǎng)絡(luò)管理
+關(guān)注
關(guān)注
0文章
121瀏覽量
27691
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論