autosar網路管理 AUTOSAR網路管理

2021-10-17 07:53:22 字數 2438 閱讀 6837

做汽車ecu的,可能永遠也繞不過autosar網路管理,今天就來簡單的總結一下autosar網路管理機制。

對於汽車ecu是否要在點火鑰匙點火後工作,對於各大主機廠ecus可分為兩個類別,

那麼什麼是網路管理(nm)呢?

目的是使網路中的ecu節點有序的睡眠和喚醒。在沒有通訊需求的時候睡眠,在需要通訊的時候喚醒,達到節能增效的作用。一般主機廠的網路管理針對的是b類ecus。

在開始autosar狀態機分析之前,先再來了解幾個基本概念:

1.兩個事件

2.兩個狀態

故當觸發本地喚醒條件時,會使nm模組進入networkrequst狀態,會週期的傳送nm報文;當收到遠端喚醒事件時,會使nm模組進入networkrleased狀態,重複報文狀態後不再傳送nm報文,進入準備睡眠狀態等待所有節點都釋放網路。

下面就來看autosar的狀態機:

autosar規定有三種狀態:分別是:睡眠模式(bus sleep mode)、預睡眠模式(perpare bus sleep mode)和網路模式(network mode)。先看圖:

為了等待匯流排上的所有節點能夠在進入bus-sleep mode之前有時間停止節點的active狀態(如清空佇列中未傳送的報文),ecu進入預睡眠狀態後會啟動乙個定時器,,超時後ecu進入睡眠狀態。這個定時器一般為2000ms。在該狀態網路管理報文不能傳送但是可以接收,應用報文既不能傳送也不能接收,但是處於緩衝區的報文是可以被傳送的。

網路模式中又包含3個子狀態:

重複報文狀態(repeat message state)

該狀態也包含2個子狀態:

①正常傳送狀態(nm normal transmit state)

②快速傳送狀態(nm normal immediate state)

正常工作狀態(normal operation state )準備睡眠狀態(ready sleep state)

下面主要說一下,這些狀態機之間的轉換關係:

01:ecu上電,ecu自己就會初始化進入睡眠模式。如果沒有喚醒源來喚醒此節點,那就會一直待在睡眠模式。

:02+03:當出現本地喚醒(03)或者遠端喚醒(02)時,進入重複報文模式狀態。

04:為什麼叫重複報文子狀態呢,因為在這個狀態裡的時候,ecu需要一直傳送週期報文,

如果是走03(本地喚醒)進來的,那麼需要先在nm immediate transmit state中以很快的週期傳送n幀報文(例:以20ms的週期連續傳送5幀報文),發完這n幀報文再進入到nm normal transmit state中以正常的週期傳送報文(例:500ms為週期傳送報文。這個在上面的**裡有定義)。如果是直接走02(遠端喚醒)進來的,那麼直接以正常週期傳送nm報文就可以了。一直發到t_repeat_message定時器超時。

這一步的目的是如果是本地喚醒的話,可能此ecu下面還有很多從屬節點,當此ecu喚醒之後,需要同時喚醒其他兄弟節點一起通訊,所以最開始的n幀報文週期很短,目的是為了快速、低延遲地喚醒其他節點。

10:收到本地喚醒,進入正常操作狀態。

11:收到nm報文的byte1位元組的重複請求位如果置1,強制進入重複報文模式。

08+14+05:t_nm_timerout定時器超時,不改變當前狀態。定時器需要重置。

13:在準備睡眠模式狀態,nm報文不可以傳送。等待t_nm_timeout定時器超時後進入預睡眠模式。

15+16:預睡眠模式狀態只可以接收nm報文,其他報文不發不收。收到遠端喚醒,走15;收到本地喚醒,走16。

17:如果pbm狀態收不到任何喚醒源,在t_wait_bus_sleep定時器超時後進入睡眠模式。

各種狀態下的報文接收情況:

nm報文資料場8位元組裡的內容:

byte0:ecu的id

bit0:當此位置1時強制進入重複報文模式;

bit4:告訴其他節點自身是怎麼被喚醒的。

置0:被動喚醒、遠端喚醒,比如被其他節點傳送的nm報文喚醒;

置1:主動喚醒、本地喚醒,比如給ecu上電;

byte2-byte7裡的user data資料由使用者自行定義。

AutoSar網路管理

最近學習can匯流排autosar網路管理,最近做一些總結。本文基於派森君的內容。autosar和osek都是汽車電子軟體的標準。osek vdx是基於ecu開發的作業系統,autosar是基於整體汽車電子開發的功能標準。autosar中規定的作業系統標準就是基於osek,通訊和網路管理雖然和ose...

AutoSar和OSEK網路管理比較

共同點 1.都屬於直接網路管理。2.網路管理的目的都是協調各節點同步進入休眠及喚醒 主要是休眠 3.都依靠特定的網路管理can報文,每個節點的網路管理id都不一樣。4.喚醒方法相同,第乙個喚醒的節點傳送網路管理幀即同時喚醒其它節點。不同點 1.喚醒幀型別不一樣 網路喚醒後,osek要求節點發出的第一...

osek和autosar網路管理的區別和共同點

共同點 1.都屬於直接網路管理 以下都是以直接網路管理為例,autosar可以不是直接網路管理 2.網路管理的目的都是協調各節點同步進入休眠及喚醒 主要是休眠 3.都依靠特定的網路管理can報文,每個節點的網路管理id都不一樣。4.喚醒方法相同,第乙個喚醒的節點傳送網路管理幀即同時喚醒其它節點。不同...