1. AURIX通信架构总览

在开始任何故障注入实验之前,必须先建立一张清晰的“通信地图”:哪些模块负责产生和搬运数据,哪些模块负责校验与保护,哪些节点一旦被干扰就会引发连锁反应。英飞凌AURIX(以TC3xx系列为例)的通信体系并不是简单的“CPU加几个外设”,而是由TriCore内核、系统外设总线、多路CAN/CAN-FD、LIN、FlexRay、以太网以及HSM共同构成的分层结构。理解这张结构图,决定了后续故障注入时“往哪里打、打什么、看什么”。

一、从内核到总线的分层结构

TriCore内核是AURIX的计算核心,通常包含多个核(如TC3xx的6核配置),每个核拥有独立的程序与数据访问路径。内核并不直接连接CAN收发器,而是通过系统总线矩阵(SRI)和外围总线(SPB)访问外设。SRI负责高带宽、低延迟的核间与内存访问,SPB则承载CAN、LIN、FlexRay、以太网等通信外设的寄存器访问。故障注入时,如果目标是“通信控制器行为”,操作点通常落在外设寄存器或报文RAM;如果目标是“内核响应”,则需关注中断控制器(IR)与DMA路径。

这里有一个关键区分:通信外设的故障注入与内核的故障注入是两条不同的路径。前者影响报文收发、位定时、错误帧;后者影响协议栈处理、超时判断、状态机迁移。AURIX的多核架构允许将通信任务分配到特定核,例如将CAN中断绑定到CPU0,将诊断任务绑定到CPU1,这样在注入时可以通过核间干扰观察任务隔离效果。

二、CAN/CAN-FD:最常用的注入目标

CAN/CAN-FD是AURIX上最典型的通信接口。TC3xx通常集成多个CAN节点(如CAN0~CAN3),每个节点支持CAN-FD,具备独立的报文RAM和过滤器。在故障注入中,CAN的价值在于其非破坏性仲裁与错误帧机制:你可以通过强制显性位、篡改CRC、制造位填充错误等方式,观察节点是否进入错误被动(Error Passive)或总线关闭(Bus Off)状态。

一个典型的注入场景是:在CAN-FD数据段注入位翻转。由于CAN-FD的数据段速率可达2~5 Mbps,位时间极短,注入需要与位定时同步。AURIX的CAN模块提供Loopback模式和Listen-Only模式,前者用于自测,后者用于在不干扰总线的情况下监听。实际工程中,常通过外部干扰设备(如CANoe配合VT系统)在总线侧注入,或通过AURIX内部的报文RAM篡改实现“节点内注入”。

三、LIN、FlexRay与以太网的角色差异

LIN是低速单线总线,通常用于车身控制,速率最高20 kbps。它的故障注入重点在于主节点调度表被破坏、从节点响应超时或校验和错误。由于LIN的容错机制较弱,注入后更容易观察到通信中断,适合做“故障传播”教学。

FlexRay是时间触发总线,具有静态段和动态段。AURIX的FlexRay模块支持双通道冗余。故障注入时,可以针对时隙(slot)注入、通道干扰或同步帧丢失。FlexRay的故障表现与CAN不同:它不会自动重传,而是依赖周期调度,因此注入后更容易看到“周期抖动”或“通信静默”。

以太网在AURIX中通常用于诊断、标定或高速数据回传。TC3xx支持千兆以太网和TSN(时间敏感网络)。故障注入可以针对MAC层、PHY层或VLAN标签。以太网的注入更接近“数据包级”,适合模拟丢包、延迟、乱序等场景。

四、HSM:安全与故障注入的交叉点

HSM(Hardware Security Module)是AURIX中独立的安全子系统,拥有自己的内核、存储和通信接口。它负责密钥管理、安全启动、加密通信。在故障注入中,HSM的角色比较特殊:它既是保护对象,也可能是注入的“观察者”。例如,当CAN报文被篡改时,HSM可以验证MAC(消息认证码),如果验证失败,会触发安全事件。因此,HSM的注入实验通常围绕“绕过验证”或“触发安全响应”展开。

需要注意的是,HSM与主核之间的通信通过专用邮箱(Mailbox)进行,注入时如果干扰邮箱,可能导致安全任务超时或状态不一致。这部分内容在后续章节会详细展开。

五、故障注入视角下的架构关系图

下图将上述模块组织为一张“注入路径与观察点”关系图。图中左侧是注入源(外部干扰、内部寄存器篡改、软件注入),中间是AURIX通信架构的分层结构,右侧是故障表现与观察点。箭头表示影响方向,颜色区分不同总线类型。

AURIX通信架构与故障注入路径关系图 注入源 外部总线干扰 (CAN/LIN/FlexRay) 寄存器篡改 (报文RAM/位定时) 软件注入 (协议栈/中断) HSM邮箱干扰 (安全任务) 以太网包注入 (丢包/延迟) AURIX TC3xx 通信架构 TriCore 多核内核 CPU0 / CPU1 / CPU2 … + 中断控制器 IR + DMA 系统总线矩阵 SRI + 外设总线 SPB CAN CAN-FD 多节点 LIN 单线 低速 FlexRay 双通道 时间触发 以太网 TSN 千兆 HSM 安全子系统 独立内核 + 密钥存储 + 安全邮箱 + 加密引擎 收发器 / PHY / 总线接口 CAN收发器 · LIN收发器 · FlexRay收发器 · 以太网PHY 故障表现与观察点 错误帧 / 错误计数器 Bus Off / Error Passive 通信超时 / 静默 周期抖动 / 丢帧 中断延迟 / 任务阻塞 核间通信异常 安全事件触发 MAC验证失败 数据包丢失 / 乱序 延迟增加 外部干扰 寄存器篡改 软件注入 HSM邮箱 以太网包 影响方向

六、如何用这张图指导注入实验

假设你要验证“CAN-FD数据段位翻转对节点状态的影响”,可以按以下思路定位:注入源选择“外部总线干扰”或“寄存器篡改”,目标模块是CAN节点,观察点关注错误计数器和Bus Off状态。如果你要验证“HSM对篡改报文的响应”,则注入源选择“软件注入”或“邮箱干扰”,目标模块是HSM,观察点是安全事件触发和MAC验证失败。

再举一个参数化的例子:在TC3xx上,CAN节点的错误计数器(TEC/REC)阈值分别为128(Error Passive)和256(Bus Off)。假设你通过外部干扰在100 ms内注入了30个错误帧,TEC会从0逐步增加到30。如果继续注入,当TEC超过128时,节点进入Error Passive;超过256时,进入Bus Off。这个过程中,你可以通过读取CAN节点的错误状态寄存器(如CAN_ESR)来观察变化。注意,这里的数值是示例性假设,实际阈值和计数行为需参考具体型号的用户手册。

教学提示:故障注入不是“随便打”,而是“有目标地打”。先明确你要观察的是通信控制器、内核任务还是安全模块,再选择注入源和观察点。AURIX的分层架构让这种定位成为可能,但也要求你熟悉每一层的接口和寄存器。

最后需要强调:HSM在故障注入中的角色是双重的。它既可以被注入(如邮箱干扰),也可以作为观察者(如验证失败触发安全事件)。在实际工程中,建议先在不涉及HSM的通信路径上完成基础注入实验,再逐步引入HSM,避免安全机制干扰对通信故障的判断。