NetworkManagement术语:
NM(网络管理)
- 目的:为了更高效地利用蓄电池有限的能源,节约用车成本,延长电池使用寿命,整车上的诸多ECU并非ignition ON时都工作,而是需要时才启动,否则将处于“睡眠模式”。
- 在“睡眠模式”下,ECU断电或者处于极少数的外围器件工作的模式,耗能极少,且支持随时唤醒;唤醒指的是ECU处于全工作模式。
- 实现方法:基于分布式直接网络管理策略,即各个ECU节点通过周期性的NM PDUs的接收与发送,即可实现ECU节点的协同睡眠、唤醒及错误处理。
图 1 CAN Architecture
唤醒方式:
- 本地唤醒(主动唤醒):唤醒源来源于ECU自身,比如KL15硬线唤醒或者hardware sensor感知唤醒等;
- 远程唤醒(被动唤醒):唤醒源来源于ECU节点所在的网络报文。
NM 状态机:
NM状态机涉及的模式、状态可以概括为“3+3+2”
NM三个模式:
- Bus Sleep Mode(睡眠模式-省电):当没有远程唤醒或者本地唤醒请求时,ECU的Controller应当切换至Sleep模式,电流消耗将降低至最低水平,NM报文以及应用报文都应该被禁止发送。该Mode是ECU启动时的起始状态或者是ECU睡眠时的最终状态。并且不能对总线上的报文进行ACK应答。
- Prepare Bus-Sleep Mode(预睡眠模式-静默等待):一旦进入该模式,计时器T_WAIT_BUS_SLEEP就会启动。在该模式下禁止网络管理报文和应用报文(除已经在buffer中的)的发送,但应该对总线上的报文进行 ACK应答。允许接受NM报文,该ECU的Controller的状态应当处于operational mode。一旦T_WAIT_BUS_SLEEP超时,就会进入到Bus-Sleep阶段。
- Network Mode(网络模式):正常通信模式,一般这个状态下即可以收发网络管理报文帧也可以收发应用报文(包括诊断报文)。
Network Mode的三个子状态:RMS、NOS、RSS
- Repeat Message State(RMS)重复报文状态:为了能够及时地被网络上其他ECU节点发现,且成功发送一帧NM报文后才可以发送应用报文。在该状态保持时长T_REPEAT_MESSAGE。该状态也分为两个子状态:
- NM Immediate Transmit State:在该模式下,ECU的目的是快速唤醒整个网络,同时该节点会以T_NM_ImmediateCycleTime的周期发送NM报文,发送满N_ImmediateNM_TIMES次后,退出该子状态;
- NM Normal Transmit State:在该模式下,ECU节点将会以正常报文周期T_NM_MessageCycle的方式来发送NM报文。
- Normal Operation State(NOS)网络状态: 若需要通信,就会跳到正常工作状态。该状态下NM报文的发送周期为T_NM_MessageCycle,每次报文的成功发送或接收或者计时器NM-Timeout超时都会重置该计时器NM-Timeout;
- Ready Sleep State(RSS)准备睡眠状态:;该状态会做一些睡眠前的准备工作,比如存储数据等,ECU节点停止发送NM报文。每次成功接受到来自网络上的NM报文,计时器T_NM_TIMEROUT 就会重置,一旦T_NM_TIMEROUT 超时,那么就会离开该状态转而进入Prepare Bus-Sleep状态。
报文收发与解析:
报文收发状态:
- 各个状态NN与APP报文发送与接收状态如下,其中N*表示已经在TxBuffer的应用报文可以发送;
图 2 报文发送与接收状态
NM报文结构:
- AutoSAR官方文档规定如下
图 3 NM报文结构
- CBV各位释义如下;
- Bit 0: Repeat Message Request Bit
- 0: 代表存在Repeat Message Request ;
- 1:代表不存在Repeat Message Request ;
- Bit 1:PN ShutDown Request Bit(PNSR)
- 0:NM报文中不包含同步局部网络管理休眠请求;
- 1:NM报文中包含同步局部网络管理休眠请求;
- Bit 3:NM Coordinator Sleep Bit
- 0:未被主协调NM节点请求开始同步休眠;
- 1:已被主协调NM节点请求开始同步休眠;
- Bit 4: Active Wakeup Bit
- 0:节点没有唤醒过网络,属于被动唤醒;
- 1:节点唤醒过网络,属于主动唤醒;
- Bit 5: PN Learning Bit(PNL)
- 0: PNC learning被请求
- 1: PNC learining未被请求
- Bit 6 PN Information Bit(PNI)
- 0: NM报文中包含PN 信息;
- 1:NM报文中未包含PN 信息;
- Bit 0: Repeat Message Request Bit
图 4 CBV
网络管理状态切换:
NM状态机:
- 下图为NM状态机
图 5 NM状态机
图 6 Autosar NM状态机