备注"/>
对Autosar NM官方文档简单备注
1.网络管理分为3种模式:
2.Network Mode分为3种模式:
3.接收/发送NM PDU,都重启NM-Timeout Timer
4.(1)在NOS状态下接收到RMR=1的NM报文,跳入RMS状态
(2)在NOS状态下,自身RMR=1,跳入RMS状态,在这种状态下,所发NM报文的RMR=1
5.(1)在RSS状态下,有网络请求,则进入NOS状态
(2)在RSS状态下,接收到RMR=1的NM报文,跳入RMS状态
(3)在RSS状态下,自身RMR=1,跳入RMS状态,在这种状态下,所发NM报文的RMR=1
6.(1)在PBS状态下,接收到NM报文,进入PMS状态
(2)在PBS状态下,有网络请求,进入RMS状态
7.(1)在BSM状态下,接收到NM报文,进入PMS状态
(2)在BSM状态下,有网络请求,进入RMS状态
注:在PBS/BSM状态下,网络都被释放,除非有明显的网络请求
8.初始化时,userdata=0xFF,CBV=0x00;
9.NM PDU格式
(1)
(2)CBV说明:
--在BSM、PBS状态下,主动唤醒,AWB=1
--离开网络模式,AWB清0(即从RSS到PBS状态后,AWB清0,如从PSS到NOS/RMS状态,AWB保持上一次状态)
--只有在NOS状态下,才可采用降低总线负载减低机制
--被动进入RMS状态下,需要延时CanNmCycleOffset才可发送NM报文
--从BSM、PBS状态中因为主动唤醒进入,不使用CanNmCycleOffset计数器
总线降低负载算法:
--进入RMS状态,不使用该算法
--进入NOS状态下,如果有总线降低负载算法,则使用
远程睡眠指示位
--如果在NOS状态下,且在CanNmRemoteSleepIndTime时间内没有接收到NM报文,则回调Nm_RemoteSleepIndication
如果在NOS或RSS状态下,接受到NM报文(包括RMR=1的NM报文),则回调Nm_RemoteSleepCancellation
用户使用数据
被动模式
--被动模式下,只接收NM报文,不发送NM报文
部分网络
--CanNmPnEnabled = False,则该功能禁用
--如果接收到PNI = 0且CanNmAllNmMessagesKeepAwake = Ture的NM报文,也不应该忽略接收报文;
接收到PNI = 0且CanNmAllNmMessagesKeepAwake = False的NM报文,则忽略接收报文
接受到PNI = 1且CanNmAllNmMessagesKeepAwake = Ture的NM报文,则使用滤波算法,对接受到的NM报文进行分析
--在部分组网中,CBV是必须要支持的
--不支持CanNmPnEnable的时候,PNI = 0,支持PNI = 1
NM PDU过滤算法
--只有一个组网的NM才会让Timeout Timer定时器重启
--初始化时,不会使能NM PDU过滤算法
--PN=0,对网络无请求,PN=1,对网络有请求
--有关联,不能丢弃;
无关联,CanNmAllNmMessagesKeepAwake = False,丢弃
,CanNmAllNmMessagesKeepAwake = True,不能丢弃
为了保证网关一直唤醒所选机制
--CanNmPnInfoOffset:PN所在位置的偏移字节
--CanNmPnInfoLength:PN所占字节数
以上情况为与关联情况,不能被丢弃处理
-- 以上两种情况均需要存储PN请求
--CanNmPnResetTime应比CanNmMsgCycleTime大,为了避免在发送PN之前,ECU的请求就被释放
--CanNmPnResetTime应比CanNmTimeoutTime小,为了避免进入PBS状态失效
--内部与外部PN请求所需定时器不一样;内部PN请求可忽略物理通道影响,外部PN请求不可忽略物理通道影响
更多推荐
对Autosar NM官方文档简单备注
发布评论