1. RH850 CAN FD故障注入工程概述

在车载网络开发中,CAN FD(CAN with Flexible Data-rate)已经成为动力、底盘与域控制器之间高带宽通信的主力总线。RH850系列微控制器(如RH850/F1x、RH850/D1x、RH850/U2A等)内置了多路CAN FD控制器,广泛用于网关、域控制器和车身控制器。本课程的目标,是让读者能够在RH850平台上,围绕CAN FD通信链路,构建一套可复现、可观测、可判读的故障注入工程:既能主动制造总线级与节点级异常,又能通过示波器、CAN分析仪和控制器寄存器状态,判断故障是否被正确触发、被协议栈如何响应、以及系统是否进入预期的降级或恢复状态。

要理解“故障注入”在车载网络开发中的定位,需要先区分它与常规功能测试的差别。功能测试验证的是“正常输入下系统是否给出正确输出”;而故障注入验证的是“异常输入或异常物理条件下,系统是否仍然安全、可诊断、可恢复”。在ISO 26262与ISO 21434的语境下,故障注入是验证安全机制(如CAN FD的CRC校验、位填充监测、超时监测、Bus-Off恢复、错误计数器管理)是否有效的关键手段。它通常出现在三个位置:一是ECU软件在环(SIL)阶段,用虚拟CAN通道注入协议错误;二是硬件在环(HIL)阶段,用真实CAN FD控制器与故障注入板卡制造电气与协议异常;三是台架与实车阶段,用可控短路、可控干扰或错误帧注入验证网络鲁棒性。RH850工程主要覆盖后两者,尤其是HIL与台架场景。

RH850微控制器与CAN FD协议栈存在若干工程约束,这些约束直接决定故障注入的可行边界。第一,RH850的CAN FD控制器(如RSCAN-FD、RCAN-FD等模块)通常提供多路通道,每路有独立的TX/RX引脚、位时序寄存器、错误计数器和FIFO。故障注入必须明确作用在哪一路通道、哪一段位时序、哪一个错误计数器上,否则现象无法归因。第二,CAN FD的仲裁段与数据段使用不同的位速率,仲裁段通常为500 kbit/s,数据段可达2 Mbit/s甚至5 Mbit/s。故障注入若发生在数据段,其时间窗口只有微秒级,对注入设备的时序精度要求远高于经典CAN。第三,RH850的CAN FD模块支持多种工作模式(正常、监听、回环、睡眠),故障注入前必须确认控制器处于可观测且可恢复的模式,避免注入后无法通过软件复位恢复。第四,协议栈层面(如AUTOSAR CanIf、CanTp、CanSM)对错误有分级处理,注入的故障可能被底层控制器吸收,也可能上报到网络管理,工程上需要同时观察寄存器层与协议栈层。

RH850 CAN FD 故障注入工程的三层作用域 物理层注入 • CAN_H / CAN_L 对地短路 • 差分线串入电阻 / 断路 • 共模干扰叠加 • 终端电阻切除 观测:眼图、位宽、幅值 判据:TEC/REC 是否增长 协议层注入 • 错误帧强制注入 • CRC 篡改 / 位填充违规 • 帧格式错误(DLC 异常) • 仲裁段/数据段速率切换点偏移 观测:错误帧计数、状态寄存器 判据:是否进入 Error Passive 节点/协议栈注入 • 报文丢失 / 延迟 • 信号值越界 / 冻结 • Bus-Off 后恢复时序 • CanIf / CanSM 状态跳转 观测:协议栈日志、DTC 判据:降级/恢复是否符合设计 RH850 CAN FD 控制器观测面 位时序寄存器 (BTRP/BTRL) 错误计数器 TEC / REC 状态寄存器 (EFLG / STR) FIFO / 中断标志 仲裁段 500 kbit/s,数据段 2 Mbit/s(示例) 注入窗口:数据段仅数微秒 工程约束与判读原则 ① 明确通道与位段:仲裁段 / 数据段 / ACK 段 ② 注入前确认控制器可恢复模式 ③ 同时观察寄存器层与协议栈层 ④ 记录 TEC/REC 变化作为归因依据

上图把故障注入的作用域分为物理层、协议层和节点/协议栈层,并标出RH850 CAN FD控制器上真正可观测的寄存器面。实际工程中,一次有效的故障注入实验,必须同时回答三个问题:注入了什么、控制器看到了什么、协议栈做了什么。只观察“总线报错”而不看TEC/REC,往往无法区分是物理层干扰还是协议层错误;只看协议栈日志而不看寄存器,又无法判断错误是否被底层正确捕获。

下面给出一个可直接参考的故障注入实验记录表,用于在RH850台架上执行单次注入并留痕。表中参数为教学示例,实际值需按项目DBC与控制器配置调整。

字段 示例值 说明
注入通道CAN FD Channel 0RH850 RSCAN-FD 第0路
仲裁段速率500 kbit/s采样点 80%
数据段速率2 Mbit/s采样点 75%
注入类型数据段位翻转在 CRC 前插入错误位
注入时刻帧起始后 18 μs数据段内
注入前 TEC/REC0 / 0Error Active
注入后 TEC/REC8 / 1示例观测值
控制器状态Error Active → Error Passive需查 EFLG 寄存器
协议栈响应CanIf 上报 BusOff 预警示例日志
恢复方式软件复位 + 128×11 隐性位Bus-Off 恢复序列

需要特别强调的是,RH850的CAN FD控制器在数据段速率较高时,错误帧的注入窗口极窄。以2 Mbit/s为例,一个位时间仅500 ns,若注入设备的时间抖动超过100 ns,就可能把错误注入到相邻位,导致归因困难。因此工程上通常先用较低数据段速率(如1 Mbit/s)建立可复现的注入基线,再逐步提升到目标速率。同时,RH850的端口复用与引脚驱动能力也会影响物理层注入结果,例如CAN收发器的环路延迟和对称性会改变差分信号的眼图,这些都需要在实验记录中标注。

本课程后续章节将围绕“注入—观测—判读—恢复”的闭环展开,但每一节的具体对象、参数和判据会随主题变化。本节只需建立三个基本认知:故障注入是安全验证手段而非破坏手段;RH850 CAN FD的寄存器面是归因的核心依据;数据段高速率决定了注入时序必须精确可控。

最后,从工程管理角度,故障注入实验必须可复现、可追溯。建议每次注入前保存控制器配置(位时序、滤波器、FIFO分配),注入中记录时间戳与原始报文,注入后保存寄存器快照与协议栈日志。只有这样,当出现“注入后网络未按预期降级”或“Bus-Off恢复时间超标”时,才能快速定位是注入设备问题、控制器配置问题,还是协议栈实现问题。RH850平台的优势在于其CAN FD模块提供了较完整的错误状态可见性,工程上应充分利用这一特性,把“看不见的故障”转化为“可读的寄存器变化”。