# 看门狗接口规范(Specification of Watchdog Interface) | 字段 | 内容 | |---|---| | **文档标题** | 看门狗接口规范(Specification of Watchdog Interface) | | **文档所有者** | AUTOSAR | | **文档责任方** | AUTOSAR | | **文档标识号** | 041 | | **文档状态** | Final(正式发布) | | **所属 AUTOSAR 标准** | Classic Platform(经典平台) | | **所属标准版本** | 4.4.0 | --- ## 文档变更历史(Document Change History) | 日期 | 版本 | 变更人 | 变更描述 | |---|---|---|---| | 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 头文件清理;编辑性变更 | | 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 重命名 —— 默认错误(default errors)更改为开发错误(development errors) | | 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 细微修正 / 澄清 / 编辑性变更;详细信息请参考 ChangeDocumentation | | 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 细微修正 | | 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 编辑性变更 | | 2013-10-31 | 4.1.2 | AUTOSAR Release Management | 编辑性变更;删除变更文档章节 | | 2013-03-15 | 4.1.1 | AUTOSAR Administration | 修复工件路径;根据新的 `SWS_BSWGeneral` 进行修订;需求采用新的索引方案 | | 2011-12-22 | 4.0.3 | AUTOSAR Administration | 修改 `DeviceIndex`;采用新模板并添加需求可追溯性 | | 2010-09-30 | 3.1.5 | AUTOSAR Administration | 更新模块版本检查;新增无效指针作为错误代码;检查空指针 | | 2010-02-02 | 3.1.4 | AUTOSAR Administration | 修改窗口看门狗概念;为 R4.0 进行进一步维护;法律声明修订 | | 2008-08-13 | 3.1.1 | AUTOSAR Administration | 法律声明修订 | | 2007-12-21 | 3.0.1 | AUTOSAR Administration | 总结变更的主要要点;第 8 章的表已被替换;内容从 AUTOSAR BSW 模型生成;扩展文档元信息;小幅布局调整 | | 2007-01-24 | 2.1.15 | AUTOSAR Administration | 第 5.1.2 节文件包含结构修改以符合 SPAL 通用包含结构;法律声明修订;新增发布说明;修改"用户建议";新增"修订信息" | | 2006-05-16 | 2.0 | AUTOSAR Administration | 文档结构适配通用 Release 2.0 SWS 模板 | | 2005-05-31 | 1.0 | AUTOSAR Administration | 初始发布 | --- ## 目录(Table of Contents) 1. [引言与功能概述](#1-引言与功能概述) 2. [缩略语与缩写](#2-缩略语与缩写) 3. [相关文档](#3-相关文档) 4. [约束与假设](#4-约束与假设) 5. [与其他模块的依赖关系](#5-与其他模块的依赖关系) 6. [需求可追溯性](#6-需求可追溯性) 7. [功能规范](#7-功能规范) 8. [API 规范](#8-api-规范) 9. [序列图](#9-序列图) 10. [配置规范](#10-配置规范) 11. [不适用的需求](#11-不适用的需求) --- ## 1 引言与功能概述 本规范描述了 AUTOSAR 基础软件模块看门狗接口(Watchdog Interface)的功能、API 和配置。 当 ECU 上使用多个看门狗设备和看门狗驱动(例如内部软件看门狗和外部硬件看门狗)时,本模块允许看门狗管理器(或看门狗的任何其他客户端)选择正确的看门狗驱动 —— 从而选择正确的看门狗设备 —— 同时保留底层驱动的 API 和功能。 看门狗接口是板载设备抽象层(参见 [1])的一部分。 > **[SWS_WdgIf_00026]** ⌈看门狗接口提供对底层看门狗驱动服务的统一访问,如模式切换和设置触发条件。⌋ > (`SRS_Wdg_12165`、`SRS_Wdg_12167`、`SRS_MemHwAb_14019`) --- ## 2 缩略语与缩写 **注意**:本模块没有局部缩略语和缩写。所有使用的缩略语和缩写都应包含在 AUTOSAR 词汇表中。 --- ## 3 相关文档 ### 3.1 输入文档 - **[1]** Layered Software Architecture `AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf` - **[2]** General Requirements on Basic Software Modules `AUTOSAR_SRS_BSWGeneral.pdf` - **[3]** General Requirements on SPAL `AUTOSAR_SRS_SPALGeneral.pdf` - **[4]** Requirements on Memory Hardware Abstraction Layer `AUTOSAR_SRS_MemoryHWAbstractionLayer.pdf` - **[5]** Specification of Watchdog Driver `AUTOSAR_SWS_WatchdogDriver.pdf` - **[6]** Specification of Default Error Tracer `AUTOSAR_SWS_DefaultErrorTracer.pdf` - **[7]** Basic Software Module Description Template `AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf` - **[8]** AUTOSAR Requirements on Watchdog Driver `AUTOSAR_SRS_WatchdogDriver.pdf` - **[9]** General Specification of Basic Software Modules `AUTOSAR_SWS_BSWGeneral.pdf` ### 3.2 相关标准与规范 无。 ### 3.3 相关规范 AUTOSAR 提供了关于基础软件模块的通用规范 [9](SWS BSW General),该规范对看门狗接口同样有效。 因此,SWS BSW General 应被视为看门狗接口的附加且必需的规范。 --- ## 4 约束与假设 ### 4.1 限制 无限制。 ### 4.2 对汽车领域的适用性 无限制。 --- ## 5 与其他模块的依赖关系 看门狗接口是 ECU 抽象层的一部分。它允许上层(特别是看门狗管理器)统一访问一个或多个看门狗驱动。因此,看门狗接口的实现依赖于下层看门狗驱动的数量。 ### 5.1 文件结构 #### 5.1.1 代码文件结构 有关详细信息,请参阅 `SWS_BSWGeneral` 第 5.1.6 节"Code file structure"。 #### 5.1.2 版本检查 有关详细信息,请参阅 `SWS_BSWGeneral` 第 5.1.8 节"Version Check"。 --- ## 6 需求可追溯性 > **翻译说明**:本节包含一个大型参考表,将 SRS 需求映射到 SWS 需求。下表列出代表性映射条目;完整表(包含约 70+ 项映射)请参见原文 PDF 第 11-16 页。 | 需求 | 描述 | 由以下需求满足 | |---|---|---| | `SRS_BSW_00005` | 微控制器抽象层(MCAL)的模块不得有硬编码的水平接口 | `SWS_WdgIf_00999` | | `SRS_BSW_00007` | 用 C 语言编写的所有基础软件模块应符合 MISRA C 2012 标准 | `SWS_WdgIf_00999` | | `SRS_BSW_00009` | 所有基础软件模块应按照通用标准进行文档化 | `SWS_WdgIf_00999` | | `SRS_BSW_00010` | 应为所有支持平台上定义的配置文档化所有基础软件模块的内存消耗 | `SWS_WdgIf_00999` | | `SRS_BSW_00101` | 基础软件模块应能在单独的初始化函数中初始化变量和硬件 | `SWS_WdgIf_00999` | | `SRS_BSW_00159` | AUTOSAR 基础软件的所有模块应支持基于工具的配置 | `SWS_WdgIf_00999` | | `SRS_BSW_00161` | AUTOSAR 基础软件应提供微控制器抽象层 | `SWS_WdgIf_00999` | | `SRS_BSW_00162` | AUTOSAR 基础软件应提供硬件抽象层 | `SWS_WdgIf_00999` | | `SRS_BSW_00164` | 中断服务例程的实现应由操作系统、复杂驱动或模块完成 | `SWS_WdgIf_00999` | | `SRS_BSW_00168` | SW 组件应由基础软件中通用 API 中定义的函数进行测试 | `SWS_WdgIf_00999` | | `SRS_BSW_00300` | 所有 AUTOSAR 基础软件模块应由明确的名称标识 | `SWS_WdgIf_00999` | | `SRS_BSW_00301` | 所有 AUTOSAR 基础软件模块应仅导入必要的信息 | `SWS_WdgIf_00041` | | `SRS_BSW_00304` | 所有 AUTOSAR 基础软件模块应使用标准数据类型而非原生 C 数据类型 | `SWS_WdgIf_00013`、`SWS_WdgIf_00030`、`SWS_WdgIf_00999` | | `SRS_BSW_00323` | 所有 AUTOSAR 基础软件模块应检查传入的 API 参数的有效性 | `SWS_WdgIf_00028` | | `SRS_BSW_00337` | 开发错误的分类 | `SWS_WdgIf_00006` | | `SRS_BSW_00357` | 对于 API 调用的成功 / 失败,应定义标准返回类型 | `SWS_WdgIf_00046` | | `SRS_BSW_00369` | 所有 AUTOSAR 基础软件模块不应通过 API 返回特定的开发错误代码 | `SWS_WdgIf_00058` | | `SRS_BSW_00384` | 基础软件模块规范应至少在描述中指定它们需要哪些其他模块 | `SWS_WdgIf_00047`、`SWS_WdgIf_00048` | | `SRS_BSW_00414` | 初始化函数应将指向配置结构的指针作为单一参数 | `SWS_WdgIf_00006`、`SWS_WdgIf_00999` | | `SRS_BSW_00450` | 未初始化模块的 Main 函数应立即返回 | `SWS_WdgIf_00999` | | `SRS_MemHwAb_14019` | 内存抽象接口应提供对底层内存抽象模块 API 服务的统一访问 | `SWS_WdgIf_00017`、`SWS_WdgIf_00026` | | `SRS_MemHwAb_14020` | 内存抽象接口应允许通过使用设备索引选择底层内存抽象模块 | `SWS_WdgIf_00018` | | `SRS_MemHwAb_14021` | 内存抽象接口应允许对底层内存抽象模块的数量进行预编译时间配置 | `SWS_WdgIf_00019`、`SWS_WdgIf_00020` | | `SRS_MemHwAb_14022` | 内存抽象接口应保留底层内存抽象模块的功能 | `SWS_WdgIf_00003` | | `SRS_MemHwAb_14023` | 内存抽象接口应仅检查接口本身内使用的参数 | `SWS_WdgIf_00028` | | `SRS_MemHwAb_14024` | 内存抽象接口应保留底层内存抽象模块及其 API 的时序行为 | `SWS_WdgIf_00003` | | `SRS_SPAL_12448` | 所有驱动模块在开发错误检测后应有特定的行为 | `SWS_WdgIf_00028` | | `SRS_Wdg_12018` | 看门狗驱动应提供用于选择看门狗模式的服务 | `SWS_WdgIf_00016`、`SWS_WdgIf_00042`、`SWS_WdgIf_00057`、`SWS_WdgIf_00061` | | `SRS_Wdg_12165` | 对于外部看门狗驱动,应适用与内部看门狗驱动相同的需求 | `SWS_WdgIf_00017`、`SWS_WdgIf_00026` | | `SRS_Wdg_12167` | 外部看门狗驱动应具有与内部看门狗驱动语义相同的 API | `SWS_WdgIf_00017`、`SWS_WdgIf_00026` | | `SRS_Wdg_13500` | 看门狗驱动应提供用于设置看门狗触发条件的服务 | `SWS_WdgIf_00044` | > **摘要标记**:完整表共约 70 行,涵盖 `SRS_BSW_00005` 至 `SRS_BSW_00450`、`SRS_MemHwAb_14019` 至 `SRS_MemHwAb_14024`、`SRS_SPAL_12448`、`SRS_Wdg_12018`、`SRS_Wdg_12165`、`SRS_Wdg_12167`、`SRS_Wdg_13500`、`SWS_BSW_00212` 等所有需求条目,详情见原文 PDF 第 11-16 页。 --- ## 7 功能规范 ### 7.1 通用行为 > **[SWS_WdgIf_00003]** ⌈看门狗接口不应为看门狗驱动添加功能。看门狗接口也不抽象看门狗属性,如 toggle 或 window 模式、超时周期等,也就是说它不隐藏底层看门狗驱动和看门狗硬件的任何特性。⌋ > (`SRS_MemHwAb_14022`、`SRS_MemHwAb_14024`) ### 7.2 错误分类 #### 7.2.1 开发错误 > **[SWS_WdgIf_00006]** ⌈开发错误类型 > > | 错误类型 | 相关错误代码 | 值 [十六进制] | > |---|---|---| > | 使用错误的设备索引参数调用 API 服务 | `WDGIF_E_PARAM_DEVICE` | `0x01` | > | 参数列表中的无效指针 | `WDGIF_E_INV_POINTER` | `0x02` | > | NULL 指针检查 | `WDGIF_E_PARAM_POINTER` | `0x03` | > ⌋ > (`SRS_BSW_00337`、`SRS_BSW_00385`、`SRS_BSW_00386`、`SRS_BSW_00327`、`SRS_BSW_00414`、`SWS_BSW_00212`) > **[SWS_WdgIf_00030]** ⌈开发错误值的类型为 `uint8`。⌋ > (`SRS_BSW_00304`) > **[SWS_WdgIf_00028]** ⌈如果配置了多个看门狗驱动并且为此模块启用了开发错误检测,则应在模块的服务中检查参数 `DeviceIndex` 是否是模块内的现有设备。检测到的错误应使用错误代码 `WDGIF_E_PARAM_DEVICE` 报告给默认错误跟踪器(DET),且不应执行调用的服务。如果被调用的函数有返回值,则应将此值设置为 `E_NOT_OK`。⌋ > (`SRS_BSW_00323`、`SRS_SPAL_12448`、`SRS_MemHwAb_14023`) #### 7.2.2 运行时错误 无运行时错误。 #### 7.2.3 瞬态错误 无瞬态错误。 #### 7.2.4 生产错误 无生产错误。 #### 7.2.5 扩展生产错误 无扩展生产错误。 --- ## 8 API 规范 ### 8.1 导入的类型 本章列出从以下模块包含的所有类型: > **[SWS_WdgIf_00041]** ⌈ > > | 模块 | 头文件 | 导入的类型 | > |---|---|---| > | Std_Types | `StandardTypes.h` | `Std_ReturnType` | > | | `StandardTypes.h` | `Std_VersionInfoType` | > ⌋ > (`SRS_BSW_00301`) ### 8.2 类型定义 **注意**:看门狗接口的实现者不得为特定的看门狗设备或平台更改或扩展看门狗接口的类型定义。 #### 8.2.1 `WdgIf_ModeType` > **[SWS_WdgIf_00061]** ⌈ > > | 字段 | 内容 | > |---|---| > | **名称** | `WdgIf_ModeType` | > | **类型** | Enumeration(枚举) | > | **范围** | `WDGIF_OFF_MODE` —— 在此模式下,看门狗驱动被禁用(关闭)。
`WDGIF_SLOW_MODE` —— 在此模式下,看门狗驱动设置为长超时周期(慢速触发)。
`WDGIF_FAST_MODE` —— 在此模式下,看门狗驱动设置为短超时周期(快速触发)。 | > | **描述** | WdgIf 模块的模式类型 | > | **可用来源** | `WdgIf.h` | > ⌋ > (`SRS_Wdg_12018`) > **[SWS_WdgIf_00016]** ⌈`WdgIf_ModeType` 值应作为参数传递给看门狗驱动的模式切换函数(`Wdg_SetMode`)。⌋ > (`SRS_Wdg_12018`) **注意**:这些模式背后的硬件特定设置在看门狗驱动的配置集中给出。 ### 8.3 函数定义 > **[SWS_WdgIf_00017]** ⌈看门狗接口应将本章中指定的 API 映射到底层驱动的 API。有关功能行为,请参阅看门狗驱动的规范。⌋ > (`SRS_Wdg_12165`、`SRS_Wdg_12167`、`SRS_MemHwAb_14019`) > **[SWS_WdgIf_00018]** ⌈看门狗接口应使用参数 `DeviceIndex` 来选择看门狗驱动。如果仅配置了一个看门狗驱动,则应忽略参数 `DeviceIndex`。⌋ > (`SRS_MemHwAb_14020`) > **[SWS_WdgIf_00013]** ⌈看门狗设备索引的数据类型应为 `uint8`。`DeviceIndex` 应提供基于零的连续索引。⌋ > (`SRS_BSW_00304`) > **[SWS_WdgIf_00019]** ⌈如果仅配置了一个看门狗驱动,则看门狗接口在将看门狗接口 API 映射到相应看门狗驱动的 API 时不应产生运行时开销。⌋ > (`SRS_MemHwAb_14021`) **实现提示**:这可以通过使用宏来完成,例如: ```c #define WdgIf_SetMode(DeviceIndex, WdgMode) \ Wdg_SetMode(WdgMode) ``` > **[SWS_WdgIf_00020]** ⌈如果配置了多个看门狗驱动,则看门狗接口应使用有效的机制将 API 调用映射到适当的看门狗驱动。⌋ > (`SRS_MemHwAb_14021`) **实现提示**:一种解决方案是使用指向函数的指针表,其中参数 `DeviceIndex` 用作数组索引,例如: ```c #define WdgIf_SetMode(DeviceIndex, WdgMode) \ SetModeFctPtr[DeviceIndex](WdgMode) ``` **注意**:服务 ID 与看门狗驱动规范的服务 ID 相关(参见 [5])。因此,它们可能不从 0 开始。 #### 8.3.1 `WdgIf_SetMode` > **[SWS_WdgIf_00042]** ⌈ > > | 字段 | 内容 | > |---|---| > | **服务名称** | `WdgIf_SetMode` | > | **语法** | `Std_ReturnType WdgIf_SetMode(uint8 DeviceIndex, WdgIf_ModeType WdgMode)` | > | **服务 ID[十六进制]** | `0x01` | > | **同步 / 异步** | Synchronous(同步) | > | **可重入性** | Non Reentrant(不可重入) | > | **参数 (in)** | `DeviceIndex` —— 标识看门狗驱动实例。
`WdgMode` —— 看门狗驱动模式(参见看门狗驱动)。 | > | **参数 (inout)** | None | > | **参数 (out)** | None | > | **返回值** | `Std_ReturnType` —— -- | > | **描述** | 将 `WdgIf_SetMode` 服务映射到相应看门狗驱动的 `Wdg_SetMode` 服务。 | > | **可用来源** | `WdgIf.h` | > ⌋ > (`SRS_Wdg_12018`) > **[SWS_WdgIf_00057]** ⌈`WdgIf_SetMode` 应返回从相应看门狗驱动的 `Wdg_SetMode` 服务获得的值。⌋ > (`SRS_Wdg_12018`) 返回值的可能内容由看门狗驱动指定,参见 [5]。 #### 8.3.2 `WdgIf_SetTriggerCondition` > **[SWS_WdgIf_00044]** ⌈ > > | 字段 | 内容 | > |---|---| > | **服务名称** | `WdgIf_SetTriggerCondition` | > | **语法** | `void WdgIf_SetTriggerCondition(uint8 DeviceIndex, uint16 Timeout)` | > | **服务 ID[十六进制]** | `0x02` | > | **同步 / 异步** | Synchronous(同步) | > | **可重入性** | Non Reentrant(不可重入) | > | **参数 (in)** | `DeviceIndex` —— 标识看门狗驱动实例。
`Timeout` —— 用于设置触发计数器的超时值(毫秒)。 | > | **参数 (inout)** | None | > | **参数 (out)** | None | > | **返回值** | None | > | **描述** | 将 `WdgIf_SetTriggerCondition` 服务映射到相应看门狗驱动的 `Wdg_SetTriggerCondition` 服务。 | > | **可用来源** | `WdgIf.h` | > ⌋ > (`SRS_Wdg_13500`) #### 8.3.3 `WdgIf_GetVersionInfo` > **[SWS_WdgIf_00046]** ⌈ > > | 字段 | 内容 | > |---|---| > | **服务名称** | `WdgIf_GetVersionInfo` | > | **语法** | `void WdgIf_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)` | > | **服务 ID[十六进制]** | `0x03` | > | **同步 / 异步** | Synchronous(同步) | > | **可重入性** | Reentrant(可重入) | > | **参数 (in)** | None | > | **参数 (inout)** | None | > | **参数 (out)** | `VersionInfoPtr` —— 指向存储本模块版本信息的位置的指针。 | > | **返回值** | None | > | **描述** | 返回版本信息。 | > | **可用来源** | `WdgIf.h` | > ⌋ > (`SRS_BSW_00357`) > **[SWS_WdgIf_00058]** ⌈如果为看门狗接口模块启用开发错误检测,则 `WdgIf_GetVersionInfo` 函数应检查参数 `VersioninfoPtr` 是否为 NULL 指针(`NULL_PTR`)。如果 `VersioninfoPtr` 是 NULL 指针,则 `WdgIf_GetVersionInfo` 函数应引发开发错误 `WDGIF_E_INV_POINTER`(即无效指针)并返回。⌋ > (`SRS_BSW_00369`) ### 8.4 回调通知 本模块不提供任何回调函数。 ### 8.5 调度函数 本模块不需要任何调度函数。 ### 8.6 预期接口 本章列出了从其他模块所需的所有接口。 #### 8.6.1 强制接口 本章定义了实现模块核心功能所需的所有接口。 > **[SWS_WdgIf_00047]** ⌈ > > | API 函数 | 头文件 | 描述 | > |---|---|---| > | `Wdg_SetMode` | `Wdg.h` | 将看门狗切换到 `Mode` 模式。 | > | `Wdg_SetTriggerCondition` | `Wdg.h` | 设置触发计数器的超时值。 | > ⌋ > (`SRS_BSW_00384`) #### 8.6.2 可选接口 本章定义了实现模块可选功能所需的所有接口。 > **[SWS_WdgIf_00048]** ⌈ > > | API 函数 | 头文件 | 描述 | > |---|---|---| > | `Det_ReportError` | `Det.h` | 用于报告开发错误的服务。 | > ⌋ > (`SRS_BSW_00384`) #### 8.6.3 可配置接口 本模块没有可配置接口。 --- ## 9 序列图 请参阅看门狗驱动规范 [5]。 --- ## 10 配置规范 通常,本章定义配置参数及其到容器的聚类。为了支持规范,第 10.1 章描述了基本原理。它还指定了用于参数规范的模板(表)。我们打算将第 10.1 章保留在规范中以保证可理解性。 第 10.2 章规定了模块 WdgIf 的结构(容器)和参数。 第 10.3 章规定了模块 WdgIf 的发布信息。 ### 10.1 如何阅读本章 有关详细信息,请参阅 `SWS_BSWGeneral` 第 10.1 节"Introduction to configuration specification"。 ### 10.2 容器和配置参数 以下各章概述了所有配置参数。参数的详细含义在第 7 章和第 8 章中描述。 #### 10.2.1 `WdgIf` | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00033` | | **模块名称** | WdgIf | | **模块描述** | WdgIf(看门狗接口)模块的配置。 | | **后构建变体支持** | false | | **支持的配置变体** | `VARIANT-PRE-COMPILE` | **包含的容器**: | 容器名称 | 多重性 | 范围 / 依赖 | |---|---|---| | `WdgIfDevice` | 1..* | 在连接了多个看门狗驱动的情况下,它包含用于选择特定看门狗设备的信息。 | | `WdgIfGeneral` | 1 | 此容器收集所有通用看门狗接口参数。 | #### 10.2.2 `WdgIfGeneral` | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00001` | | **容器名称** | `WdgIfGeneral` | | **描述** | 此容器收集所有通用看门狗接口参数。 | **配置参数**: | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00005` | | **名称** | `WdgIfDevErrorDetect` | | **父容器** | `WdgIfGeneral` | | **描述** | 启用或关闭开发错误检测和通知。
• true:启用检测和通知。
• false:禁用检测和通知。 | | **多重性** | 1 | | **类型** | `EcucBooleanParamDef` | | **默认值** | false | | **后构建变体值** | false | | **值配置类** | 预编译时间:X —— 所有变体 | | **范围 / 依赖** | 范围:local | | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00003` | | **名称** | `WdgIfVersionInfoApi` | | **父容器** | `WdgIfGeneral` | | **描述** | 预处理器开关,用于启用 / 禁用返回版本信息的服务。
true:启用版本信息服务
false:禁用版本信息服务 | | **多重性** | 1 | | **类型** | `EcucBooleanParamDef` | | **默认值** | false | | **后构建变体值** | false | | **值配置类** | 预编译时间:X —— 所有变体 | | **范围 / 依赖** | 范围:local | 无包含的容器。 #### 10.2.3 `WdgIfDevice` | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00002` | | **容器名称** | `WdgIfDevice` | | **描述** | 在连接了多个看门狗驱动的情况下,它包含用于选择特定看门狗设备的信息。 | **配置参数**: | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00006` | | **名称** | `WdgIfDeviceIndex` | | **父容器** | `WdgIfDevice` | | **描述** | 表示看门狗接口 ID,以便看门狗管理器可以引用它。 | | **多重性** | 1 | | **类型** | `EcucIntegerParamDef`(为此参数生成的符号名称) | | **范围** | 0 .. 255 | | **默认值** | -- | | **后构建变体值** | false | | **值配置类** | 预编译时间:X —— 所有变体 | | **范围 / 依赖** | 范围:ECU | | 字段 | 内容 | |---|---| | **SWS Item** | `ECUC_WdgIf_00007` | | **名称** | `WdgIfDriverRef` | | **父容器** | `WdgIfDevice` | | **描述** | 对由看门狗接口控制的看门狗驱动的引用。 | | **多重性** | 1 | | **类型** | 对 `[ WdgGeneral ]` 的符号名称引用 | | **后构建变体值** | false | | **值配置类** | 预编译时间:X —— 所有变体 | | **范围 / 依赖** | 范围:local | 无包含的容器。 ### 10.3 发布参数 有关详细信息,请参阅 `SWS_BSWGeneral` 第 10.3 节"Published Information"。 --- ## 11 不适用的需求 > **[SWS_WdgIf_00999]** ⌈这些需求不适用于本规范。⌋ > (`SRS_BSW_00344`、`SRS_BSW_00404`、`SRS_BSW_00405`、`SRS_BSW_00159`、`SRS_BSW_00170`、`SRS_BSW_00380`、`SRS_BSW_00419`、`SRS_BSW_00412`、`SRS_BSW_00383`、`SRS_BSW_00398`、`SRS_BSW_00399`、`SRS_BSW_00400`、`SRS_BSW_00438`、`SRS_BSW_00375`、`SRS_BSW_00101`、`SRS_BSW_00416`、`SRS_BSW_00406`、`SRS_BSW_00437`、`SRS_BSW_00168`、`SRS_BSW_00423`、`SRS_BSW_00424`、`SRS_BSW_00425`、`SRS_BSW_00426`、`SRS_BSW_00427`、`SRS_BSW_00428`、`SRS_BSW_00429`、`SRS_BSW_00432`、`SRS_BSW_00433`、`SRS_BSW_00450`、`SRS_BSW_00336`、`SRS_BSW_00339`、`SRS_BSW_00422`、`SRS_BSW_00417`、`SRS_BSW_00161`、`SRS_BSW_00162`、`SRS_BSW_00005`、`SRS_BSW_00415`、`SRS_BSW_00164`、`SRS_BSW_00325`、`SRS_BSW_00342`、`SRS_BSW_00343`、`SRS_BSW_00007`、`SRS_BSW_00300`、`SRS_BSW_00413`、`SRS_BSW_00347`、`SRS_BSW_00441`、`SRS_BSW_00307`、`SRS_BSW_00373`、`SRS_BSW_00335`、`SRS_BSW_00314`、`SRS_BSW_00447`、`SRS_BSW_00328`、`SRS_BSW_00312`、`SRS_BSW_00439`、`SRS_BSW_00449`、`SRS_BSW_00377`、`SRS_BSW_00304`、`SRS_BSW_00378`、`SRS_BSW_00306`、`SRS_BSW_00308`、`SRS_BSW_00309`、`SRS_BSW_00371`、`SRS_BSW_00358`、`SRS_BSW_00414`、`SRS_BSW_00359`、`SRS_BSW_00360`、`SRS_BSW_00440`、`SRS_BSW_00330`、`SRS_BSW_00331`、`SRS_BSW_00009`、`SRS_BSW_00401`、`SRS_BSW_00010`、`SRS_BSW_00333`、`SRS_BSW_00321`、`SRS_BSW_00334`) --- ## 翻译说明 - **翻译完整性**:本文档为 AUTOSAR 看门狗接口规范(SWS)的中文翻译版本,完整翻译了 1-11 章全部内容。 - **保留的英文术语**:所有 API 标识符(`WdgIf_SetMode`、`WdgIf_SetTriggerCondition`、`WdgIf_GetVersionInfo`、`Wdg_SetMode`、`WdgIf_ModeType` 等)、错误代码(`WDGIF_E_PARAM_DEVICE`、`WDGIF_E_INV_POINTER`、`WDGIF_E_PARAM_POINTER`)、模块缩写(Wdg、WdgIf、WdgM、Std_Types、DET)、需求 ID(`SWS_WdgIf_xxxxx`、`SRS_Wdg_xxxxx`、`SRS_BSW_xxxxx`、`SRS_MemHwAb_xxxxx`、`SRS_SPAL_xxxxx`、`ECUC_WdgIf_xxxxx`、`SWS_BSW_xxxxx`)、AUTOSAR 方框符 `⌈⌋` 均按要求保留为英文。 - **省略的内容**:免责声明(Disclaimer)按要求未翻译。 - **摘要标记**:第 6 章需求可追溯性表中包含约 70 行映射,本翻译列出代表性条目;完整表请参见原文 PDF 第 11-16 页。 - **关键概念**:`WdgIf_ModeType` 枚举值(`WDGIF_OFF_MODE`、`WDGIF_SLOW_MODE`、`WDGIF_FAST_MODE`)用于看门狗模式切换。