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 InitNM初始化
NM AwakeNM唤醒
NM BusSleepNM 休眠
NM AtiveNM通讯启用
NM PassiveNM 通信禁用
NM ResetNM 复位
NM NormalNM 正常运行
NM LimpHomeNM 节点故障

不同的状态之间的流转图如下。
在这里插入图片描述

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值