【车载开发系列】NM网络管理基础知识
【车载开发系列】NM网络管理基础知识
- 【车载开发系列】NM网络管理基础知识
- 一. NM网络管理的作用
- 二. 网络管理如何实现省电
- 三. 什么是ECU的睡眠唤醒
- 四. 关于唤醒请求
- 五. 总线唤醒(Bus wake up)
- 六. 直接间接网络管理
- 七. 网络管理的目标
- 八. 网络管理的三种模式
- 1)总线休眠模式
- 2)总线预休眠模式
- 3)网络模式
- 1)准备睡眠状态
- 2)正常运行状态
- 3)重复报文状态
一. NM网络管理的作用
NM是Network Management也就是网络管理的简称。
不管是传统的燃油车还是新能源车,车上都有各种各样的ECU,而所有这些ECU都是需要用电的,而车上的供电单元一般是蓄电池,因此蓄电池的电量是有限的,对于新能源车来说太耗电无疑会给电池的续航里程带来巨大影响,因此为了尽可能的省电,所以就提出了网络管理,也就是说网络管理一个最重要的作用就是为了省电。
二. 网络管理如何实现省电
网络管理就是通过在各个ECU的网络上,发送一些命令制定一套规则,来实现各个ECU的协同睡眠和唤醒,从而实现省电的效果。
总结一句话,其实网络管理就是用来节约能源,有效的实现车上的ECU的协同睡眠和唤醒。
三. 什么是ECU的睡眠唤醒
为了支持睡眠和唤醒,ECU的芯片必须支持低功耗模式和正常工作模式的切换。低功耗模式(ECU睡眠)指一个ECU断电或者处于极少数的外围器件工作的模式;唤醒指的是ECU处于全工作模式。
四. 关于唤醒请求
唤醒请求可分为主动唤醒和被动唤醒两种。
主动唤醒请求(本地唤醒请求):来自模块内部对网络的请求。主动唤醒节点的网络管理报文必须先于应用报文发送。主动唤醒节点必须确保网段上ECU被唤醒了,此时他再发应用报文才有人收。
被动唤醒请求(远程唤醒请求):来自总线上其他模块对该模块的网络请求。被动唤醒的节点,发送网络管理报文和应用报文的先后顺序无特别要求。
五. 总线唤醒(Bus wake up)
ECU处于低功耗模式,仅在总线上出现符合ISO 11898-5标准定义的唤醒序列,且该 ECU成功接收到该网段定义的唤醒报文时才能够被总线唤醒。这里这条唤醒报文必须是该网段中ECU的网络管理报文。
六. 直接间接网络管理
直接网络管理:节点醒了之后发NM报文,其他所有节点收到NM报文全都唤醒。(同起同睡)
间接网络管理:节点醒了之后发应用报文,其它节点就会上一下子电,然后跑到检测唤醒源代码,检测到不是有效唤醒,最后就会马上又休眠下去。
七. 网络管理的目标
网络管理(Network Management )的目标是对电源的管理,CAN NM模块处于CP AUTOSAR中的通讯服务层。网络管理和电源管理是两套不同的逻辑,但彼此又有关联。
八. 网络管理的三种模式
网络管理包含如下三种模式: 睡眠模式(Bus-Sleep Mode) 、预睡眠模式(Prepare Bus-Sleep Mode) 、网络模式(Network Mode)。
1)总线休眠模式
在TwaitBusSleep超时,模块进入该模式。在该模式下不发送网络管理报文和应用报文,与总线预休眠模式不同的是,它也不监听总线上的报文。当然它需要保证所有节点都能停止总线活动。
在此状态,模块可以管理I/O口去完成不需要访问CAN总线。
2)总线预休眠模式
不发网络管理报文和应用报文。
如果模块收到有效网络管理报文或者模块需要请求网络,进入网络模式,模块进入重复报文状态。
3)网络模式
网络模式一共包含了三个状态:分别是重复报文状态,正常运行状态和准备睡眠状态。
在总线休眠模式或总线预睡眠模式时,模块接收到任意的有效本地唤醒条件,或者远程唤醒条件,或有效网络管理报文,则进入网络模式。
在网络模式当中,模块接收到网络管理报文或者成功发送网络管理报文,模块的网络管理应该重置NM-Timeout。
1)准备睡眠状态
在准备睡眠状态中,NM-Timeout超时之后,这个时候会从网络模式进入预休眠模式。
在这个模式下,模块只发送应用报文。
如果节点需要请求网络,节点应进入正常运行模式。
2)正常运行状态
模块可以请求网络,模块需要发送网络管理报文和应用报文。当模块不需要请求网络的时候,模块应该进入准备睡眠状态,并停发网络管理报文。
正常运行状态中如果NM-Timeout超时,应重置这个定时器。
3)重复报文状态
无论是总线休眠模式,还是总线预休眠模式进入网络模式,都应为重复报文状态。
不管是主动唤醒还是被动唤醒,都需要在这个状态下以Tnm-MessageCycle为周期发送网络管理报文。主动唤醒的场合还需要将网络管理报文中的主动唤醒标志位位置为1。