前言
睡眠和唤醒是一起设计的,车载系统的睡眠和唤醒主要分以下三个角度:
1、ECU控制器的休眠和唤醒;
2、NM网络的休眠和唤醒;
3、车载系统的睡眠和唤醒;
第1和第2分别为车载系统的睡眠和唤醒做准备,最终在各个ECU控制器的配合下,完成车载系统的休眠和唤醒。
在AutoSar网络管理中,ECU控制器的唤醒和休眠与NM的唤醒和休眠是两个概念,唤醒ECU控制器是唤醒NM的必要不充分条件。
1、唤醒源
本地唤醒源:和硬线相关的唤醒方式一般都是本地唤醒源。如:KL15硬线、硬件传感器信号(如:打开车门)。
远程唤醒源:通过总线信号相关的唤醒方式。比如收到网络唤醒报文、接收指定的诊断报文、包含KL15信号的应用报文;
2、主动唤醒源/被动唤醒源
主动唤醒源:承担主动唤醒网络责任的唤醒源,比如:KL15硬线、User请求等;
1、KL15硬线:通过KL15硬线唤醒网络,说明当前网络没有参与通信,需要通过KL15硬线主动唤醒网络,进而将其他节点唤醒,类似于KL15硬线唤醒网络的方式都可以看作主动唤醒源;
被动唤醒源:不需要承担唤醒网络责任的唤醒源,称为被动唤醒源。比如:ECU接收到NM唤醒报文;
3、网络主动唤醒源和被动唤醒源
网络主动唤醒:由主动唤醒源触发,调用CanNm_NetworkRequest()接口唤醒网络的方式称为网络主动唤醒(表示网络自己有需求去主动唤醒ECU,故第一帧是NM报文)。
网络被动唤醒:由被动唤醒源触发,调用CanNm_PassiveStartUp()接口唤醒网络的方式称为网络被动唤醒(表示网络没有主动唤醒ECU,而是其他方式唤醒ECU,从而间接唤醒NM,所以第一帧是APP报文)。
注:做IGN节点丢帧检测时,若采用的是Autosar网络,当NM处于RMS/NOS/RSS状态时,能够进行节点丢帧检测(前提是IGN on不能唤醒网络)。
注意点:当ECU处于BSM状态时,若是接收到主动唤醒源,则上位机收到的第一帧是NM报文;若是接收到被动唤醒源,则上位机收到的第一帧是APP报文;