# AUTOSAR 启动和关闭硬件测试管理器规范与集成指南 (TR HWTestManagementIntegrationGuide) > **文档元信息** | 项目 | 内容 | |------|------| | 文档标题 | Specification and Integration of Hardware Test Management at start up and shutdown(启动和关闭硬件测试管理器规范与集成) | | 文档所有者 | AUTOSAR | | 文档责任方 | AUTOSAR | | 文档标识号 | 804 | | 文档状态 | Final(最终版) | | AUTOSAR 标准分类 | Classic Platform(经典平台) | | 标准发布版本 | 4.4.0 | | 原文文档号 | AUTOSAR_TR_HWTestManagementIntegrationGuide | --- ## 文档变更历史 | 日期 | 发布版本 | 变更人 | 变更说明 | |------|---------|--------|----------| | 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 次要更正 | | 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 编辑性修改 | | 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 初始发布 | --- ## 目录 - [1. 本文档范围](#1-本文档范围) - [2. 目标](#2-目标) - [3. 目标(Goal)](#3-目标goal) - [4. 动机](#4-动机) - [5. 用例](#5-用例) - [6. 约束和假设](#6-约束和假设) - [7. 缩略语和缩写](#7-缩略语和缩写) - [8. 相关文档](#8-相关文档) - [9. HTMSS AUTOSAR 集成方法](#9-htmss-autosar-集成方法) - [10. HTMSS 特性描述](#10-htmss-特性描述) - [11. AUTOSAR 架构解决方案](#11-autosar-架构解决方案) - [12. AUTOSAR SW 架构中的集成需求](#12-autosar-sw-架构中的集成需求) - [13. 对 AUTOSAR 性能和软件行为的影响](#13-对-autosar-性能和软件行为的影响) --- ## 免责声明 > 本节保留原文,不进行翻译。 --- ## 1. 本文档范围 本文档简要描述了标准 AUTOSAR 软件平台中的硬件测试管理概念集成。 它应作为想要遵循 AUTOSAR 方法和过程将硬件测试管理启动和关闭模块实现为 AUTOSAR BSW 模块的人员的用户指南。 HTMSS 模块本身的需求在 HTMSS SRS 和 SWS 文档中描述。 本文档的内容主要描述以下方面: - 在基于 AUTOSAR 的 ECU 中集成硬件特定测试的主要特性描述 - AUTOSAR 架构和解决方案中的影响 - AUTOSAR 中受影响模块的需求定义,以便将 HTMSS 集成到标准 AUTOSAR 软件序列中及其在 ECU 软件中的相应行为 ### 1.1 限制 无。 --- ## 2. 目标 每个 ECU 都设计为在给定的系统架构上下文中提供预定义功能。然后,重要的是此 ECU 无故障运行,这可以通过简单监控预期故障来避免或在故障出现之前检测到。监控 ECU 可操作性的一个策略是执行检查给定逻辑和条件的测试,并保留结果以供进一步分析。 HTMSS 概念描述了在 ECU 上处理此类测试结果并在请求时提供其状态的需求。 该测试和监控活动集合应提供对潜在故障的所需诊断覆盖范围,以满足 ISO26262 第 5 部分第 8 章对硬件架构度量的要求。 > **图 1:安全状态维护** > > 描述:测试和监控设施的目标是保证在预定义时间间隔内执行故障检测(图 1)。检测到故障后,通知负责的软件组件。该软件组件应采取必要的行动;应用反故障反应以维持安全状态 — 图 1。 本文档提供了一般的用例和需求,以在标准 AUTOSAR 环境中集成启动和关闭测试。 --- ## 3. 目标(Goal) 在 AUTOSAR 基础系统的开发过程中,应考虑将半导体制造商特定测试集成到标准 AUTOSAR 中的技术方法。 目标是使用微控制器特定测试包(可能是一个非 AUTOSAR 软件模块)标准化可访问的接口,并集成到 AUTOSAR 系统中,该系统配置测试、触发测试执行并收集测试结果。因此,此概念引入了一个名为 HTMSS 的 BSW 模块以实现其功能。 --- ## 4. 动机 HTMSS 概念的动机是支持系统对给定功能是否受信任的意识。例如,资源可用,在操作条件下,未检测到故障。即使检测到某些故障,系统仍可能能够执行某些活动并信任其结果。系统应如何对这些故障作出反应的确定性必须基于系统分析和建议实现。HTMSS 概念应提供支持以实现此意识。从多个测试收集结果可以提供有关系统中资源条件和方面的事实。 该概念应满足以下需求: - 应能在 AUTOSAR 之前运行测试。 - 应能在 AUTOSAR 启动和关闭时运行测试,并传播其结果。 - 测试结果应被传播以供后续分析。 --- ## 5. 用例 在安全关键系统的上下文中,潜在故障的诊断对于功能安全目标的实现至关重要。它需要并行于预期功能集成测试、其执行和结果传播。这意味着有必要在系统服务层中引入一个新组件,即一个名为硬件测试管理器(HTMSS)的基础软件模块。它实现测试和监控编排,并将结果传播给利益相关者软件组件 — 图 2。 > **图 2:硬件测试管理器 - 用例概念** > > 描述:用例图,描绘了 µC Safety Library(非 AUTOSAR)或 MSTP 与 HTMSS、Custom Integrator Code、HTM、RTE-Level interface、Safety SW-C 等组件的关系。 > > **注意**:诊断测试执行不应在 MCAL 的 Init() 函数内执行,而应在 Init() 函数执行之前执行。 > - 通过 MCAL 诊断接口或 µC 安全库支持。 硬件测试应与整体系统行为协调执行。它们不应负面影响预期功能。这就是需要精确选择它们需要执行的点的原因。通常,测试分为两个基本组: - **非破坏性测试** — 执行此类测试后,项目可以转移回其先前的状态(执行测试之前),无需完整的项目或系统重新初始化。 - **破坏性测试** — 执行此类测试后,项目无法回到已知的操作状态,除非对项目或整个系统应用严重的初始化过程。 需要考虑检测到的故障对系统的影响。一些故障(一般核心故障、RAM 测试故障),此处称为关键故障(图 2),使系统启动变得无意义。相反,MCU 可以保持在连续复位或另一种静默模式,其中禁止其启动。所有其他检测到的故障可由负责维护安全状态的相应应用软件组件识别。 --- ## 6. 约束和假设 HTMSS 目标是提供必要环境和基础设施,以收集和报告特定硬件模块或外围设备的操作状态。操作状态是这些硬件模块和外围设备上测试评估的结果。基本上,根据它们对系统/微控制器的影响 — 破坏性和非破坏性 — 在这些阶段执行两种类型的测试。该概念要求所使用的微控制器能够在破坏性测试执行期间在专用内存地址/寄存器中维护测试结果完整性。测试结果可由 HTMSS 访问。在硬件模块的严重故障(核心或 RAM/ROM 故障)的情况下,使用 MSTP 检测时,MSTP 可以决定不继续进行进一步的软件执行。在这种情况下,系统必须进入安全状态。连续复位被视为安全状态。MSTP 负责维护安全状态。MSTP 设计规范和实现由微控制器供应商提供。 计划在 AUTOSAR 初始化中执行的测试可以由微控制器供应商(微控制器特定测试)提供,也可以由系统集成商设计和实现(ECU 功能特定测试)。它们由 HTMSS 自身编排和评估。 --- ## 7. 缩略语和缩写 | 缩写 | 描述 | |------|------| | HTMSS | Hardware Tests Management Start up and Shutdown(启动和关闭硬件测试管理) | | DEM | Diagnostic Event Manager(诊断事件管理器) | | ECU | Electronic Control Unit(电子控制单元) | | BIST | Built-In Self Tests(内建自测试) | | CDD | Complex Device Driver(复杂设备驱动) | | MSTP | Microcontroller Specific Test Package(微控制器专用测试包) | --- ## 8. 相关文档 - [1] Specification of ECU State Manager, AUTOSAR_SWS_ECUStateManager.pdf - [2] Specification of MCU Driver, AUTOSAR_SWS_MCUDriver.pdf - [3] Specification of BSW Mode Manager, AUTOSAR_SWS_BSWModeManager.pdf - [4] Specification of Hardware test management start up and shutdown, AUTOSAR_SWS_HTMSS.pdf 在实现 HTMSS 和受影响模块中的相关扩展需求以实现 AUTOSAR 软件平台中的兼容性时,应考虑其他 AUTOSAR 通用规范。 --- ## 9. HTMSS AUTOSAR 集成方法 启动和关闭的硬件测试管理提出将微控制器特定测试包(MSTP)集成到 AUTOSAR 软件环境中,如下所示。通过在 BSW 服务层中引入一个名为 HTMSS 的新模块来管理标准 AUTOSAR 模块和 MSTP 之间的交互。HTMSS 的基本功能是: - 初始化 HTMSS 模块(如果需要,包括 MSTP 模块) - 基于 HTMSS 模块配置配置 MSTP 测试的接口 - 启动 MSTP 测试执行的接口 - 收集 MSTP 测试结果并将其提供给所需模块和应用 SWC 以评估结果并采取相关决策 为了完成功能集成,某些 AUTOSAR 标准模块需要扩展,特别是 ECU State manager UP 阶段和 DOWN 阶段。 以下各节将描述在 AUTOSAR 开发过程中需要考虑的需求,以实现 HTMSS 集成所提出的功能。 --- ## 10. HTMSS 特性描述 本节描述了硬件测试管理启动和关闭的主要特性,在 AUTOSAR 中集成。 ### [FS_HTMSS_00001] AUTOSAR 应提供标准化的安全机制以集成微控制器特定的硬件测试 ``` Type: Draft Description: AUTOSAR shall provide a mechanism for collecting the microcontroller specific tests executed during start up & shutdown phases, evaluate the test status and provide it to the stakeholder SW-C Rationale: A failure in the hardware test can lead to a safe state Use Case: e.g. Critical hardware resource test determines the health of the MCU Dependencies: None Supporting Material: None ``` --- ## 11. AUTOSAR 架构解决方案 启动和关闭的硬件测试管理的集成需要多个 BSW 模块的功能扩展,以及在 BSW 层内引入一个新模块 "HTMSS"。 新模块 HTMSS 应满足以下功能需求:它应与微控制器特定测试包(下文称为 MSTP)交互,收集 MSTP 测试结果并将结果提供给相关 BSW 模块和应用 SWC。HTMSS 和 MSTP 之间的接口应为供应商特定,可以通过 AUTOSAR 开发过程中实现的 MSTP wrapper 处理。 > **图 4:HTMSS 在 AUTOSAR 架构中的概述** > > 描述:架构图,展示了 HTMSS 模块与其他 BSW 模块(EcuM、BswM、MCU driver)以及 MSTP、Application SWC 的关系。 --- ## 12. AUTOSAR SW 架构中的集成需求 本节描述需要在受影响的标准 AUTOSAR 模块中实现的基本需求,以便将 HTMSS 模块和相应的微控制器特定测试包集成到 AUTOSAR 架构中。 在此上下文中受影响的 AUTOSAR 模块如下: - **ECU State Manager** — EcuM UP 和 DOWN 阶段的扩展 - **BSW Mode Manager** — 关闭目标的扩展 - **MCU driver** — 复位原因的扩展 ### 12.1 ECU 状态管理器 EcuM 模块需要按以下方式扩展以将 HTMSS 合并到 AUTOSAR 软件环境中: 需要扩展以满足以下建议的功能集成方法: - EcuM START UP 阶段应准备 HTMSS 和 MSTP 模块并执行启动测试执行。 - ECUM DOWN 阶段应在由 BswM 触发的关闭目标序列流中集成 HTMSS 关闭测试。 EcuM 的详细需求在以下各节中描述。 #### 12.1.1 一般需求 ##### [SWS_EcuM_04136_EXTENSION] EcuM_ShutdownTargetType 扩展 ``` The EcuM_ShutdownTargetType shall be extended with ECUM_SHUTDOWN_REST and ECUM_HWTEST_OFF to handle the reset caused by shutdown test execution. ``` ``` Name: EcuM_ShutdownTargetType Type: uint8 Range: ECUM_SHUTDOWN_TARGET_SLEEP 0x0 -- ECUM_SHUTDOWN_TARGET_RESET 0x1 -- ECUM_SHUTDOWN_TARGET_OFF 0x2 -- ECUM_SHUTDOWN_HWTEST_RESET 0x3 -- ECUM_SHUTDOWN_HWTEST_OFF 0x4 -- Description: -- ``` #### 12.1.2 在 EcuM START UP 阶段 ##### [SWS_EcuM_HTMSS_00001] HTMSS 模块初始化 ``` In the Init block 1, EcuM shall call HTMSS_Init() to initialise the HTMSS module. (Please refer to:HTMSS SWS Section 9.1.1) ``` ##### [SWS_EcuM_HTMSS_00002] 启动 MSTP 启动测试 ``` The ECU manager module shall call HTMSS_StartTest() to trigger the MSTP start up test execution based on Return value of Mcu_GetResetReason API (Please refer to:HTMSS SWS Section 9.1.2) ``` ##### [SWS_EcuM_HTMSS_00003] 收集 MSTP 测试结果 ``` The ECU manager module shall call HTMSS_GetTestStatus() to collect the MSTP start up test results or shutdown test results based on return value of Mcu_GetResetReason API (Please refer to:HTMSS SWS Section 9.1.2 and 9.1.5) ``` ##### [SWS_EcuM_HTMSS_00004] 启动测试错误钩子 ``` The ECU manager module shall call HTMSS_StartupTestErrorHook() in case the function HTMSS_GetTestStatus() returns HTMSS_STATUS_NOK (Please refer to:HTMSS SWS Section 9.1.2) ``` #### 12.1.3 在 EcuM SHUTDOWN 阶段 ##### [SWS_EcuM_HTMSS_00005] 触发 MSTP 关闭测试 ``` The ECU manager module shall call the HTMSS_StartTest service function to trigger the MSTP shutdown test execution based on EcuM_ShutdownTarget (Please refer to:HTMSS SWS section 9.1.3) ``` ##### [SWS_EcuM_HTMSS_00006] 收集关闭测试结果 ``` The ECU manager module shall call HTMSS_GetTestStatus() based on the Mcu_ResetType (Please refer to:HTMSS SWS Section 9.1.4.,9.1.5) ``` **提示**:通常关闭测试执行会导致硬件复位。在此复位之后,在 EcuM_Init 中,EcuM 将调用 Mcu_GetReason()。如果复位原因是 `MCU_HWTEST_RESET`,则 EcuM 应调用 `HTMSS_GetTestStatus()` 以收集关闭测试结果。 ##### [SWS_EcuM_HTMSS_00007] 关闭测试错误钩子 ``` The ECU manager module shall call HTMSS_ShutdownTestErrorHook() in case the function HTMSS_GetTestStatus() returns HTMSS_STATUS_NOK (Please refer to:HTMSS SWS Section 9.1.5) ``` #### 12.1.4 HTMSS 集成在 ECUM 中的示例序列图 下面的序列图应参考以将 HTMSS 集成到 EcuM UP 和 DOWN 阶段。 ##### [SWS_EcuM_HTMSS_00008] HTMSS 初始化函数集成 ``` Please refer to: AUTOSAR_SWS_HWTestManager, Chapter 9.1.1 for HTMSS init function integration in EcuM. ``` ##### [SWS_EcuM_HTMSS_00009] HTMSS 启动测试集成 ``` Please refer to: AUTOSAR_SWS_HWTestManager, Chapter 9.1.2 for HTMSS start up test integration in EcuM ``` ##### [SWS_EcuM_HTMSS_00010] HTMSS 关闭测试执行集成 ``` Please refer to: AUTOSAR_SWS_HWTestManager, Chapter 9.1.3 for HTMSS shutdown test execution integration in EcuM ``` ##### [SWS_EcuM_HTMSS_00011] 收集最后关闭测试结果 ``` Please refer to: AUTOSAR_SWS_HWTestManager, Chapter 9.1.4, and 9.1.5 to collect the last shutdown test results for application usage ``` ##### [SWS_EcuM_HTMSS_00012] 关闭测试执行集成 ``` Please refer to: AUTOSAR_SWS_HWTestManager, Chapter 9.1.6, to integrate the shutdown tests execution in the EcuM shutdown phase ``` ### 12.2 BSW 模式管理器 `BswMEcuMSelectShutdownTarget` 应扩展 `HWTEST_OFF` 和 `HWTEST_RESET` 以处理由关闭测试执行引起的复位。 ##### ECUC_BswM_00993_EXTENSION: BswMEcuMShutdownTarget 扩展 ``` SWS Item ECUC_BswM_00993_EXTENSION : Name BswMEcuMShutdownTarget Description This parameter contains the shutdown target that the BswM selects at the EcuM. Multiplicity 1 Type EcucEnumerationParamDef Range OFF -- RESET In case the configuration parameter BswMEcuMShutdownTarget is set to RESET the configuration parameter BswMEcuMResetModeRef shall exist and contain a valid reference to a EcuM reset mode. SLEEP In case the configuration parameter BswMEcuMShutdownTarget is set to SLEEP the configuration parameter BswMEcuMSleepModeRef shall exist and contain a valid reference to a EcuM sleep mode. HWTEST_OFF In case the configuration parameter BswMEcuMShutdownTarget is set to HWTEST_OFF the configuration parameter BswMEcuMSleepModeRef shall exist and contain a valid reference to an EcuM shutdown hardware test OFF mode. HWTEST_RESET In case the configuration parameter BswMEcuMShutdownTarget is set to HWTEST_RESET the configuration parameter BswMEcuMSleepModeRef shall exist and contain a valid reference to an EcuM shutdown hardware test RESET mode. ``` ### 12.3 MCU 驱动 ##### SWS_Mcu_00252_EXTENSION: Mcu_ResetType 扩展 ``` The Mcu_ResetType shall be extended with MCU_HWTEST_RESET to handle the reset caused by shutdown test execution. ``` ``` Name: Mcu_ResetType Type: Enumeration Range: MCU_POWER_ON_RESET Power On Reset (default) MCU_WATCHDOG_RESET Internal Watchdog Timer Reset MCU_SW_RESET Software Reset MCU_HWTEST_RESET Reset caused by shutdown tests MCU_RESET_UNDEFINED Reset is undefined Description: This is the type of the reset enumerator containing the subset of reset types. It is not required that all reset types are supported by hardware. ``` --- ## 13. 对 AUTOSAR 性能和软件行为的影响 将 HTMSS 集成到 AUTOSAR 中会对 ECU 中的 ECUM 启动和关闭行为产生影响。其后果将是: - 在相应 EcuM 阶段完成 HTMSS 功能所需的时间增加(例如更长的 EcuM 初始化阶段、更长的 EcuM 关闭阶段) - 在检测到关键故障(即当 MSTP 测试状态被判断为关键故障)时,ECU 启动序列可能被中止 因此,集成商可以自由决定 AUTOSAR 中 HTMSS 集成需求,该需求被提议为符合 AUTOSAR 软件环境的可选功能。 --- ## 翻译说明 - **文档类型**:AUTOSAR TR(Technical Report,技术报告) - **翻译策略**:本 TR 文档(15 页)规模较小,已进行完整翻译,包括 HTMSS 集成方法、需求扩展说明和架构图描述。 - **摘要标记位置**: - 文档较小,未使用"完整表见原文 PDF"摘要标记 - **保留内容**: - 需求 ID(如 `SWS_EcuM_HTMSS_00001`、`ECUC_BswM_00993_EXTENSION` 等) - AUTOSAR 方框符 `⌈⌋` - 所有 API 标识符(`HTMSS_Init`、`HTMSS_StartTest`、`HTMSS_GetTestStatus`、`HTMSS_StartupTestErrorHook`、`HTMSS_ShutdownTestErrorHook` 等) - 模块缩写(HTMSS、MSTP、EcuM、BswM、MCU、SWC、BSW) - 文档间交叉引用 - 配置参数名称(EcuM_ShutdownTargetType、BswMEcuMShutdownTarget、Mcu_ResetType) - **术语对照表**: - Hardware Test Management Start up and Shutdown (HTMSS) → 启动和关闭硬件测试管理 - Microcontroller Specific Test Package (MSTP) → 微控制器专用测试包 - Built-In Self Tests (BIST) → 内建自测试 - Safe State → 安全状态 - Critical Fault → 关键故障 - Continuous Reset → 连续复位 - Non-destructive Test → 非破坏性测试 - Destructive Test → 破坏性测试 - Hardware Reset → 硬件复位 - Power-On Reset → 上电复位 - Watchdog Reset → 看门狗复位 - Software Reset → 软件复位 - µC Safety Library → µC 安全库 - Diagnostic Test Execution → 诊断测试执行 - Test Result Propagation → 测试结果传播