本篇主要介绍NM和其他模块之间的对应关系,如NM与ComM,CanSM,ECUM,BSWM之间的关系,因为CanNM是目前主要用到的NM模块,下面就以CanNM为例。
NM与ComM:
如果是网络是主动唤醒,那么一般是由用户调用ComM_networkrequest这个借口,请求ComM_Fullcommunication,使得ComM进入COMM_FULL_COM_NETWORK_REQUESTED,同时NM的状态就会从Bus_Sleep进入到Repeat模式,而后再计入Normal模式。
如果网络是被动唤醒,也就是由NM报文唤醒,那么NM会先由Bus_Sleep模式切换至Repeat模式,而NM会通知到ComM我已经进入了网络模式了,你也需要切换到Full_Communication了。
NM与EcuM:
这里很多初学者会搞混的一点就是Ecu唤醒和NM唤醒,这是两个概念。
一般来说,报文唤醒了Ecu,但是NM可能还在睡眠状态,要看唤醒Ecu的是不是网络管理报文。网络管理报文通常也会有自己的ID,在指定的ID范围内,就可以唤醒网络。
另外一点就是,NM休眠和Ecu休眠也是两个概念。Ecu在一定时间内接受不到NM报文,是一定会休眠的,但是Ecu是否休眠,则完全由我们设计者来决定。
NM与CanSM:
我们说NM报文唤醒网络,首先Ecu需要具备接受NM报文的能力,这里说的就是Can控制器和收发器都必须处于能够接受报文的状态,因为Can控制器也有自己的状态机,收发器如TJA1041也具备自己的状态机,所以如果你的Ecu已经唤醒了,而且你也模拟向Ecu发送了网络管理报文,但是NM还是处于休眠的状态,那就要检查一下Can控制器和收发器的状态。
-
收发器
+关注
关注
10文章
3384浏览量
105834 -
控制器
+关注
关注
112文章
16159浏览量
177280 -
AUTOSAR
+关注
关注
10文章
350浏览量
21455 -
ecu
+关注
关注
14文章
878浏览量
54385
发布评论请先 登录
相关推荐
评论