您好,我目前正在调试 EcuM 和网络管理功能。我查阅了一些规格手册,但仍然有些困惑,希望得到指导。
网络管理的睡眠/唤醒是否必须与 EcuM 协调(即 EcuM 验证唤醒原因)?
在网络管理睡眠/唤醒过程中,ECU 是否需要进入睡眠状态(即 EcuM 睡眠)?
如果问题 1 的答案是肯定的,则 EcuM 通过接口获取唤醒事件。 EcuM_SetWakeupEvent 。然而,AUTOSAR EcuM 规范 SWS_EcuM_04318 指出: “与所选睡眠模式无关的唤醒事件将被忽略。” 我应该如何理解这句话?
AUTOSAR EcuM 规范中还包含两个关于接口的条目。 EcuM_ValidateWakeupEvent – SWS_EcuM_02790 和 SWS_EcuM_02791。它指出与通信通道关联的唤醒源在任何阶段都应有效。这是否意味着在任何阶段,唤醒事件都可以被挂起(即,成功通过)。 然后进行验证(EcuM_SetWakeupEvent)?
您好,
1. NM 睡眠/觉醒是否需要 EcuM 协调?
未必。NM/ComM 管理网络通信,而 EcuM 管理 ECU 电源状态。ECU唤醒验证主要与ECU实际进入ECU睡眠状态有关。
2. NM睡眠是否意味着ECU必须进入ECUM睡眠状态?
不。网络可以进入总线睡眠状态,而 ECU 仍处于运行模式并继续执行本地功能。
3. 如何理解 SWS_EcuM_04318?
这意味着 EcuM 只接受为当前选定的睡眠模式配置的唤醒事件。来自未在该睡眠模式下启用的唤醒源的唤醒事件将被忽略。它可以防止虚假硬件事件意外唤醒 ECU。
4. 在任何 EcuM 阶段,ComM 相关唤醒源是否可以得到验证?
是的。这是一个特例。通用唤醒源仅在睡眠期间被接受,但通信通道关联的源(例如,CAN 唤醒帧)可以通过 EcuM_SetWakeupEvent 挂起,并通过 EcuM_ValidateWakeupEvent 在任何 EcuM 阶段进行验证。这样,唤醒事件就可以中止正在进行的 Go-Sleep 序列——这是将 NM 唤醒与 EcuM 连接起来的关键机制。
简而言之:NM睡眠≠ECU睡眠,并且与ComM连接的唤醒源在ECUM中会得到特殊处理,从而允许在正常的唤醒序列之外进行验证。
BR,彼得