AUTOSAR 網絡管理

一、直接網絡管理

1. OSEK NM

直接網絡管理將網絡上ECU節點形成一個邏輯整體,通過邏輯環進行網絡管理的同步。

1.1 邏輯環Logical Ring

網絡上所有節點通過單向傳輸形成邏輯環,通過A->B->C->A的報文傳輸關係,形成一個閉環。
邏輯環

1.2 新的節點如何加入邏輯環

直接網絡管理提供3種報文幀,用於邏輯環的管理。

  1. Alive Message 表示網絡上新的節點,即將加入邏輯環
  2. Ring Message 邏輯環傳輸報文
  3. Limp Message 表示網絡上故障的節點,即將退出邏輯環

1.3 節點狀態

對於其他監控節點:

  1. Node Present 收到Alive Message 或者Ring Message
  2. Node Absent 在TimeOut 時間內未收到Alive Message或者Ring Message

對於節點本身:
3. present or note mute 在線且不處於靜默狀態,發送Alive / Ring Message
4. absent or mute 離線或者靜默

1.4 地址管理

ECU節點的地址信息包含在NM PDU中,佔一個Byte。每個ECU節點的地址都是固定的。
NM PDU
在這裏插入圖片描述
OSEK NM採用基地址(BASE ID)+窗口機制(WindowsMask)。當一條消息滿足 ID&WINDOWS_MASK = ID_BASE,則表示這個消息是一個NM幀。
假設一個CAN網絡中存在4個ECU節點。地址分別分配爲1–4。假設基地址是0x700,那麼這四個ECU節點的地址分別爲0x701 0x702 0x703 0x704。總線上這個四個ID的任意報文都是NM幀。

1.5 NM狀態流轉

NM的狀態是分層級表述
在這裏插入圖片描述

狀態 描述
NM Init NM初始化
NM Awake NM喚醒
NM BusSleep NM 休眠
NM Ative NM通訊啓用
NM Passive NM 通信禁用
NM Reset NM 復位
NM Normal NM 正常運行
NM LimpHome NM 節點故障

不同的狀態之間的流轉圖如下。
在這裏插入圖片描述

2. AUTOSAR NM

在這裏插入圖片描述

2.1 操作模式

AUTOSAR NM包含三種操作模式,分別表示節點在當前在網絡的狀態

  1. 網絡模式 Network Mode
  2. 預休眠模式 Prepare Bus-Sleep Mode
  3. 總線休眠模式 Bus-Sleep Mode

2.1.1 網絡模式

網絡模式包含三種狀態。

  1. 重複報文狀態(Repeat Message State)
  2. 普通操作狀態 (Normal Operation State)
  3. 準備休眠狀態 (Ready Sleep State)
    Repeat Message State: 用於通知網絡上其他節點,該節點從Bus-Sleep Mode 或者 Prepare Bus-Sleep Mode 進入NetWork Mode.
    Normal Operation State: 用於保證當節點請求網絡時網絡處於激活狀態

2.1.2 預休眠模式

預休眠模式是網絡模式到總線休眠模式的過渡狀態,進入預休眠模式時,總線上不在響應新的發送報文請求,僅僅將緩存區中的報文發送出去。對於進入預休眠模式的ECU節點來說,ComM會進入靜默模式Slient Communication。
同時,在預休眠模式下,不需要對Trcv進行動作。

2.1.3 總線休眠模式

Bus-Sleep Mode的目的是減少ECU節點的功耗,Trcv需要被切換到睡眠模式。在這個狀態下,不是代表ECU已經下電,NM的狀態實際上只能影響ComM的狀態,

2.2 網絡狀態

網絡狀態包括requested 和released兩個條件狀態,當Nm狀態處於requested時,表示ECU需要向總線請求通訊。反之,Nm狀態處於released。
當ECU已經處於released 時,但是還是在通訊時,說明總線上還有其他節點處於requested狀態。

2.3 時間參數

CanNm一共有四個重要的時間參數,關乎到各個狀態之間的流轉時間。

  1. CanNmTimeOutTime
  2. CanNmRepeatMessageTime
  3. CanNmWaitBusSleepTime
  4. CanNmRemoteSleepIndTime

2.4 NM PDU的組成

NmPDU
在這裏插入圖片描述

2.5 NM的狀態流轉

CanNm狀態流轉

  1. 上電啓機時,默認狀態是Bus-Sleep Mode.通過調用接口CanNm_NetWorkRequest接口進入Network Mode。
  2. 開啓TimeOut Timer 和 Repeat Message Timer之後,通過接口Nm_NetworkMode進入Network Mode
  3. Repeat Message Timer溢出後,進入Normal Operation State
  4. 在Normal Operation State 通過接口 CanNm_NetworkRelease進入Ready Sleep State
  5. 在Ready Sleep State 時,當Nm-Timeout Timer溢出,Nm進入Prepare Bus-Sleep Mode
  6. 在Prepare Bus-Sleep Mode時,Wait Bus-Sleep Timer溢出時,Nm進入Bus-Sleep Mode,總線進入No Communication狀態

接口調用關係如下
接口調用關係

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章