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状态

接口调用关系如下
接口调用关系

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