序言:汽车电子发展过程中形成了很多标准,今天小编就汽车电子CAN总线系统ECU休眠和BUS休眠策略进行一些浅谈,以供各位同行交流探讨。
章节1:ECU在整车网络拓扑图
下图可以看到一个整车系统会有几段网络,每段网络分为高速或者中速或低速CAN,通过网关进行报文转发和管理。
这么多节点再整车内,那么这些ECU的电源管理,通俗点说就是这些ECU什么时候启动工作什么时候休眠(减少对电池电瓶的消耗,防止车停了一晚,第二天馈电无法整车点火启动)。这就是汽车电子总线相关的网络管理,目前流行的有两大系统:
1.OSEK NM:直接网络管理 和 间接网络管理
2.AutoSar NM: 新一代汽车电子基础软件AutoSar的一部分,个人觉得是
简化了的网络管理,比OSEK NM要处理简单,但达到的目的都是一致
的,目前各大主机厂对这块都略有改动适合自身的平台。
3.其它主机厂自主网络管理系统,如,GMLAN总线,网络管理采用的是分
组虚拟网络管理。
网络管理的目的,或者说功能是什么那,简单概述如下,
1.ECU的唤醒、休眠
2.ECU的上线,下线检测,节点配置
3.ECU的网络诊断相关信息检测等
最根本,最主要的功能就是ECU的休眠和唤醒。
章节2:BUS总线休眠处理策略
ECU在BUS总线上面无论采用的是哪种网络管理测试都是要遵循一点就是休眠网络休眠条件满足,总线上面无需要报文。
下面以OSEK NM网络管理为例进行说明。
唤醒:BUS休眠状态下,本地唤醒或者CAN唤醒条件满足,
BUS 初始化,进入NM ON状态,之后在Normal、PreNormalSleep、Limphome、PreLimphomeSleep、WaitbusSleep、BusSleep几个状态进行状态迁移。
休眠:sleep条件满足,bus 进入PreNormalSleep状态,如果接收到其它ECU发送的Slp.ack或者自己发送Slp.ack后就进入到
Waitbussleep状态(等待时间一般1.5s或者5s),时间超时
后进入的Bussleep状态,Bussleep状态接收和发送都是停止的,且这个时候CAN控制器和收发器都是进入了Standy模式,
可以被唤醒重新进入bus 初始化后进入NMON状态。
章节3:ECU休眠与BUS休眠的区分
上个章节我们分析了BUS的唤醒和休眠,保证了整车网络各个网段内的ECU可以发送和接收报文,通过网络管理测试进行相关的控制,那么Bus休眠了,就代表了ECU的休眠吗?
答案:不一定,这个要看ECU本身的功能需求,有些ECU
在BUS休眠后并不是马上也进入休眠,或许有本地功能需要自
行的,就会进入本地模式,在本地模式是不需要CAN总线报文
的接收和发送的,本地功能不需要时,ECU就可以退出本地模
式进入ECU 休眠或者被总线唤醒进入网络激活状态。
下面图给出了简单的状态关系,
从上面图可以看出,NMBUS Sleep后进行的处理是:
CAN发送接收停止、CAN控制器和收费器进入Standy模式,重要一点
ECU被用来CAN唤醒的PIN脚要设置为中断唤醒配置,以在本地模
式可以被CAN唤醒。
ECU的休眠就是整个MCU和系统进入了休眠模式,ECU的休眠在BUS休眠
满足后进入本地模式,在进行的本地处理,不需要工作就进入休眠,
如果需要执行其它功能,这停留在本地模式。