2. ST Stellar多核硬件架构解析

要理解 ST Stellar 上的多核安全监控与故障恢复,必须先看清它“把哪些核、哪些存储、哪些外设放在什么位置,以及它们之间怎么连”。因为监控机制能否及时看到故障、恢复动作能否安全执行,本质上取决于硬件拓扑:谁和谁共享资源、谁有独立时钟与电源域、谁能在主核失效时继续运行。本节从内核集群、互连、存储层次、外设与安全岛五个层面,建立后续监控与恢复设计的硬件基础。

一、内核集群:异构多核的分工

ST Stellar 属于面向汽车域控制与高功能安全的车规级多核 MCU 系列,其典型架构是“应用核 + 实时核 + 安全核”的异构组合。以 Stellar 系列中常见的集成方式为例,芯片内部通常包含若干 Cortex-M 系列实时内核(如 M7 类高性能实时核)与 Cortex-R 系列锁步核(Lockstep,用于高完整性任务),部分型号还集成 Cortex-A 类应用核处理复杂算法与通信协议栈。这里需要强调一个关键概念:锁步核。锁步核内部实际有两条相同的流水线,对同一指令流同步执行,比较器逐周期比对输出;一旦不一致,立即产生故障信号。这意味着安全核本身具备自检能力,是安全岛与故障恢复逻辑的天然执行者。

从监控视角看,内核集群的分工决定了“谁监控谁”。通常由实时核承担周期性任务与传感器采集,应用核承担大数据量处理,安全核独立运行监控程序。安全核不参与主功能运算,因此当应用核或实时核跑飞、死锁或输出异常时,安全核仍能保持运行并触发恢复。这是多核安全监控区别于单核看门狗的根本优势。

二、互连结构:核间通信与故障隔离的边界

多核之间通过片上互连网络连接,典型形式包括总线矩阵(Bus Matrix)、交叉开关(Crossbar)以及面向安全通信的专用通道。互连决定了三件事:带宽、延迟和隔离。带宽影响核间数据搬运效率;延迟影响监控响应时间;隔离则决定一个核的异常是否会通过总线阻塞拖垮其他核。

在 Stellar 这类安全 MCU 中,互连通常按主/从端口划分,并配合 MPU(内存保护单元)或 XRDC 类外设,对每个主设备可访问的地址区间做权限约束。例如,可规定应用核只能写自己的数据区,不能写安全核的代码区;实时核可访问外设寄存器,但安全核的监控寄存器对其只读。这样,即使某个核被异常代码劫持,也无法篡改监控逻辑本身。互连层面的隔离,是故障恢复能够“可信执行”的前提。

三、存储层次:从 TCM 到外部存储的可靠性差异

Stellar 的存储层次大致可分为:内核紧耦合存储(TCM)、片上 SRAM、片上 Flash/嵌入式 NVM,以及通过外部总线接口扩展的片外存储。不同层次的访问速度、是否带 ECC、是否可被其他核访问,都不同。

TCM 通常与内核同频,延迟最低,适合存放实时核的关键代码与栈;片上 SRAM 容量更大,常带 ECC 保护,适合共享数据区;Flash 存放启动代码与标定数据,读取需经缓存与预取;片外存储容量大但可靠性依赖外部器件与接口。对安全监控而言,ECC 是可观测的故障来源:单比特错误可纠正并记录,双比特错误通常触发不可纠正故障,需要进入恢复流程。因此监控程序应定期读取 ECC 状态寄存器,区分“已纠正”和“未纠正”事件,并据此决定是记录还是复位。

ST Stellar 多核硬件架构与监控/恢复关系 内核集群 应用核(复杂算法/协议栈) 实时核(周期任务/采集) 安全核(锁步,独立监控) 片上互连 / 交叉开关 带宽 · 延迟 · 隔离 MPU / XRDC 权限约束 安全核专用通信通道 存储层次 TCM(低延迟,关键代码) 片上 SRAM(ECC 保护) Flash / NVM(启动与标定) 片外存储(外部总线扩展) 外设与接口 CAN / Ethernet / LIN ADC / PWM / 定时器 看门狗 / 时钟 / 复位 安全岛 独立时钟 / 电源域 故障采集与恢复逻辑 安全核 + 监控寄存器 监控与恢复动作 ECC 状态轮询 / 记录 核间心跳 / 超时判定 复位 / 降级 / 安全状态 安全核位于独立安全岛,通过互连隔离访问监控寄存器;存储 ECC 与外设状态是故障可观测性的主要来源

四、外设与安全岛:故障可观测性与恢复执行者

外设层是监控系统获取“外部世界状态”的入口。CAN、Ethernet、LIN 等通信外设可反映总线是否失联;ADC 反映传感器是否越界;定时器与看门狗反映任务是否按时执行。这些外设通常挂在互连的从端口上,由某个核负责初始化与读取。监控设计的关键是:不要让同一个核既执行主功能又独占故障观测。例如,实时核负责电机控制,同时读取电流 ADC;若实时核本身跑飞,ADC 数据就无人判读。因此更稳妥的做法是让安全核通过互连读取关键外设的状态寄存器或镜像数据,形成独立观测路径。

安全岛是 Stellar 架构中专门为功能安全设计的区域,通常包含独立时钟源、独立电源域、锁步安全核、专用监控寄存器与复位控制逻辑。它的核心价值在于“即使主域失效,安全岛仍能运行”。当安全核检测到应用核心跳超时、ECC 不可纠正错误或外设异常时,安全岛可执行分级恢复:先尝试局部复位故障核,若无效则触发系统级复位,或让系统进入安全状态(如关闭功率输出、保持通信告警)。

五、从硬件基础到监控恢复设计

把上述层次串起来,可以得到一条清晰的工程判断链:内核集群决定“谁监控谁”,互连决定“监控通道是否可信、是否隔离”,存储层次决定“故障能否被 ECC 观测”,外设决定“外部状态能否被采集”,安全岛决定“恢复动作能否在主域失效时仍被执行”。

下面给出一份可直接参考的硬件资源分配示例表,用于规划监控与恢复任务。表中参数为教学示例,实际项目需按具体型号数据手册与安全手册调整。

硬件资源 承担角色 监控/恢复用途 示例参数
安全核(锁步) 独立监控执行者 心跳判定、ECC 轮询、复位决策 监控周期 10 ms
实时核 主功能执行 周期任务、传感器采集 任务周期 1 ms
片上 SRAM(ECC) 共享数据区 单比特纠正记录、双比特触发恢复 ECC 状态每 10 ms 读取
看门狗 超时保护 任务未按时喂狗则复位 超时窗口 50 ms
安全岛复位控制 恢复执行 局部复位故障核或系统复位 分级:核复位 → 系统复位
设计提示:监控路径应尽量与主功能路径在互连和存储上隔离。若安全核读取外设状态必须经过与主核相同的总线通道,需评估该通道被异常主设备阻塞的风险,必要时使用安全岛专用通道或镜像寄存器。

理解这套硬件基础后,后续的监控机制设计就不再是“凭空加一个看门狗”,而是有明确落点:监控程序放在安全核,观测点放在 ECC 状态寄存器与外设状态寄存器,恢复动作通过安全岛复位控制执行,隔离边界由互连与 MPU/XRDC 保证。硬件拓扑决定了安全监控的上限,也决定了故障恢复能否真正可信地完成。