AUTOSAR 标准错误描述(Description of the AUTOSAR standard errors)

📄 文档 ID:377 🏷 类型:EXP(说明文档) 📅 版本:AUTOSAR CP 4.4.0 📑 页数:79 📌 状态:Final 🔗 原 PDF:AUTOSAR_EXP_ErrorDescription.pdf

目录

1 目的(Purpose)

本文档的目的:

本文档面向 BSW 模块开发者和应用/SW-C 开发者。

本文档描述了 AUTOSAR 基础软件处理的所有现有错误,以及架构根据 FDIR(故障、检测、隔离与恢复)过程对这些错误的反应方式。

本文档还描述了每种现有错误处理机制对已识别失效模式的覆盖。假设失效模式是与硬件相关的随机失效。用于检测这些硬件失效的软件机制也可能检测出 SW(设计)故障。这些机制被映射到失效模式列表,并评估其在检测和恢复程度方面的效果。

限制:目前,本文档的范围仅限于 CAN 通信栈内存栈

本文档仅为描述性,不包含需求。基础软件模块的功能和需求在相应的规范文档中规定。

本文档仅描述 AUTOSAR 架构中包含的标准错误。可以因特定实现和/或特定硬件特性添加特定错误。

2 与其他文档的关系(Relation to other documents)

本文档与 AUTOSAR 发布的许多其他文档相关。本文档的目的不是替代其他文档,而是提供 BSW 中错误处理的完整视图。因此本文档与其他文档之间存在相当数量的重叠。注意:本文档仅为描述性,不包含需求

3 文档导读(Guide to the document)

以下章节的内容摘要:

对于每个错误:

说明
检测(Detection)描述模块如何检测或被通知此错误情况
反应(Reaction)指示模块的内部反应(如内部状态变化)
报告(Report)指示如何将错误通知给栈中的其他模块或 AUTOSAR 基础架构
恢复(Recovery)指示如何/是否由模块恢复或缓解错误

4 通用机制(Generic Mechanisms)

4.1 上报给 DEM(诊断事件管理器)(Report to the Diagnostic Event Manager (DEM))

4.1.1 概要(Summary)

DEM(Diagnostic Event Manager)是 AUTOSAR 中集中管理生产错误和扩展生产错误的 BSW 模块。所有 BSW 模块和 SW-C 都应通过 DEM 上报此类错误。

4.1.2 模块的角色(Roles of the modules)

在错误处理过程中,各模块的角色:

5 通信相关错误(Communication related errors)

5.1 概述(Overview)

5.1.1 错误处理机制(Error handling mechanisms)

CAN 通信栈的错误处理机制包括:

5.1.2 CAN 栈的错误列表(Error list for CAN stack)

本章详细描述的 CAN 通信错误包括:

5.1.3 EH 机制到硬件失效模式的映射(Mappings of EH mechanisms to hardware failure modes)

每种错误处理机制对硬件失效模式的覆盖情况详见原文 5.1.3 节表格。

5.2 通信信道丢失(Loss of communication channel)

5.2.1 CAN Bus Off

错误描述:当 CAN 控制器检测到过多的发送错误(通常为 255 个 TEC)时,控制器进入 Bus Off 状态,停止参与总线通信。

说明
检测CAN 控制器硬件检测 TEC 计数达到 255,触发 Bus Off 状态。
反应CAN 驱动器(CanDrv)进入 Bus Off 状态,停止发送;CanIf 通知 CanSM。
报告CanSM 上报 Bus Off 状态至 ComM 和 BswM;CanDrv 上报 CAN_E_BUSOFF 至 Dem。
恢复等待恢复时间后,CanDrv 尝试重新初始化 CAN 控制器(通常 250ms);成功后恢复正常通信;失败后由 CanSM 决定是继续重试还是切到 No Communication 状态。

5.2.2 CAN 控制器硬件超时(CAN Controller Hardware Timeout)

错误描述:当 CAN 控制器长时间不响应CPU 的访问时发生硬件超时。

说明
检测CanDrv 通过超时机制(轮询或中断)检测控制器不响应。
反应CanDrv 报告错误,禁用 CAN 控制器。
报告CanDrv 上报 CAN_E_TIMEOUT 至 Dem。
恢复EcuM 重启 CAN 控制器或整个 ECU。

5.3 信号错误(Signal error)

5.3.1 CAN 发送缓冲区满(CAN Transmission buffer full)

错误描述:当所有 CAN 发送硬件缓冲区(Mailbox)都被占用时,新请求无法入队。

说明
检测CanDrv 尝试入队发送请求时无可用 Mailbox。
反应CanDrv 返回 CAN_BUSY 给调用者(CanIf)。
报告可选地上报至 Dem。
恢复调用者根据上层策略决定:重试、丢弃、或触发应用层错误处理。

5.3.2 CAN 接收 DLC 错误(CAN Reception DLC error)

错误描述:接收到的 PDU 的 DLC 与配置值不匹配。

说明
检测CanIf 比较接收的 DLC 与配置值。
反应可选地拒绝该 PDU 或按配置的 DLC 处理。
报告上报 CAN_E_DLC_ERROR 至 Dem。
恢复无自动恢复;可通过配置或应用层处理。

5.3.3 COM RX 截止期监控(COM RX Deadline Monitoring)

错误描述:未在配置的截止期内接收到预期的信号。

说明
检测COM 模块维护每个 RX 信号的接收时间戳,超时则触发监控。
反应COM 标记信号为 EXPIRED 状态。
报告可选地上报 COM_E_MONITORING 至 Dem。
恢复应用层读取信号时检查 EXPIRED 状态;下次成功接收自动清除。

5.3.4 COM TX 截止期监控(COM TX Deadline Monitoring)

错误描述:信号未在配置的截止期内成功发送。

说明
检测COM 模块维护每个 TX 信号的发送时间戳,超时则触发监控。
反应COM 记录超时;可选地触发应用通知。
报告可选地上报至 Dem。
恢复下次成功发送自动清除。

5.3.5 CAN TP 发送错误(CAN Transport Protocol error during transmission)

错误描述:多帧(TP)数据传输过程中发生协议错误。

说明
检测CanTp 检测超时、流控制(FC)错误、序列号错误等。
反应CanTp 终止传输并释放资源。
报告上报 CANTP_E_* 至 Dem;通知 PduR。
恢复调用者(上层)根据应用策略决定重试或取消。

5.3.6 CAN TP 接收错误(CAN Transport Protocol error during reception)

错误描述:多帧(TP)数据接收过程中发生协议错误。

说明
检测CanTp 检测超时、CF 序列错误等。
反应CanTp 终止接收并释放缓冲区。
报告上报 CANTP_E_* 至 Dem。
恢复调用者根据应用策略决定。

5.3.7 CAN NM TX 截止期监控(CANNM TX Deadline Monitoring)

错误描述:NM(网络管理)消息未在截止期内成功发送。

说明
检测CanNm 检测 NM 消息发送超时。
反应CanNm 通知应用层 NM 状态变化。
报告上报 CANNM_E_* 至 Dem。
恢复CanNm 切换到错误状态或重试。

5.3.8 PDU 复制错误(PDU replication error)

错误描述:同一 PDU 在传输层被复制(duplicate)。

说明
检测接收端通过 PDU 计数器或 E2E 机制检测复制。
反应接收端丢弃重复 PDU。
报告通过 E2E 库上报。
恢复无自动恢复;可通过重传请求恢复。

5.3.9 PDU 计数器错误(PDU counter error)

错误描述:PDU 计数器的值与预期不连续(丢失、乱序)。

说明
检测接收端通过 PDU 计数器检测丢失或乱序。
反应接收端标记 PDU 序列错误。
报告通过 E2E 库上报。
恢复无自动恢复;可能需要应用层重传。

5.3.10 客户端/服务器超时(Client / Server timeout)

错误描述:客户端调用服务器操作,在截止期内未收到响应。

说明
检测RTE 维护调用的超时计时。
反应RTE 返回 RTE_E_TIMEOUT 给调用者。
报告可选地上报至 Det。
恢复调用者根据应用策略决定重试或处理错误。

6 NVRAM 相关错误(NVRAM related errors)

6.1 概述(Overview)

6.1.1 错误处理机制(Error handling mechanisms)

NVRAM 栈的错误处理机制包括:

6.1.2 NVRAM 栈的错误列表(Error list for NVRAM stack)

本章详细描述的 NVRAM 错误包括:

6.1.3 EH 机制到 NVRAM 硬件失效模式的映射(Mappings of EH mechanisms to NVRAM hardware failure modes)

每种错误处理机制对 NVRAM 硬件失效模式的覆盖情况详见原文 6.1.3 节表格。

6.2 驱动级错误(Driver level errors)

6.2.1 Flash 写操作错误(Flash write job error)

错误描述:Flash 写操作因硬件错误(如电压异常、坏块)失败。

说明
检测Flash 驱动(Fls)检测硬件错误状态寄存器。
反应Fls 返回 MEMIF_JOB_FAILED,终止当前写操作。
报告上报 FLS_E_WRITE_FAILED 至 Dem。
恢复Fee/EA 检查坏块状态;标记坏块;重试其他块或块组。

6.2.2 Flash 擦除操作错误(Flash erase job error)

错误描述:Flash 擦除操作失败。

说明
检测Fls 检测擦除错误状态。
反应Fls 返回 MEMIF_JOB_FAILED
报告上报 FLS_E_ERASE_FAILED 至 Dem。
恢复标记坏块;切换到备份扇区(若配置)。

6.2.3 Flash 读操作错误(Flash read job error)

错误描述:Flash 读取失败。

说明
检测Fls 检测读取错误或返回非法值。
反应Fls 返回 MEMIF_JOB_FAILED
报告上报 FLS_E_READ_FAILED 至 Dem。
恢复从冗余副本恢复;否则数据丢失。

6.2.4 Flash 比较操作错误(Flash compare job error)

错误描述:Flash 比较结果不匹配。

说明
检测Fls 在写入后比较,发现数据不一致。
反应Fls 返回 MEMIF_JOB_FAILED
报告上报 FLS_E_COMPARE_FAILED 至 Dem。
恢复重写或标记坏块。

6.2.5 外部 Flash 硬件 ID 不匹配(External Flash Hardware ID Mismatch)

错误描述:外部 Flash 的硬件 ID 与配置不一致。

说明
检测Fls 初始化时读取 JEDEC ID,与配置比较。
反应Fls 初始化失败。
报告上报 FLS_E_HW_ID_MISMATCH 至 Dem。
恢复EcuM 决定是否使用默认配置或停用 NVRAM 服务。

6.2.6 EEPROM 写操作错误(EEPROM write job error)

错误描述:EEPROM 写操作失败。

说明
检测Eep 检测硬件错误状态。
反应Eep 返回 MEMIF_JOB_FAILED
报告上报 EEP_E_WRITE_FAILED 至 Dem。
恢复重试或上报应用层。

6.2.7 EEPROM 擦除操作错误(EEPROM erase job error)

错误描述:EEPROM 擦除操作失败。

说明
检测Eep 检测擦除错误状态。
反应Eep 返回 MEMIF_JOB_FAILED
报告上报 EEP_E_ERASE_FAILED 至 Dem。
恢复应用层处理。

6.2.8 EEPROM 读操作错误(EEPROM read job error)

错误描述:EEPROM 读取失败。

说明
检测Eep 检测读取错误或异常值。
反应Eep 返回 MEMIF_JOB_FAILED
报告上报 EEP_E_READ_FAILED 至 Dem。
恢复从冗余副本恢复。

6.2.9 EEPROM 比较操作错误(EEPROM compare job error)

错误描述:EEPROM 比较结果不匹配。

说明
检测Eep 在写入后比较,发现数据不一致。
反应Eep 返回 MEMIF_JOB_FAILED
报告上报 EEP_E_COMPARE_FAILED 至 Dem。
恢复重写或上报。

6.3 EEPROM 抽象/Flash 仿真级错误(EEPROM Abstraction / Flash Emulation level errors)

6.3.1 FEE 一致性检查错误(FEE consistency check error)

错误描述:FEE(Flash EEPROM Emulation)的一致性检查失败,Flash 中的数据可能损坏。

说明
检测Fee 启动时遍历所有块,检查其一致性。
反应Fee 标记不一致的块;返回 MEMIF_JOB_FAILED
报告上报 FEE_E_INCONSISTENT_BLOCK 至 Dem。
恢复NvM 决定使用默认值、备份副本或标记块无效。

6.3.2 EA 一致性检查错误(EA consistency check error)

错误描述:EA(EEPROM Abstraction)的一致性检查失败。

说明
检测Ea 启动时检查数据布局。
反应Ea 标记不一致的块。
报告上报 EA_E_INCONSISTENT_BLOCK 至 Dem。
恢复NvM 使用默认值或备份。

6.4 NVRAM 管理器级错误(NVRAM manager level errors)

6.4.1 NVM CRC 检查(NVM CRC check)

错误描述:NvM 块读取时 CRC 校验失败。

说明
检测NvM 比较存储的 CRC 与计算的 CRC。
反应NvM 设置 NVM_REQ_INTEGRITY_FAILED 状态。
报告上报 NVM_E_INTEGRITY_FAILED 至 Dem。
恢复从冗余块恢复;使用默认值;标记块无效。

6.4.2 NVM 写验证错误(NVM write verification error)

错误描述:NvM 写入后验证失败。

说明
检测NvM 在写操作后比较数据。
反应NvM 标记写失败。
报告上报 NVM_E_VERIFY_FAILED 至 Dem。
恢复重写或标记块无效。

6.4.3 静态块检查错误(Static block check error)

错误描述:静态块(写一次,多次读)的检查失败。

说明
检测NvM 在启动时验证静态块的一致性。
反应NvM 设置 NVM_REQ_STATIC_BLOCK_CHECK_FAILED
报告上报 NVM_E_STATIC_BLOCK_CHECK_FAILED 至 Dem。
恢复从冗余副本恢复;标记块错误。

6.4.4 冗余丢失(Loss of redundancy)

错误描述:NVRAM 块的冗余副本丢失。

说明
检测NvM 在启动时检测冗余副本数量。
反应NvM 设置 NVM_REQ_REDUNDANCY_LOST
报告上报 NVM_E_LOSS_OF_REDUNDANCY 至 Dem。
恢复应用层决定是否继续运行(已无冗余保护)。

6.4.5 NVM API 请求失败(NVM API request failure)

错误描述:NVM API 调用因内部状态错误而失败。

说明
检测NvM 检测参数无效、内部状态不一致等。
反应NvM 返回 E_NOT_OK
报告可选地上报至 Det。
恢复调用者根据错误原因处理。

📋 校对记录

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