1概述AUTOSARNM是AUTOSAR软件架构默认的一种网络管理策略。AUTOSARNM是一种分布式直接网络管理,每个节点根据网络管理帧的状态独立的控制自己的网络状态。
3网络管理模式AUTOSARNM有三种网络管理模式:
睡眠模式(Bus-SleepMode)网络模式(NetworkMode)预睡眠模式(PrepareBus-SleepMode)其中网络模式有三个状态:
帧重复状态(RepeatMessageState)正常运行状态(NormalOperationState)准备睡眠状态(ReadySleepState)
每个模式下帧的发送情况如下:任何状态下都可以接收网络管理帧,只有在网络模式下才能接收应用帧
3.1睡眠模式(Bus-SleepMode)为了降低汽车的功耗,当网络上没有信息交互时,网络将进入睡眠模式。该模式下,所有节点不发帧(网络管理帧和应用帧)。ECU会将CAN收发器设置成睡眠模式,并激活相应的唤醒机制。ECU上电后默认进入睡眠模式。在睡眠模式下,有如下两个条件使得网络进入网络模式:
接收到其他节点的网络管理帧(PassiveWake-up)主动请求唤醒网络(Activewakeup)3.2网络模式(NetworkMode)网络模式下,ECU处于信息交互阶段,可以正常的收发应用帧。ECU上的CAN收发器处于正常工作状态。网络模式包含三个状态:
常速模式:当进入帧重复状态的条件是接收到网络管理帧或者帧重复请求位(RepeatMessageRequestBitIndication)。也可以叫做被动进入帧重复状态。这时,ECU以正常的周期T_NM_MessageCycle发送网络管理帧。如下图:
3.2.3准备睡眠状态准备睡眠状态下,还有其他节点会发网络管理帧保持网络唤醒,此时ECU处于等待进入预睡眠模式的阶段。在此状态下,ECU停止发送网络管理帧。当发生T_NM_TIMEROUT定时器超时后(即其他节点没有再发送网络管理帧),ECU进入到预睡眠状态。在此状态下,如果自身请求网络,ECU进入正常运行状态;如果接收到重复帧标志位(RepeatMessageRequestBitIndication)或者自身请求进入重复帧状态后,转移到重复帧状态。
3.4网络请求与释放网络请求:当ECU需要总线通信时,它会调用CanNm_NetworkRequest请求网络;网络释放:当ECU不需要总线通信时,它会调用CanNm_NetworkRelease释放网络。触发这两个动作的条件由客户需求决定。4网络管理帧一般情况下,网络管理帧长度为8个字节。这8个字节的内容如下:
其中,byte0的内容是节点ID;byte1的内容是网络控制信息;byte2~byte7是用户数据。
4.1节点ID节点ID一般是网络管理帧ID的低8位。
4.2网络控制信息
bit0:默认值是0,当ECU是主动请求进入重复帧状态时,要把这一位置为1,直到离开重复帧状态。bit4:当ECU是主动请求网络而进入重复帧状态时,该位为1;当ECU是接收到其他节点的网络管理帧而进入重复帧状态时,该位为0。网络管理帧的长度和内容都是可以配置的。