AUTOSAR_SWS_WatchdogManager 中文翻译

文档编号:080 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-125 页正文,约 1.83 MB / 125 页。
原文为软件规范(SWS, Software Specification),定义看门狗管理器(Watchdog Manager, WdgM)模块的功能、API 与配置——含 Alive Supervision、Deadline Supervision、Logical Supervision 三类监督机制,以及 Mode Switching、Partition Restart、Defensive Behavior 等高级特性。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、监督机制、错误码、配置参数;详细 C 签名以"函数定义表"形式覆盖;序列图与复杂状态机以描述形式呈现。


1 引言与功能概述(Introduction and functional overview)

1.1 WdgM 与 Wdg/WdgIf 的关系

看门狗管理器(Watchdog Manager, WdgM)是 AUTOSAR 中的服务层(Services Layer)模块,介于应用层(Application Layer)与基础软件层(BSW Layer)之间:

层级关系:

应用 SWC ←→ RTE ←→ WdgM ←→ WdgIf ←→ Wdg Driver ←→ Hardware WDG

1.2 WdgM 的功能

WdgM 提供以下核心功能:

  1. Alive Supervision(活性监督):监督被监督实体在配置的最小/最大周期内是否被调用;
  2. Deadline Supervision(截止期监督):监督被监督实体在配置的最小/最大截止期内是否完成;
  3. Logical Supervision(逻辑监督):监督被监督实体的逻辑执行顺序(基于 Checkpoint);
  4. Mode Switching(模式切换):在 Fast/Slow/Off 之间切换 WDG 模式;
  5. Triggering(触发):在所有监督通过时触发硬件看门狗;
  6. Defensive Behavior(防御行为):监督失败时采取预定义动作;
  7. Partition Restart Support(分区重启支持):在 OS-Application 失败时支持分区重启。

2 缩略语与缩写(Acronyms and abbreviations)

缩略语描述
APIApplication Programming Interface(应用程序编程接口)
BSWBasic Software(基础软件)
DEMDiagnostic Event Manager(诊断事件管理器)
DETDefault Error Tracer(默认错误追踪器)
ECUElectronic Control Unit(电子控制单元)
EAExclusive Area(独占区)
GSSGlobal Supervision Status(全局监督状态)
ISRInterrupt Service Routine(中断服务例程)
LSSLocal Supervision Status(本地监督状态)
OSOperating System(操作系统)
RTERuntime Environment(运行时环境)
SESupervised Entity(被监督实体)
SWCSoftware Component(软件组件)
WdgWatchdog(看门狗)
WdgMWatchdog Manager(看门狗管理器)
WdgIfWatchdog Interface(看门狗接口)

3 相关文档(Related documentation)

4 约束与假设(Constraints and assumptions)

5 与其他模块的依赖(Dependencies to other modules)

5.1 文件结构(File structure)

WdgM.c                    # 主源文件
WdgM_Lcfg.c               # Link-time 配置
WdgM_PBcfg.c              # PostBuild 配置

5.2 配置管理(Configuration management)

WdgM 通过 ECUC 参数配置:监督机制、SE 集合、检查点、模式、错误处理等。

6 需求可追溯性(Requirements traceability)

WdgM 满足的 RS_BRF_NNNNN 需求(来自 AUTOSAR_RS_Features):

需求描述
RS_BRF_01064AUTOSAR 服务应支持功能安全监督
RS_BRF_01136AUTOSAR 应支持系统启动后解析的 BSW 数据变体
RS_BRF_01472AUTOSAR 应支持可监督的 SWC 执行
RS_BRF_01856AUTOSAR 应支持分区隔离
RS_BRF_01904AUTOSAR 应支持监督报告

WdgM 自身的 SWS_WdgM_NNNNN 需求 ID 约 100+ 条(详细列表见原文第 6 章追溯表)。

7 功能规范(Functional specification)

7.1 监督机制概述(Supervision Mechanisms Overview)

WdgM 提供三类监督机制:

7.1.1 Alive Supervision(活性监督)

Alive Supervision 监督被监督实体(SE)在配置的最小/最大周期内是否被调用:

SE 通过 WdgM_Trigger()WdgM_CheckpointReached()(取决于 SE 类型)报告活性。

7.1.2 Deadline Supervision(截止期监督)

Deadline Supervision 监督被监督实体从开始到结束的时间是否在配置截止期内:

7.1.3 Logical Supervision(逻辑监督)

Logical Supervision 监督被监督实体的逻辑执行顺序:

7.2 本地与全局监督状态(Local and Global Supervision Status)

WdgM 维护两层监督状态:

当任一 SE 的 LSS 变为 FAILED 时,GSS 立即变为 FAILED。

7.3 模式管理(Mode Management)

7.3.1 WdgM 模式(WdgM Modes)

WdgM 与 WDG 模式对齐:

7.3.2 模式切换(Mode Switching)

模式切换通过 WdgM_SetMode() API 进行:

  1. 调用者请求模式变更;
  2. WdgM 验证新模式与当前模式的兼容性;
  3. WdgM 通过 WdgIf 切换 WDG 模式;
  4. WdgM 更新内部模式状态。

7.3.3 触发条件(Trigger Condition)

WdgM 周期性地(基于 OS Tick)检查所有 SE 的状态:

  1. 聚合所有 SE 的 LSS 到 GSS;
  2. 若 GSS == OK,通过 WdgIf 触发 WDG;
  3. 若 GSS == FAILED,不触发 WDG 并采取防御行为。

7.4 分区重启(Partition Restart)

WdgM 支持 OS-Application(分区)重启:

7.5 防御行为(Defensive Behavior)

当监督失败时,WdgM 采取预定义的防御行为:

  1. 立即动作:通过 Dem 上报故障;记录失败 SE;不触发 WDG;
  2. 恢复尝试:在配置的恢复周期内等待;
  3. 分区重启:尝试重启失败的分区;
  4. ECU 重置:若分区重启失败,触发 ECU 复位。

7.6 错误分类(Error Classification)

7.6.1 开发错误(Development Errors)

错误码含义
WDGM_E_PARAM_CONFIG0x10无效的配置指针
WDGM_E_PARAM_MODE0x11无效的模式参数
WDGM_E_PARAM_SEID0x12无效的 SE ID
WDGM_E_INV_STATE0x13无效的内部状态
WDGM_E_ALREADY_INITIALIZED0x14已初始化
WDGM_E_NOT_DISABLED0x15WdgM 未禁用
WDGM_E_NULL_POINTER0x16空指针

7.6.2 运行时错误(Runtime Errors)

无(监督失败通过 Dem 报告为生产错误)。

7.6.3 瞬态故障(Transient Faults)

无。

7.6.4 生产错误(Production Errors)

无(WdgM 不直接产生生产错误;监督失败由 Dem 报告)。

7.6.5 扩展生产错误(Extended Production Errors)

无。

8 API 规范(API specification)

8.1 导入类型(Imported types)

8.2 类型定义(Type definitions)

类型描述
WdgM_ConfigTypeWdgM 配置结构(指向配置数据的指针)
WdgM_ModeTypeWdgM 模式枚举(WDGM_FAST_MODE/WDGM_SLOW_MODE/WDGM_OFF_MODE
WdgM_SupervisionStatusType监督状态枚举(WDGM_SupervisedEntity_OK/WDGM_SupervisedEntity_FAILED/WDGM_SupervisedEntity_EXPIRED/WDGM_SupervisedEntity_DEACTIVATED
WdgM_GlobalStatusType全局状态(WDGM_GLOBAL_STATUS_OK/WDGM_GLOBAL_STATUS_FAILED
WdgM_LocalStatusType本地状态(同上)
WdgM_SEIdTypeSE 标识符类型(uint16)
WdgM_CheckpointIdType检查点 ID 类型(uint16)

8.3 服务接口 API(Service Interface APIs)

API签名功能
WdgM_Initvoid WdgM_Init(const WdgM_ConfigType* ConfigPtr)初始化 WdgM
WdgM_DeInitvoid WdgM_DeInit(void)去初始化 WdgM
WdgM_GetVersionInfovoid WdgM_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息
WdgM_SetModeStd_ReturnType WdgM_SetMode(WdgM_ModeType Mode)设置 WdgM 模式
WdgM_GetModeWdgM_ModeType WdgM_GetMode(void)获取当前模式
WdgM_CheckpointReachedStd_ReturnType WdgM_CheckpointReached(WdgM_SEIdType SEID, WdgM_CheckpointIdType CheckpointID)报告 SE 达到检查点(用于 Alive/Logical 监督)
WdgM_StartDeadlineStd_ReturnType WdgM_StartDeadline(WdgM_SEIdType SEID)开始截止期监督
WdgM_GetLocalStatusWdgM_LocalStatusType WdgM_GetLocalStatus(WdgM_SEIdType SEID)获取 SE 本地状态
WdgM_GetGlobalStatusWdgM_GlobalStatusType WdgM_GetGlobalStatus(void)获取全局状态
WdgM_PerformResetvoid WdgM_PerformReset(void)主动执行 ECU 复位(可选)
WdgM_GetFirstExpiredSEIDWdgM_SEIdType WdgM_GetFirstExpiredSEID(void)获取首个失败的 SE ID

8.4 回调通知(Call-back Notifications)

WdgM 提供以下回调:

8.5 调度函数(Scheduled Functions)

WdgM 提供主函数 WdgM_MainFunction(),应被 RTE 周期性调用(周期可配置,如 1ms、5ms、10ms)。该函数:

  1. 检查所有 SE 的截止期;
  2. 聚合 GSS;
  3. 若 GSS==OK,调用 WdgIf_SetTriggerCondition() 触发 WDG。

9 序列图(Sequence diagrams)

9.1 WdgM 初始化

序列图描述 WdgM_Init 流程:

  1. EcuM 调用 WdgM_Init()
  2. WdgM 验证配置指针;
  3. WdgM 初始化所有 SE 的状态为 DEACTIVATED;
  4. WdgM 设置初始模式(Fast);
  5. WdgM 通过 WdgIf 切换 WDG 模式。

9.2 监督检查点

应用 SWC 在关键执行点调用 WdgM_CheckpointReached()

  1. SWC 调用 WdgM_CheckpointReached(SEID, CPID)
  2. WdgM 验证 SEID 有效;
  3. WdgM 更新 SE 的检查点历史;
  4. WdgM 评估监督结果;
  5. WdgM 返回成功/失败。

9.3 监督失败处理

  1. WdgM 主函数检测到 SE 监督失败;
  2. WdgM 通过 Dem 上报故障;
  3. WdgM 不触发 WDG;
  4. WdgM 等待恢复周期;
  5. 若恢复失败,请求 OS 重启分区或触发 ECU 复位。

配置规范(Configuration specification)

10.1 如何阅读本章(How to read this chapter)

WdgM 配置由大量 ECUC 容器与参数定义。核心容器:WdgM、WdgMConfigSet、WdgMMode、WdgMSupervisedEntity、WdgMAliveSupervision、WdgMDeadlineSupervision、WdgMLogicalSupervision、WdgMTrigger、WdgMPartition 等。

10.2 容器与配置参数(Containers and configuration parameters)

WdgM(根容器)

参数描述
WdgMDefensiveBehavior防御行为模式
WdgMDevErrorDetect开发错误检测开关
WdgMGetFirstExpiredSEIDApiWdgM_GetFirstExpiredSEID() API 开关
WdgMImmediateReset立即复位(主动)开关
WdgMMainFunctionPeriod主函数周期
WdgMModeSupport支持的模式
WdgMOsApplicationOwner所属 OS-Application
WdgMPerformResetApiWdgM_PerformReset() API 开关
WdgMVersionInfoApiWdgM_GetVersionInfo() API 开关

WdgMSupervisedEntity

参数描述
WdgMSupervisedEntityIdSE ID(uint16)
WdgMEntityConfigSetRef配置集引用
WdgMOsApplicationRef所属 OS-Application

WdgMAliveSupervision

参数描述
WdgMAliveSupervisionEnabled活性监督使能
WdgMExpectedAliveIndications预期指示数
WdgMMaxMargin最大裕度(指示数)
WdgMMinMargin最小裕度(指示数)
WdgMSupervisionCycle监督周期(ms)

WdgMDeadlineSupervision

参数描述
WdgMDeadlineSupervisionEnabled截止期监督使能
WdgMDeadlineMax最大截止期(ms)
WdgMDeadlineMin最小截止期(ms)

WdgMLogicalSupervision

参数描述
WdgMLogicalSupervisionEnabled逻辑监督使能
WdgMCheckPointId检查点 ID

WdgMMode

参数描述
WdgMModeId模式 ID
WdgMModeName模式名称
WdgMTransition模式转换配置

WdgMTrigger

参数描述
WdgMTriggerConditionValue触发条件值(timeout)
WdgMWatchdogDeviceRefWDG 设备引用

WdgMPartition

参数描述
WdgMPartitionId分区 ID
WdgMAssignedSupervisedEntities分配的 SE 集合
WdgMRestartBehavior重启行为

共 20+ 容器与 100+ 配置参数;完整列表见原文第 10 章。

11 未应用需求(Not applicable requirements)

本节列出来自 AUTOSAR_SRS_WatchdogDriver 但在 WdgM SWS 中不直接对应的需求(标 N/A)。WdgM 作为 WDG 上层抽象,本身不直接对应底层 WDG 驱动的所有需求。


📋 校对记录

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