AUTOSAR NM网络管理基础


1、背景

这部分主要介绍AUTOSAR网络管理的目的、休眠唤醒的基本概念,作为车载网络测试的一个了解。具体到网络模型各层中定义不做展开。

1.1 为什么出现AUTOSAR NM?

ECU是需要供电的,车上的蓄电池电量是有限的,对于新能源车来说耗电意味着影响续航,为了尽可能的省电,就提出了AUTOSAR 网络管理。网络管理就是用来节约能源,有效的实现车上的ECU的协同睡眠和唤醒。

1.2 网络管理如何实现省电的呢?

车上的所有ECU之间会通过CAN通信、Flexray或以太网等进行相互通信连接在一起,那么网络管理就是通过在各个ECU的网络上,发送一些命令制定一套规则,来实现各个ECU的协同睡眠和唤醒。

1.3 什么是ECU的休眠和唤醒?

为了支持休眠和唤醒,ECU的芯片必须支持低功耗模式和正常工作模式的切换。低功耗模式(ECU睡眠)指一个ECU断电或者处于极少数的外围器件工作的模式;唤醒指的是ECU处于全工作模式。

2、AUTOSAR NM的状态流转

AUTOSAR网络管理算法的流程如下图,更为详细的状态跳转条件也在图中给出。网络管理有3种工作模式:

2.1 睡眠模式BSM

BSM(Bus-Sleep Mode)总线睡眠模式。ECU上电并初始化完成后,默认进入BSM模式,目的是在ECU无网络请求时减少ECU的功率损耗。BSM下ECU的网络管理报文和应用报文都禁止发送;若检测到有效唤醒源,则节点必须唤醒。

2.2 准备睡眠模式PBSM

PBSM(Prepare Bus-Sleep Mode),准备睡眠模式,确保所有节点进入到BSM之前都有足够时间停止其网络活动。在PBSM模式下,总线报文收发降低下来,使所有缓冲区中的报文发完,直到没有总线报文活动。

2.3 网络模式NM

NM(Network Mode)网络模式,又根据工作状态都不同分为以下三种状态。

2.3.1 重复报文状态RMS(Repeat Message State)

进入RMS,周期性发送NM PDU并启动Repeat Message Timer定时器,定时器超时后ECU离开RMS状态。用于检测网络在线的ECU,确保任何ECU至少在一定时间内保持唤醒状态,并对总线上其他关联节点可见。

2.3.2 正常运行状态NOS(Normal Operation State)

NOS确保任何节点都可以在网络呗请求是保持网络管理集群处于唤醒状态。

2.3.3 准备睡眠状态RSS(Ready Sleep State)

RSS状态确保网络管理集群中的任何节点等待转换到PBSM模式。当ECU网络释放(无本地唤醒事件),而其他ECU仍有网络请求(存在NM PDU),则该ECU保持RSS而不进入PBSM。

在这里插入图片描述

3、AUTOSAR NM报文结构

介绍了AUTOSAR网络管理的3种模式以及网络模式下的3种状态之间的流转控制之后,来看看具体这些状态流转是如何通过报文数据来进行管理的。

3.1 NM PDU结构

对于NM报文的数据段内容如下图。NM PDU数据段结构包含:源节点地址ID、CBV控制位向量、数据域(2字节的User data,4字节的PNC位向量)。
在这里插入图片描述
源节点地址ID:每个ECU都被分配一个唯一的标识符Node ID,也就是这帧NM报文是哪个ECU发出的。
CBV控制位向量:通过该字节上的8个bit进行网络管理的状态信息展示。
数据域:用户可以定义一些需要携带发送给ECU节点的信息。关于PNC局部网络管理的具体内容,在后续的文章中专门做一期介绍。

3.2 CBV位结构

对于NM PDU中Byte1的CBV控制位向量的8个位又代表着网络管理的不同状态信息,如下图。
在这里插入图片描述
Bit0:Repeat Message Request Bit 重复消息请求位。

  • 0:重复消息状态不请求;1:重复消息状态请求

Bit1:PN Shutdown Request Bit (PNSR) PN关闭请求位。

  • 0:没有PN网络管理的关闭请求;1:包含PN网络管理的关闭请求

Bit2:Reserved 保留位

  • 置为0,保留未来使用。

Bit3:NM Coordinator Sleep Bit 同步休眠位。

  • 0:重复消息状态不请求;1:重复消息状态请求

Bit4:Active Wakeup Bit 主动唤醒位。

  • 0:被动唤醒;1:主动唤醒

Bit5:Partial Network Learning Bit (PNL) 局部网络学习位。

  • 0:不需要PNC学习;1:需要PNC学习

Bit6:Partial Network Information Bit (PNI) 局部网络信息位。

  • 0:不使用PN网络管理;1:使用PN网络管理

Bit7:Reserved 保留位

  • 置为0,保留未来使用。

注:实际测试中CBV位的具体含义可能与AUTOSAR规范给出的有差别,以实际项目开发为准。

3.3 版本差异

上述NM PDU结构和CBV位的含义可能跟大家看到的一些文章不太一致,这主要是AUTOSAR_SWS_CANNetworkManagement规范版本导致的。规范更新了很多版本,上述内容以21年发布的R21-11版本为例进行。
在这里插入图片描述
一般很容易看到的NM PDU和CBV信息给出如下,以V4.2.2版本为例。差别主要在于PNC和CBV位的保留位使用上。
老版本NM PDU格式:
在这里插入图片描述老版本CBV定义:
在这里插入图片描述


4、总结

在部件级控制器网络管理测试中,掌握上述内容对于网络管理测试用例的理解会更深入。实际测试中需要关注的是项目本身CBV位的定义内容,特别是在测试三模式三状态转换过程中CBV位对应Bit的0-1变化情况;注意区分被动唤醒节点和主动唤醒节点在网络管理中的区别;关注各种定时器的时间多少要求,便于更明确测试结果的可靠性及自动化脚本的合理编写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值