2. AURIX芯片架构与可靠性特性

AURIX 是英飞凌面向汽车电子控制单元(ECU)的 32 位微控制器家族,其可靠性设计并非某一项功能的孤立堆叠,而是由 TriCore 多核架构、锁步核、内存保护单元(MPU)、安全机制(Safety Mechanisms)共同构成的分层防护体系。理解这些机制之间的分工与配合,是进行车规硬件可靠性设计的前提。

TriCore 多核架构:性能与冗余的物理基础

TriCore 是 AURIX 的核心处理器内核,它将 RISC 指令集、微控制器能力和 DSP 功能集成于同一内核,兼顾实时控制与信号处理。以 TC3xx 系列为例,芯片内部通常集成多个 TriCore 内核,例如 TC39x 最多包含 6 个内核,其中部分内核可配置为锁步对(Lockstep Core Pair)。多核架构的意义不仅是算力提升,更在于它提供了“功能核 + 监控核”的物理载体:一个内核执行应用逻辑,另一个内核以相同输入同步执行并比对结果,从而在硬件层面实现冗余。

多核之间通过 SRI(Shared Resource Interconnect)总线矩阵、SPB(System Peripheral Bus)以及交叉开关互联,访问 Flash、SRAM、外设等共享资源。这种拓扑决定了故障传播路径:若某内核或总线出现瞬态错误,可能影响其他内核的数据一致性。因此,多核架构本身既是性能基础,也是可靠性设计需要重点约束的对象。

锁步核:瞬态故障的在线检测

锁步核(Lockstep Core)是 AURIX 可靠性设计的核心机制之一。其基本结构是:主核(Master Core)与校验核(Checker Core)接收相同的时钟、相同的输入,并同步执行相同指令;比较逻辑在每个时钟周期或指令边界比对两者的输出。若结果不一致,锁步比较器立即产生错误信号,触发安全响应。

锁步核主要针对瞬态故障(如宇宙射线引起的位翻转、电源噪声导致的逻辑错误)。它不能纠正错误,但能检测错误,并将系统导向安全状态。在可靠性设计中,锁步核的配置需要关注:锁步对的使能方式、比较延迟、错误注入测试接口,以及错误发生后是复位、中断还是进入安全模式。这些策略直接决定了 ECU 能否满足 ISO 26262 中 ASIL D 级别的诊断覆盖率要求。

AURIX 可靠性分层防护体系 第一层:TriCore 多核架构(性能与冗余载体) CPU0 主核 CPU1 主核 CPU2 主核 CPU3 主核 第二层:锁步核(瞬态故障在线检测) 主核 Master 校验核 Checker 比较器 错误信号 第三层:内存保护单元 MPU(空间隔离与访问控制) 代码段只读保护 数据段读写权限 外设寄存器隔离 越权触发 Trap 第四层:安全机制 SMU / ECC / 看门狗(故障响应与恢复) SMU 安全管理单元 ECC 纠错码 看门狗 WDT 时钟/电压监控

内存保护单元:空间隔离与访问控制

内存保护单元(MPU)在 AURIX 中负责将物理内存划分为多个受保护区域,并为每个区域设定访问权限(读、写、执行)以及允许访问的主核。其核心作用是防止软件缺陷或瞬态错误导致越权访问:例如,应用代码意外写入标定数据区、某个内核越界访问另一内核的栈空间,MPU 都会在访问发生的瞬间触发保护异常(Trap),而不是等到数据被破坏后才被发现。

在可靠性设计中,MPU 的配置需要与软件分区策略一致。典型做法是将安全相关任务与非安全任务分配到不同的内存区域,并限制非安全任务对安全区域的写权限。这样即使非安全任务跑飞,也不会污染安全关键数据。MPU 的粒度、区域数量和权限组合是选型与配置时需要核对的参数。

安全机制与可靠性设计的关系

AURIX 的安全机制并非单一模块,而是一组协同工作的硬件功能,包括安全管理单元(SMU)、ECC 纠错码、看门狗、时钟与电压监控等。它们与前述三层的关系可以这样理解:多核架构提供冗余载体,锁步核检测瞬态故障,MPU 限制故障影响范围,而安全机制负责在故障被检测到之后执行响应——报警、降级、复位或进入安全状态。

以 SMU 为例,它汇集来自锁步比较器、ECC、MPU、时钟监控等模块的错误信号,按照预定义的严重等级触发不同响应。ECC 则对 Flash 和 SRAM 中的数据进行纠错:单比特错误可自动纠正,双比特错误上报给 SMU。看门狗监控程序执行流是否按时“喂狗”,防止程序卡死或跑飞。这些机制共同决定了系统的诊断覆盖率(DC)和失效模式覆盖,是达成 ASIL 等级目标的关键证据。

可靠性设计中的实际配置要点

在实际项目中,上述机制需要落到具体配置。以下是一组示例性的检查项,用于说明设计时需要确认的内容(参数为教学示例,实际值需以具体型号手册为准):

机制 关键配置项 示例值/说明 验证方式
锁步核 锁步对使能、比较延迟 CPU0+CPU1 组成锁步对,延迟 2 周期 错误注入,观察 SMU 报警
MPU 区域基址、权限、主核归属 安全区仅 CPU0 可写,CPU1 只读 越权访问触发 Trap
ECC 使能范围、单/双比特响应 SRAM 全使能,双比特上报 SMU 注入位翻转,检查纠错与上报
看门狗 超时窗口、喂狗方式 窗口 50 ms,需在窗口内喂狗 停止喂狗,确认复位
SMU 错误映射、响应等级 锁步错误→中断,ECC 双比特→复位 逐项触发,核对响应路径
锁步核、MPU、ECC、看门狗等机制在芯片内部是并行工作的,但它们的诊断覆盖范围不同。设计时应先做失效模式与影响分析(FMEA),明确每种失效由哪一层机制覆盖,再核对是否满足目标 ASIL 等级要求的诊断覆盖率,避免出现“有机制但覆盖不到”的盲区。

总体来看,AURIX 的可靠性特性是一条从“冗余执行”到“错误检测”再到“隔离限制”最后到“响应恢复”的完整链条。TriCore 多核架构是这条链条的物理基础,锁步核负责在线检测,MPU 负责空间隔离,安全机制负责响应与恢复。硬件可靠性设计的任务,就是让这四层在具体项目中正确配置、相互配合,并通过错误注入和诊断测试验证其有效性。