Autosar网络管理:发出第一帧网络管理报文的方法
1. 为什么要第一帧发出网络管理报文
很多OEM要求CAN网络管理第一帧发出的是网络管理报文,目的是为了快速唤醒CAN网络
2. 节点外发第一帧报文不是网络管理报文的原因
首先根据AUTOSAR CANNM规范要求,节点要能够发出网络管理报文,节点类型就不能使能Passive Mode。
节点外发第一帧报文不是网络管理报文的原因一般如下:
-
应用报文优先于NM报文发送,可能是应用报文与NM报文同时发送ID仲裁时应用报文胜出,因为应用报文的ID小于NM报文,比如应用报文ID允许范围是0x00 ~ 0x4FF,网络管理报文范围是0x500 ~ 0x5FF
-
发送NM报文的A ECU和B ECU同时发送报文时产生竞争,仲裁导致 B ECU胜出导致A ECU发出NM报文失败
3. 如何解决ECU发出第一帧报文不是网络管理的问题
既然应用报文的优先级高,那么在第一次周期性应用报文发送的时候,将其Offset一段时间,让网络管理报文在t1时刻发送,应用报文在t2时刻发送即可避免该问题的出现
除了这个措施之外,还要考虑第2个原因:在其发送网络管理报文的时候,可能由于其网络管理报文CanID优