AUTOSAR_EXP_ModeManagementGuide 中文翻译

文档编号:038 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-70 页正文(约 610 KB)。
原文为解释性文档(EXP),介绍 AUTOSAR 模式管理(Mode Management)概念、EcuM/BswM 协同工作原理、配置指南、最佳实践。


1 引言与术语

AUTOSAR 模式管理涉及 EcuM(ECU State Manager)与 BswM(BSW Mode Manager)两个核心模块,协同管理 ECU 的运行状态:

2 模式管理架构

模式管理架构(自底向上):

  1. BSW 模块(CanSM/ComM/EcuM/...)发布状态通知;
  2. BswM 接收通知,根据规则执行模式仲裁;
  3. BswM 调用 EcuM RequestRUN/Shutdown 等服务;
  4. EcuM 管理 ECU 整体状态机(STARTUP/RUN/POST_RUN/SHUTDOWN/SLEEP);
  5. EcuM 调用 BswM 通知应用层模式变化。

3 EcuM 详解

EcuM 五大状态:

EcuM 五大功能:

  1. 状态机管理;
  2. Wakeup 事件处理;
  3. RUN/POST_RUN 资源管理;
  4. Shutdown 目标/原因;
  5. Boot Target 选择。

4 BswM 详解

BswM 主要功能:

  1. 模式仲裁(根据其他 BSW 模块状态);
  2. 模式动作(调用其他 BSW 模块的 API);
  3. Action List 调度(按优先级排序)。

BswM 配置元素:

5 配置示例

5.1 简单配置:ComM 模式 → BswM 仲裁

// BswM 规则:当 ComM 模式变为 FullCom 时
// 条件:ComM_CurrentMode == COMM_FULL_COMMUNICATION
// 动作:CanSM_RequestMode(CANSM_FULL_COMM)

// 配置 1: Mode Condition
BSWMRule = {
  Condition: BswMModeCondition (
    LogicalOp: AND,
    Conditions: [
      { Source: BswMComMIndication, Value: COMM_FULL_COMMUNICATION }
    ]
  ),
  ActionList: BswMActionList([
    BswMAction_Rule (
      ActionType: BSWM_ACTION_CANSM_REQUEST,
      CanSMRequest: CANSM_FULL_COMM
    )
  ])
}

5.2 复杂配置:多条件 + 多动作

// 复杂规则:仅当 EcuM 处于 RUN 且 CanSM 处于 FullCom 且 NvM 已加载完成
// 条件:EcuM_State == RUN AND CanSM_State == CANSM_FULLCOMM AND NvM_JobMode == NVM_REQ_PENDING == false
// 动作:开启通信通道 + 启动应用

6 最佳实践

  1. 优先使用 BswM 模式仲裁而非直接调用 EcuM;
  2. 使用 EcuM_PB / EcuM_PC 配置变体(PC 编译时确定,PB 启动时确定);
  3. Wakeup 源合理分类(VALIDATED/EXPIRED/REJECTED);
  4. Shutdown 目标/原因用于诊断;
  5. 多用户请求使用 SetProtection 保护;
  6. 避免循环依赖(EcuM ↔ BswM)。

7 参考文献


校对记录

校对轮次:L1 自动校对(2026-06-13)