
前言睡眠和唤醒是一起设计的车载系统的睡眠和唤醒主要分以下三个角度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()接口唤醒网络的方式称为网络主动唤醒。网络被动唤醒由被动唤醒源触发调用CanNm_PassiveStartUp()接口唤醒网络的方式称为网络被动唤醒。注做IGN节点丢帧检测时若采用的是Autosar网络当NM处于RMS/NOS/RSS状态时能够进行节点丢帧检测前提是IGN on不能唤醒网络。注意点当ECU处于BSM状态时无论是接收到被动唤醒源还是主动唤醒源ECU发出的第一帧都是NM报文拓展知识点一当DUT接收到唤醒事件开始到DUT发出第一帧NM报文的timeout的范围在90-110ms且第一帧NM报文和第一帧APP报文的时间不超过10ms-30ms。拓展知识点二NM状态处于RMS时不管是主动唤醒还是被动唤醒DUT外发的NM报文对应的RMS标志位都为1。拓展知识点三主动唤醒NM且唤醒源一直存在则DUT会按照一定的周期外发NM报文被动唤醒NM且唤醒源一直存在当DUT处于RSS状态时不会外发NM报文当接收到RMS位为1的唤醒源则NM状态会重新进入RMS状态也会按照一定的周期外发NM报文4、带PN功能的网络管理PN可以理解成局部NM管理功能通过局部网络网络簇和节点休眠实现节能。比如当前Node1Node2Node3三个节点组成了一个PNC1的网络簇Node4Node5两个节点组成了一个PNC2的网络簇。当Node1节点发送的NM管理报文的PNC1被置位则Node2、Node3节点也能正常通讯而Node4,Node5节点不在PNC1的网络簇中所以节点不能正常通讯处于休眠状态。若硬件支持PN过滤功能的收发器且PN功能被打开则只有在同一个PNC网络簇的节点才能会唤醒然后才能唤醒NM。如果硬件不支持PN过滤的收发器即便ECU节点被唤醒因为不在同一个PNC的网络簇中CAN节点NM不会被唤醒。但是此时由于硬件不支持PN过滤器的功能但是收发器收到了CAN总线波动此节点的静态电流会上升这个时候低功耗可能不会满足尽管如此因软件PN上限制此节点NM也不会被唤醒。对于硬件不支持PN过滤功能软件上需要做的处理是若当前节点收到不在PNC置位的网络簇中则该节点需要进入下电流程和休眠从而保证静态电流和低功耗的问题。