• 注册 / 登录
  • 切换到窄版
  • 查看: 1770|回复: 0

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

    [复制链接]

    676

    主题

    690

    帖子

    6810

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6810
    发表于 2023-7-31 15:00:02 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本文,聚焦ECU的唤醒、休眠、Reset,看看是否和你的理解有所偏差?

    一、ECU唤醒

    如果要说清楚ECU的唤醒,我们不得不研究对应的硬件原理图。因为ECU唤醒的本质就是给ECU供电。为了便于理解ECU唤醒,本文简化了一个由Battery(KL30)、KL15、SBC(System Basic Chip)、uC、CAN Transceiver构成的电路原理图,如下所示:

    1.png

    1.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(供电)的流程,示意如下所示:

    2.gif

    提示:Trcv与KL30常连,监听总线。SBC输出给Trcv 5V通信电压。

    2.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被总线报文唤醒的流程,示意如下所示:

    3.gif

    二、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不再执行主要功能,等待被唤醒。

    三、ECU Reset

    ECU Reset更多的是在说软件程序的运行行为。Reset的类型有很多,这里我们聊聊工程中常说的"ECU Reset"。Reset发生时,不同于ECU休眠,此时,ECU仍然处于供电状态。Reset的动作会使得程序"重头再来",如下所示:

    4.png

    对于Reset,有些是合理的,eg:诊断服务$10 02/82、$11 xx。有些是非预期的,eg:程序跑飞,没在规定时间"喂狗"等。但是,不管预期的Reset,还是非预期的Reset,均是想让程序回到最初状态,再来一遍。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 20:55 , Processed in 0.048274 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表