对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说明:

 

 --BSMPBS状态下,主动唤醒,AWB=1

 --离开网络模式,AWB0(即从RSSPBS状态后,AWB0,如从PSSNOS/RMS状态,AWB保持上一次状态)

 

  --只有在NOS状态下,才可采用降低总线负载减低机制

 --被动进入RMS状态下,需要延时CanNmCycleOffset才可发送NM报文

 

  --BSMPBS状态中因为主动唤醒进入,不使用CanNmCycleOffset计数器

总线降低负载算法:

 

  --进入RMS状态,不使用该算法

  --进入NOS状态下,如果有总线降低负载算法,则使用

 

远程睡眠指示位

 

 

--如果在NOS状态下,且在CanNmRemoteSleepIndTime时间内没有接收到NM报文,则回调Nm_RemoteSleepIndication

    如果在NOSRSS状态下,接受到NM报文(包括RMR=1NM报文),则回调Nm_RemoteSleepCancellation

用户使用数据

被动模式

 --被动模式下,只接收NM报文,不发送NM报文

部分网络

  --CanNmPnEnabled = False,则该功能禁用

 

 

 

  --如果接收到PNI = 0CanNmAllNmMessagesKeepAwake = TureNM报文,也不应该忽略接收报文;

     接收到PNI = 0CanNmAllNmMessagesKeepAwake = FalseNM报文,则忽略接收报文

     接受到PNI = 1CanNmAllNmMessagesKeepAwake = TureNM报文,则使用滤波算法,对接受到的NM报文进行分析

 --在部分组网中,CBV是必须要支持的

 

 --不支持CanNmPnEnable的时候,PNI = 0,支持PNI = 1

NM PDU过滤算法

 

  --只有一个组网的NM才会让Timeout Timer定时器重启 

 --初始化时,不会使能NM PDU过滤算法

  --PN=0,对网络无请求,PN=1,对网络有请求

 

 --有关联,不能丢弃;

     无关联,CanNmAllNmMessagesKeepAwake = False,丢弃

                CanNmAllNmMessagesKeepAwake = True,不能丢弃

   为了保证网关一直唤醒所选机制

 

  --CanNmPnInfoOffsetPN所在位置的偏移字节

 --CanNmPnInfoLengthPN所占字节数

    以上情况为与关联情况,不能被丢弃处理

 

 

   -- 以上两种情况均需要存储PN请求

  --CanNmPnResetTime应比CanNmMsgCycleTime大,为了避免在发送PN之前,ECU的请求就被释放

   --CanNmPnResetTime应比CanNmTimeoutTime小,为了避免进入PBS状态失效

 

 --内部与外部PN请求所需定时器不一样;内部PN请求可忽略物理通道影响,外部PN请求不可忽略物理通道影响