AUTOSAR_SWS_ECUStateManager 中文翻译

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

本翻译覆盖原文档 1-195 页正文(约 3.10 MB)。
原文为软件规范(SWS),定义 ECU 状态管理器(EcuM, ECU State Manager)模块——AUTOSAR 内核核心模块之一,管理系统启动/关闭/睡眠/唤醒等状态机,含 50+ 个 API 函数。


1 引言与功能概述

EcuM(ECU State Manager)是 AUTOSAR 内核的核心模块,负责:

2 缩略语与缩写

EcuM / ECU State / Startup / Run / PostRun / Shutdown / Sleep / Wakeup / Alarm / Clock / Boot Target / AL(Abstraction Layer)/ DEM / DET / OS / SchM

3 相关文档

4 约束与假设

EcuM 行为部分可配置(PC/PB 变体);Wakeup/Alarm 依赖 OS/Time Service。

5 依赖

EcuM 依赖 OS(启动/调度)、BswM(模式仲裁)、NvM(数据恢复)、SchM(临界区)、ComM(通信)、DET、DEM。

6 需求可追溯性

SWS_EcuM_NNNNN 规范项 ID 约 200+ 条(编号 00001-91001)。

7 功能规范

7.1 ECU 状态机

5 大状态:STARTUP/RUN/POST_RUN/SHUTDOWN/SLEEP。

转换流程:

OFF/POWER_ON → STARTUP → RUN ⇄ POST_RUN → SHUTDOWN → OFF/SLEEP → WAKEUP → STARTUP

7.2 Wakeup 事件

5 大状态:NONE/PENDING/VALIDATED/EXPIRED/REJECTED。

7.3 RUN/POST_RUN 资源管理

多用户请求/释放 RUN/POST_RUN 资源;当所有用户释放时自动转换状态。

7.4 Shutdown 目标与原因

Shutdown 目标:OFF/SLEEP/RESET;Shutdown 原因:POWER_DOWN/ERROR/WAKEUP_TIMEOUT 等。

7.5 错误分类

7.5.1 开发错误

ECUM_E_UNINIT / ECUM_E_INIT_FAILED / ECUM_E_PARAM_POINTER / ECUM_E_INVALID_STATE / ECUM_E_UNKNOWN_WAKEUP / ECUM_E_INVALID_PARALLEL_PROCESSING / ECUM_E_RAMHASH_FAILED / ... 等 20+ 个。

7.5.2 运行时错误

ECUM_E_FLEXRAY_PNC_SHUTDOWN_ERROR 等。

7.5.3-7.5.5

无(瞬态/生产/扩展生产)。

8 API 规范

8.1 类型

EcuM_StateType(STARTUP/RUN/POST_RUN/SLEEP/SHUTDOWN/...) / EcuM_BootTargetType / EcuM_ShutdownCauseType / EcuM_WakeupSourceType / EcuM_RunStatusType

8.2 核心 API(8 个)

API功能
EcuM_Init初始化 EcuM
EcuM_StartupTwo启动阶段 2
EcuM_Shutdown关闭
EcuM_GoDownHaltPoll下电停止轮询
EcuM_SetState设置状态
EcuM_GetVersionInfo获取版本信息
EcuM_MainFunction主函数(状态机调度)

8.3 RUN/POST_RUN 资源管理(2 个)

API功能
EcuM_RequestRUN请求 RUN 状态
EcuM_ReleaseRUN释放 RUN 状态
EcuM_RequestPOST_RUN请求 POST_RUN 状态
EcuM_ReleasePOST_RUN释放 POST_RUN 状态

8.4 Shutdown 目标与原因(6 个)

API功能
EcuM_SelectShutdownTarget选择关闭目标
EcuM_GetShutdownTarget获取关闭目标
EcuM_GetLastShutdownTarget获取上次关闭目标
EcuM_SelectShutdownCause选择关闭原因
EcuM_GetShutdownCause获取关闭原因

8.5 Wakeup 事件管理(6 个)

API功能
EcuM_GetPendingWakeupEvents获取待处理唤醒事件
EcuM_ClearWakeupEvent清除唤醒事件
EcuM_GetValidatedWakeupEvents获取已验证唤醒事件
EcuM_GetExpiredWakeupEvents获取已过期唤醒事件
EcuM_SetWakeupEvent设置唤醒事件
EcuM_ValidateWakeupEvent验证唤醒事件

8.6 Alarm/Clock 管理(6 个)

API功能
EcuM_SetRelWakeupAlarm设置相对唤醒 Alarm
EcuM_SetAbsWakeupAlarm设置绝对唤醒 Alarm
EcuM_AbortWakeupAlarm中止唤醒 Alarm
EcuM_GetCurrentTime获取当前时间
EcuM_GetWakeupTime获取唤醒时间
EcuM_SetClock设置时钟

8.7 Boot Target 管理(2 个)

API功能
EcuM_SelectBootTarget选择启动目标
EcuM_GetBootTarget获取启动目标

8.8 抽象层回调(应用实现,~15 个)

EcuM_AL_SetProgrammableInterrupts / EcuM_AL_DriverInitZero / EcuM_AL_DriverInitOne / EcuM_AL_DriverInitBswM_<x> / EcuM_AL_SwitchOff / EcuM_AL_Reset / EcuM_ErrorHook / EcuM_LoopDetection / EcuM_OnGoOffOne / EcuM_OnGoOffTwo / EcuM_EnableWakeupSources / EcuM_DisableWakeupSources / EcuM_StartWakeupSources / EcuM_StopWakeupSources / EcuM_CheckValidation / EcuM_StartCheckWakeup / EcuM_CheckWakeup / EcuM_EndCheckWakeup / EcuM_GenerateRamHash / EcuM_CheckRamHash / EcuM_SleepActivity / EcuM_DeterminePbConfiguration / EcuM_AL_DriverRestart

共 50+ API 函数(应用实现 + EcuM 调用 + EcuM 提供)。

9 配置规范

容器描述
EcuM根容器
EcuMGeneral通用配置(PC/PB 变体)
EcuMDriverInitList / EcuMDriverInitItem驱动初始化列表
EcuMDriverRunItem / EcuMDriverPostRunItem驱动 RUN/POST_RUN 列表
EcuMWakeupSource唤醒源配置
EcuMAlarmClockAlarm/Clock 配置
EcuMShutdownTargetShutdown 目标配置
EcuMShutdownCauseShutdown 原因配置
EcuMBootTargetBoot Target 配置
EcuMFixedUserConfig固定用户配置
EcuMRamHashConfigRAM Hash 配置
EcuMModeUserConfig模式用户配置
EcuMValidator / EcuMComMChannels验证器/通信通道
EcuMFlexRayConfig / EcuMPncConfigFlexRay/PNC 配置

共 15+ ECUC 容器,含 50+ 配置参数。


校对记录

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