关闭

如何理解ECU唤醒、休眠、复位?

发表于:2023-8-07 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:开心果 Need Car

  1、ECU唤醒
  如果要说清楚ECU的唤醒,我们不得不研究对应的硬件原理图。因为ECU唤醒的本质就是给ECU供电。为了便于理解ECU唤醒,本文简化了一个由Battery(KL30)、KL15、SBC(System Basic Chip)、uC、CAN Transceiver构成的电路原理图,如下所示:
  (一)KL15唤醒ECU
  如上图,SBC、CAN Trcv均与Battery(12V)常连。当KL15硬线使能以后,SBC的ENA Pin脚使能V_LDO_Com和V_LDO_uC电压输出,此时,CAN Trcv即可获取通信工作电压,一般是5V(Vcc)。同时,ECU获取3.3V或者5V电压,进而程序开始从复位向量位置运行,此时,ECU被唤醒。
  KL15唤醒ECU(供电)的流程,示意如下所示:
  提示:Trcv与KL30常连,监听总线。SBC输出给Trcv 5V通信电压。
  (二)BUS唤醒ECU
  CAN BUS中,收到一帧有效的网络管理报文或者总线出现了符合唤醒CAN Trcv的Wakeup Pattern时,CAN Trcv使能INH Pin脚,一般,Trcv的INH Pin脚与SBC的WAK Pin脚连接,进而使能V_LDO_Com和V_LDO_uC电压输出,此时,CAN Trcv即可获取工作电压,一般是5V(Vcc)。同时,ECU获取3.3V或者5V工作电压,程序开始从复位向量位置运行,此时,ECU被唤醒。
  ECU被总线报文唤醒的流程,示意如下所示:
  2、ECU休眠
  对于不同功能的ECU,唤醒源的个数和方式会有所不同,eg:ECU1只能被总线唤醒(eg:网络管理报文),ECU2即可以被总线唤醒,也可以被KL15硬线唤醒。虽然,不同的ECU,唤醒源和唤醒个数会有所不同,但是,如果ECU想休眠,必须其对应的所有唤醒事件都不存在。
  之前提到过,EcuM的Phase中有SLEEP和OFF两种时序。如果ECU进入SLEEP Phase,ECU仍然被供电,此时,ECU会消耗一定的能量,以便于监控唤醒事件(eg:总线的NM Msg);如果ECU进入OFF Phase,ECU被完全断电,完全不消耗能量。不管ECU进入SLEEP Phase还是OFF Phase,工程上,我们都习惯称之为"ECU休眠"。在ECU休眠期间,ECU不再执行主要功能,等待被唤醒。
  3、ECU Reset
  ECU Reset更多的是在说软件程序的运行行为。Reset的类型有很多,这里我们聊聊工程中常说的"ECU Reset"。Reset发生时,不同于ECU休眠,此时,ECU仍然处于供电状态。Reset的动作会使得程序"重头再来",如下所示:
  对于Reset,有些是合理的,eg:诊断服务$10 02/82、$11 xx。有些是非预期的,eg:程序跑飞,没在规定时间"喂狗"等。但是,不管预期的Reset,还是非预期的Reset,均是想让程序回到最初状态,再来一遍。
  你是否对车载测试感兴趣,想转行车载测试却无从下手呢?现在私聊恬恬圈/甜甜圈,或识别下方二维码,添加天天圈,了解车载测试入门吧↓↓↓
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号