三、网络管理报文
NM报文的ID一般定义为:基础ID+源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x400 - 0x4FF或者0x500 - 0x5FF,也有0x600 - 0x6FF,这个根据实际情况来确认。不过Node_ID的取值范围一般是统一的0x00- 0xFF(依然有例外)。
网络管理报文定义
无论是CAN亦或是CANFD,一般来说,网络管理报文的长度都是定义为8,因此常用的网络管理报文定义如下图所示;byte 0固定为Node_ID信息,byte 1固定为Control Bit Vector(控制比特向量),其余值一般为保留值,各个主机厂根据实际需求进行设置。
Node Identification定义
基地址 + ECU_ID(例如:0x600 < NM Msg <= 0x6FF)
控制比特向量(Control Bit Vector)
Bit 0: Repeat Message Request(重复报文请求)
0:DUT不在重复报文请求状态
1:DUT处于重复报文请求状态
当由于重复消息请求而从正常操作状态和就绪睡眠状态进入重复消息状态时,将重复消息请求位置为1,直到重新进入正常操作状态和就绪睡眠状态。
Bit 3: NM Coordinator Sleep Bit (NM协调器休眠位)
0:主协调器未请求启动同步关闭
1:主协调器请求启动同步关机
Bit 4 Active Wakeup Bit (主动唤醒位)
0: DUT不是被主动唤醒(passive wakeup)
1: DUT是被主动唤醒 (active Wakeup)
当由于重复消息请求而从正常操作状态和就绪睡眠状态进入重复消息状态时,将重复消息请求位置为1,直到重新进入正常操作状态和就绪睡眠状态。
Bit 6 Partial Network Information Bit (PNI)(部分网络信息位)
0:NM PDU不包含部分网络请求信息
1:NM PDU包含部分网络请求信息
Bit 1, 2, 5, 7 are reserved for future extensions
0: 已禁用/保留以备将来使用,属于用户自定义在不同的主机厂都有不同的定义,这个根据实际情况即可,如果未使用则默认为0
本地唤醒事件是什么?
远程唤醒事件是什么?
唤醒源是什么?
保持源是什么?