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控制器上真正可观测的寄存器面。实际工程中,一次有效的故障注入实验,必须同时回答三个问题:注入了什么、控制器看到了什么、协议栈做了什么。只观察“总线报错”而不看TEC/REC,往往无法区分是物理层干扰还是协议层错误;只看协议栈日志而不看寄存器,又无法判断错误是否被底层正确捕获。
下面给出一个可直接参考的故障注入实验记录表,用于在RH850台架上执行单次注入并留痕。表中参数为教学示例,实际值需按项目DBC与控制器配置调整。
| 字段 | 示例值 | 说明 |
|---|---|---|
| 注入通道 | CAN FD Channel 0 | RH850 RSCAN-FD 第0路 |
| 仲裁段速率 | 500 kbit/s | 采样点 80% |
| 数据段速率 | 2 Mbit/s | 采样点 75% |
| 注入类型 | 数据段位翻转 | 在 CRC 前插入错误位 |
| 注入时刻 | 帧起始后 18 μs | 数据段内 |
| 注入前 TEC/REC | 0 / 0 | Error Active |
| 注入后 TEC/REC | 8 / 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收发器的环路延迟和对称性会改变差分信号的眼图,这些都需要在实验记录中标注。
最后,从工程管理角度,故障注入实验必须可复现、可追溯。建议每次注入前保存控制器配置(位时序、滤波器、FIFO分配),注入中记录时间戳与原始报文,注入后保存寄存器快照与协议栈日志。只有这样,当出现“注入后网络未按预期降级”或“Bus-Off恢复时间超标”时,才能快速定位是注入设备问题、控制器配置问题,还是协议栈实现问题。RH850平台的优势在于其CAN FD模块提供了较完整的错误状态可见性,工程上应充分利用这一特性,把“看不见的故障”转化为“可读的寄存器变化”。