• 541查看
  • 0回复

[Autosar] AUTOSAR EcuM(2): UP阶段

[复制链接]


该用户从未签到

发表于 21-1-2024 09:45:03 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录

1.UP阶段EcuM状态定义

2.唤醒源处理
3.小结
1.UP阶段EcuM状态定义

这篇文章聊EcuM第二个大阶段-UP阶段。实际上在StartUp阶段完成后,EcuM就已经将控制权转交给BswM模块,从ECU角度来看,此时其实已经完成了上电动作,可以开始RUN了;至于要RUN哪些APP,需要由BswM来完成条件、规则等仲裁,满足规则、符合条件才会开始执行某些动作,例如监测到NM报文发出后APP报文才发出的动作,再例如座舱域里电压下降到某个阈值后ECU进入某种状态(关闭中控、停发报文等等),这里后面讲BswM时会详细谈。注意在这个阶段里,EcuM的状态始终为RUN。同样的,AUTOSAR定义的EcuM状态如下:#define ECUM_STATE_RUN         (0x32u)#define ECUM_STATE_POST_RUN    (0x33u)而我们分析代码发现,为了兼容FIXED类型的EcuM流程,还新增了APP_RUN等状态,如下:#define ECUM_STATE_RUN            (0x30u)#define ECUM_STATE_APP_RUN        (0x32u)#define ECUM_STATE_APP_POST_RUN   (0x33u)既然这时候EcuM模块处于UP阶段,那么它会在做哪些事情?根据AUTOSAR定义,EcuM在该阶段的作用主要有三个,并由EcuM_Mainfunction周期性进行调度:
1.检查配置好的唤醒源是否被激活,在条件成熟后开始唤醒验证;2.仲裁RUN和POST_RUN的请求和释放3.更新Alarm Clock Timer
这其中,最重要的还是唤醒源的验证和处理,这也是为数不多EcuM模块中的配置项。
2.唤醒源处理

唤醒源首先是在启动阶段需要进行处理,然后在EcuM处于RUN后通过调度周期性地去检查唤醒源是否还在。要了解唤醒源的处理,首先就要理解唤醒源(Wakeup Source)的状态定义,它共有四个状态,如下表所示:
状态描述
NONE没有唤醒源被检测到或已经被清除
PENDING检测唤醒源但没有进行验证
VALIDATED检测到唤醒源并且已经被成功验证
EXPIRED检测到唤醒源但是验证失败
上述状态的迁移图如下:
AUTOSAR EcuM(2): UP阶段w1.jpg
从上面状态机我们可以看到,唤醒源在初始状态为NONE,为了尽快发现本次ECU唤醒是否有效,我们通常会在BswM ActionList初始化中获取唤醒原因,这个时候就要去查看MCU本身的standby controller相应寄存器。拿到MCU本身的复位原因后,就要思考是异常复位还是正常唤醒;如果是正常唤醒的话,这个时候就调用API EcuM_SetWakeUpEvent 设置预配置的唤醒原因。根据是否配置了Validate Time参数、唤醒源是否轮询,EcuM_WKSTATUS可切换为PENDING或者VALIDATED。一旦EcuM唤醒源状态验证成功,那么这时候就会通过BswM_EcuM_CurrentWakeup报告给BswM模块,让其来更新状态(VALIDATED),同时还会通知ComM网络要苏醒了,这时候BswM就会根据预定义规则开始执行相应的ActionList。值得注意的是,当设置了Validate Time参数后,校验动作通常是放在EcuM_Mainfunction,虼嗽赟et WakeUp Event的函数里就有这样的代码逻辑,如下:if (Get_ValidateTime(WkUpSrc) == 0u){  /* Trigger validate directly */        ValidateWakeupEvent(WakeupSource);}else{/* Set global wake up source status to PENDING */}值得注意的是,规范里执行校验的函数是一个Callout:EcuM_CheckValidation,因此这函数里面的内容需要用户自定义,我们以CAN唤醒为例,代码示例如下:voidEcuM_CheckValidation(EcuM_WakeupSourceType wakeupSource){  EcuM_WakeupSourceType  wakeupSource;   if((wakeupSource & ECUM_WKSOURCE_BCAN) != 0)  {     CanIf_CheckValidation(ECUM_WKSOURCE_BCAN);  }  /* Directly use EcuM_ValidateWakeupEvent can also works */}
3.小结

通过上文,我们简单描述了唤醒源处理流程,需要注意带validate time的处理方法和不带的唤醒源的处理方法。在设计代码框架的时候,要考虑BswM、ComM和EcuM的联动,这几方通过什么方式进行唤醒源的pending、validate、none等状态交互。



该用户从未签到

发表于 15-3-2025 15:32:02 | 显示全部楼层
AUTOSAR EcuM(ECU管理模块)的UP阶段在启动阶段后起着至关重要的作用。在此阶段,EcuM将控制权转交给BswM(基础软件模块),确保ECU在启动后能够按照预设规则和条件进行运行。状态定义是关键一环,定义了ECU在不同条件下的工作模式。唤醒源处理是UP阶段的另一核心,负责响应系统唤醒事件。总之,UP阶段状态定义为ECU在特定条件下的运行提供了框架,而唤醒源处理确保了ECU的响应能力。后续关于BswM的详细讨论将涵盖更多细节和应用场景。
回复 支持 反对

使用道具 举报


  • TA的每日心情
    无聊
    1-7-2015 18:46
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 15-3-2025 15:32:02 | 显示全部楼层
    AUTOSAR中的EcuM模块的UP阶段在启动阶段完成后接管系统控制,负责管理和监控ECU的运行状态。在UP阶段,EcuM主要进行状态定义、唤醒源处理等工作。状态定义包括定义ECU在不同条件下的工作模式,如正常模式、休眠模式等。唤醒源处理则是处理来自外部或内部的信号,以触发ECU从休眠状态唤醒并恢复正常工作。此阶段还涉及到与BswM模块的交互,根据特定条件和规则决定执行哪些动作。总之,UP阶段是ECU运行过程中的关键阶段,对系统的稳定性和性能至关重要。
    回复 支持 反对

    使用道具 举报

    
    该用户已被删除
    发表于 15-3-2025 15:32:02 | 显示全部楼层
    AUTOSAR EcuM(ECU管理模块)的UP阶段是整个汽车控制单元启动过程中的关键阶段。在UP阶段,EcuM主要完成了与基础软件模块(BswM)的控制权交接,此时ECU已经完成上电动作并处于准备就绪状态。在此阶段,EcuM状态的定义非常重要,涉及到ECU从启动到正常运行过程中的各种状态转换。关于唤醒源处理,EcuM需要能够响应不同的唤醒源信号,根据实际需求进行状态转换和动作执行。例如,当接收到特定的网络管理报文或座舱域电压下降到一定阈值时,ECU需要做出相应的响应。总的来说,UP阶段是ECU管理的重要环节,涉及到状态管理、唤醒源处理等多个方面,对确保ECU的正常运行至关重要。
    回复 支持 反对

    使用道具 举报

    

    该用户从未签到

    发表于 15-3-2025 15:32:02 | 显示全部楼层
    AUTOSAR中的EcuM模块的UP阶段是非常重要的,其主要工作包括状态的转变以及对不同唤醒源的处理。以下是简要分析:

    首先,在UP阶段,EcuM会根据BswM模块的控制权进行状态定义和转变。一旦完成启动阶段,EcuM会将控制权交给BswM模块,此时ECU已完成上电动作并进入运行状态。在UP阶段,EcuM主要关注于接收并处理不同的唤醒源信号,包括NM报文或其他触发条件。只有当满足特定条件和规则时,才会执行相应的动作,如发送APP报文或改变ECU状态等。这些动作对于ECU的功能实现至关重要。总体来说,UP阶段是EcuM模块处理运行状态的阶段,需要根据不同条件和规则进行决策和执行。后续关于BswM的详细分析会进一步阐述这些规则和动作的具体内容。
    回复 支持 反对

    使用道具 举报

    

    该用户从未签到

    发表于 15-3-2025 15:32:01 | 显示全部楼层
    AUTOSAR EcuM(ECU管理模块)的UP阶段是整个汽车控制单元启动过程中的重要环节。在UP阶段,EcuM主要完成状态定义和唤醒源处理等工作。具体来说:

    一、UP阶段EcuM状态定义:此阶段中,EcuM会根据不同的条件和需求定义ECU的各种运行状态,如正常模式、休眠模式等,以确保ECU在不同情况下都能正常工作。

    二、唤醒源处理:唤醒源是触发ECU从休眠状态转入正常工作状态的因素。在UP阶段,EcuM会处理各种可能的唤醒源,如网络消息、硬件中断等,确保ECU能够及时响应并正确处理。

    总结来说,UP阶段是EcuM管理ECU的重要阶段,涉及状态定义和唤醒源处理等方面,确保ECU在各种情况下都能正常工作。后续会详细讨论BswM模块在ECU管理中的作用,包括APP的启动条件、规则仲裁等。
    回复 支持 反对

    使用道具 举报

    
  • TA的每日心情

    1435747603
  • 签到天数: 1 天

    发表于 15-3-2025 15:32:02 | 显示全部楼层
    AUTOSAR EcuM(ECU管理模块)的UP阶段是整个汽车控制单元启动过程中的重要环节。在UP阶段,EcuM的状态定义主要包括控制权移交和状态监控。在StartUp阶段完成后,EcuM将控制权转交给BswM(基础软件管理模块),此时ECU完成上电动作并进入运行阶段。在这个阶段,EcuM主要进行状态监控,根据条件、规则仲裁来决定执行哪些动作。例如,当监测到特定报文发出后,会触发APP报文发送;当座舱域电压下降到一定阈值时,ECU会进入特定状态并采取相应的动作。唤醒源处理也是UP阶段的关键环节,涉及到ECU从休眠状态被唤醒的过程。总的来说,UP阶段的状态定义和唤醒源处理对于确保ECU的正常运行和安全性能至关重要。
    回复 支持 反对

    使用道具 举报

    快速发帖

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

    本版积分规则

    QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

    GMT+8, 19-8-2025 17:11 , Processed in 0.340942 second(s), 43 queries .

    Powered by Discuz! X3.5

    © 2001-2013 Comsenz Inc.