AUTOSAR —— CAN网络管理(CanNm)
基本原理
**作用:**车载网络中的ECU节点能够有序的休眠和唤醒,在没有通信需求的时候进入休眠,在有通信需求的时候立即唤醒,如此可以优化车辆的能量消耗
**基本原理:**AUTOSAR网络管理采用分布式的直接网络管理方法。网络状态的变化是由周期性NMPDU的接收情况和节点请求网络的状态综合考虑的。AUTOSAR-CanNm算法基于周期性的网络管理PDU,由集群中的所有节点通过广播传输接收。接收到网络管理PDU表示发送节点希望保持网络管理集群处于唤醒状态。如果任何节点准备进入总线睡眠模式,它将停止发送网络管理PDU,但只要从其他节点接收到网络管理PDU,它就会推迟到总线睡眠模式的转换。最后,如果由于不再接收到网络管理PDU而导致专用计时器超时,则每个节点都会启动到总线睡眠模式的转换。
附加策略
(1)网络管理报文立即发送模式
当节点进入重复报文阶段时,会重复发送几次网络管理报文。常规情况下,因为网络管理报文通常周期比较长,且第一帧报文还有偏移量,所以激活网络的实时性不是很好,标准中为解决这个问题制定了一个能够立即发送网络管理报文的策略。
**注意:**网络管理报文立即发送模式只有当节点主动唤醒网络的时候才启用,被动唤醒时不启用。是当前节点用来快速唤醒网络中其它节点的一个策略。
流程
准备睡眠模式中停发网络报文,预睡眠模式中停发应用报文;
各状态跳转如下图所示;
主动唤醒网络标志位(Active WakeupBit)
重复报文请求标志位(RepeatMessageRequestBit)
定时器参数
会用到几个定时器,定时器参数如下:
PDU报文
源节点地址(SourceNodeIdentifier)
每一个参与AUTOSAR网络管理的节点都会被分配一个唯一的标识符(NODE_ID),存放于网络管理
报文的Byte0(SourceNodeIdentifier)中。
控制比特向量(ControlBitVector)
用户自定义数据(UserData)