AUTOSAR专项训练 -- EcuM对应的唤醒源 (一)

        搞汽车ECU基础软件开发,ECU的休眠和唤醒是必不能逃掉的一个大坑。从休眠的功耗要再到唤醒时的时间要求,这都好好搞上很久。要理解唤醒不仅要对EcuM模块比较熟悉,还要对目标板子所支持的休眠唤醒功能了如指掌。今天,我们就先来简单聊聊AUTOSAR标准里唤醒源(EcuM章节)。

        本质上,唤醒就是给ECU供电,那么具体来讲有哪些模块能过启动唤醒的作用呢?

        常见的,例如KL15硬线唤醒,通常是KL15输入到一个SBC的enable脚,SBC通过另外两个引脚将CAN Trcv、MCU给唤醒;例如总线唤醒,通常是集成CAN Trcv的SBC接收一帧有效的NM报文后,通过引脚将Trcv和MCU给唤醒。大概思路如此,但实际在AUTOSAR将上述唤醒细化了,根据其时序图和模块,唤醒源大概分为了GPT唤醒、ICU唤醒、CAN唤醒、LIN唤醒、Eth唤醒和FlexRay唤醒。

1、CAN trcv唤醒

        CAN唤醒,做网管的应该必须掌握,我们今天来聊聊其时序及对应源码。

        在CAN上,可以通过transceiver或controller使用中断或轮询来检测唤醒。因此在休眠之前,就应该将CAN对应的transceiver或controller配置唤醒源。

1.1 使能当前的sleep模式的唤醒源

        使能当前的sleep模式的唤醒源,因此当前EcuM还处于GoSleep模式下;接口为EcuM_EnableWakeupSources(EcuM_WakeupSourceType wakeupSource),在标准中,该接口为自定义代码,通常我们在EcuM_Callout

你可能感兴趣的:(AUTOSAR专项训练,汽车,mcu)