0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

EcuM是如何知道有唤醒事件呢?

冬至配饺子 来源:开心果 Need Car 作者:开心果 Need Car 2022-08-23 11:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

在AUTOSAR中,Ecu的唤醒流程并不能简单的看作是对各个外设模块的供电动作。Autosar给了软件开发人员很大的自由度去设计目标项目Ecu的唤醒动作,而自由度越大的代价就是开发人员需要很好的设计Ecu的唤醒时序,提供Ecu唤醒过程的鲁棒性。

唤醒源的状态

在EcuM中规定了唤醒源的4中状态:NONE、PENDING、VALIDATED、EXPIRED。四种状态关系的切换关系如下所示:

poYBAGMES7WAJoCFAADeSJyKHwM989.png

当Ecu上电时,唤醒源的初始状态是NONE,当唤醒源状态切换到NONE时,需要通知到BswM模块,上图也可以看出,唤醒源的每次状态切换都需要通知到BswM模块,通知接口:BswM_EcuM_CurrentWakeup。

EcuM是如何知道有唤醒事件呢?EcuM如果想知道有唤醒Ecu的事件,最好的方式就是给底层提供一个接口或者注册一个回调,Autosar里规定了标准接口:EcuM_SetWakeupEvent。当有唤醒事件发生时,底层的硬件模块(例如:Transceiver、Sensor)最先识别到,之后通过该接口上报给EcuM。

EcuM主函数会轮询检测底层上报的唤醒事件,如果想进一步的分析唤醒事件是不是有效的总线唤醒源(网络管理报文),需要Ecu有正常的收发报文能力,想要收发报文,Transceiver和Controller两个模块均需要启动。一般来讲,Transceiver会在程序初始化时进入正常的工作模式,而Controller进入正常的工作模式是EcuM调用EcuM_StartWakeupSources的结果,而该接口的内部功能的实现由开发者自行把控,autosar并未做硬性的要求。

启动Transceiver和Controller,建立了报文的正常收发能力,Ecu即可进一步的将报文上报上层模块,如:CanIf,即此时Ecu可以拿到总线的RawData,不管是不是网络管理报文,Ecu都可以做进一步的功能实现,如收到诊断报文唤醒网络等。

一般来说,会在EcuM模块配置两个时间参数,CheckWakeup和ValidateWakeup时间,如果CheckWakeup时间走完走完没有判断到有效的唤醒源,则调用EcuM_StopWakeupSources关闭唤醒源,这里多数关闭controller,进而Ecu失去通信能力。

ValidateWakeup时间参数配置与否决定了是否使用唤醒事件的验证功能,如果配置该参数,且验证唤醒事件有效后则通知ComM使能通信,调用ComM接口:ComM_EcuM_WakeupIndication。如果该参数没有配置,则EcuM不在绕圈,直接通知BswM唤醒事件有效,通知ComM开启通信。个人理解:该参数配置较合理。

第一:可以验证唤醒事件的有效性,避免因总线抖动等干扰造成的非预期Ecu唤醒;

第二:如果使用的Transceiver没有Pn功能,Ecu会因总线的扰动而不断的唤醒,假设总线有应用报文没有网络管理报文,ValidateWakeup时间给0,Ecu将会不断的走上下电流程,如果下电选择OFF流程(实际项目中很多开发人员没有开启Reset流程的Operation,即直接冷启动,这不符合autosar规范,也不安全),将会带来未知问题(如果Ecu内核有一定时间内唤醒次数限制,超过阈值则可能上锁保护),设置该参数可以有效的延迟Ecu唤醒频率。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    9443

    浏览量

    156117
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91291
  • AUTOSAR
    +关注

    关注

    10

    文章

    389

    浏览量

    23504
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问外部事件立即唤醒MCU如何设置?

    应用中外部事件如按钮按下、传感器检测到特定信号等需要立即唤醒MCU。该如何设置外部中断?怎么能在低功耗模式下仍然可靠触发唤醒
    发表于 12-04 06:56

    系统从DeepSleep下唤醒时钟默认为原时钟,如果原时钟频率特别高,是否存在启动不稳定问题?

    1.系统从DeepSleep下唤醒时钟默认为原时钟,如果原时钟频率特别高,是否存在启动不稳定问题?这个地方目前有没有需要特别注意的地方? 2. 一个独立看门狗,正常初始化启动IWDT,并且配置
    发表于 11-28 07:36

    请问如何合理设置这些唤醒条件?

    CW32A030 MCU支持从Sleep和DeepSleep模式通过外部中断或实时时钟唤醒。如何合理设置这些唤醒条件,以实现最佳的功耗和响应速度平衡
    发表于 11-26 06:59

    MCU典型的睡眠唤醒时间delay的概念

    (此处可知MCU内部看门狗是可以使用LPRC低频时钟在睡眠模式下运行),亦或者外部复位或者内部复位事件发生等,这个现象就是唤醒事件。 这里一个特殊情况需要注意,当中断和低功耗模式指令同时发生时,那么
    发表于 11-25 08:03

    AT32F系列 PWC待机唤醒唤醒Standby

    AT32F系列 PWC待机唤醒唤醒Standby 示例目的 演示AT32F系列 PWC待机唤醒唤醒Standby的使用方法。待机唤醒
    发表于 11-05 14:08

    SI3933低频唤醒接收芯片概述与主要特性

    SI3933是一款三通道低功耗ASK接收机芯片,专为15kHz-150kHz低频载波频率检测而设计。这款芯片的主要功能是检测低频数字信号并产生唤醒信号,广泛应用于各种无线唤醒场景。 SI3933
    的头像 发表于 10-13 09:27 40次阅读
    SI3933低频<b class='flag-5'>唤醒</b>接收芯片概述与主要特性

    pm组件进入低功耗不能唤醒是怎么回事?

    (进入低功耗前是20mA左右),但是现在lptime没有唤醒。源码里的程序是哪些需要修改的吗?还是配置没配置对?有知道的大佬,麻烦指导一下。
    发表于 09-12 06:04

    CST92F定时唤醒功能

    CST92F25寄存器操作说明书吗?RTC怎配置定时唤醒功能?
    发表于 07-15 16:07

    求助,关于TLE9893 从stop模式唤醒问题求解

    我正在使用 TLE9893 的STOP模式以降低功耗,靠外部电平信号唤醒,希望2ms内能转到Active模式,然后接收外部数据。我尝试了两种方案,好像都不正常。 一种是用P2端口下降沿信号,唤醒失败
    发表于 07-14 07:39

    FS26和S32K3可以正常唤醒,当添加与SJA1110的通信时,唤醒过程会卡在断言错误处,为什么?

    FS26 和 S32K3 可以正常唤醒,但当添加与 SJA1110 的通信时,唤醒过程会卡在断言错误处: "GMAC_DEV_ASSERT((Bd-&gt;Des3
    发表于 04-14 08:02

    L9300无法唤醒是怎么回事?

    L9300无法唤醒,wake接5V到12V都试过,还是无法唤醒,VCP、Vdd1等电压不正常。
    发表于 03-12 07:44

    STM32L431在STOP2模式下能否将串口的RX配置成EXTI唤醒

    STM32L431在STOP2模式下能否将串口的RX配置成EXTI唤醒?为什么我的唤醒不了?并且空闲中断也不能用,手册中说在硬件上已经将EXTI与RX引脚连到一块了,但是
    发表于 03-12 06:03

    以太网休眠唤醒利器OPEN Alliance TC10介绍

    TC10 为OPEN Alliance 中的一个技术委员会小组,专注于研究基于车载以太网的休眠唤醒机制,旨在为汽车应用场景提供灵活的休眠唤醒解决方案。
    的头像 发表于 02-13 09:06 1066次阅读
    以太网休眠<b class='flag-5'>唤醒</b>利器OPEN Alliance TC10介绍

    TC10以太网休眠唤醒测试用例

    在上一篇文章中,我们了解了TC10规范的内容,并掌握了基于以太网链路的物理层休眠唤醒机制。为了确保不同厂商的设备在以太网休眠唤醒功能上的互操作性,OPEN Alliance制定了详细的测试规范。
    的头像 发表于 02-13 09:05 960次阅读
    TC10以太网休眠<b class='flag-5'>唤醒</b>测试用例

    国产 125K低功耗唤醒 SI3933与AS3933 功能对比

    提到低频RFID技术,相信很多人都知道它的典型工作频率125KH和133KHz,该频率主要是通过电感耦合的方式进行工作,由于低频电波可以穿透水、非金属材料而不降低它的读取距离,而且工作在低频
    发表于 01-23 14:26