ST SPC5 FCCU 与安全手册:MCU 功能安全的收集-反应-潜伏三层

功能安全L5别名 SPC5 FCCU · SPC574K72xx safety manual · Fault Collection and Control Unit · FOSU · ST 安全 MCU

本质与导读

本质 SPC574K72xx 是按 SEooC 开发的 delayed-lockstep ASIL D MCU,安全手册(AN4446)给的是 conditions of use——assumption 不满足,随附 FMEDA 即失效。功能安全靠 lockstep + FCCU/FOSU + STL/BIST 分工成立,而它们存在的唯一理由是把 failure indication time + 系统反应时间压进 FTTI(10ms)以内。

主线坐标:第 6 站 · 电机 + 控制采样 · ↑ 全景主线

1. 定位:delayed-lockstep ASIL D MCU(SEooC)

SPC574K72xx 是 e200z4 双核 delayed lockstep 32-bit MCU,按 ISO 26262 作 SEooC 开发(开发过程满足 ASIL D,可用于 ASIL A/B/C/D)。Mission profile:Lifetime 20 年 = 20000h active;trip time(driving cycle)12h;FTTI = PST = 10ms(保守);Tj 最高 165°C@200h。安全手册是给系统集成商的 assumptions of use 清单:外部须有 EXWD + 电源 LVD/HVD + 监控 failure 引脚的 ERRM 并能独立把系统拉入 safe state,凡不满足某条 assumption,SPC574K72xx 的 FMEDA 即失效(须自证等效或重算 SPFM/LFM)。

2. FCCU 架构

FCCU 是全片故障的收集与控制中枢。

SPC5 FCCU 架构:4 类 fault source(模块 failure 指示/FCCU 自监控/软件触发/外部 FI 引脚)→ 每 source 一个 channel(lockstep=#51)→ 可配反应(maskable IRQ / NMI / reset / 改 FI 引脚 / no reaction);FI[0/1] 三协议(dual-rail/time-switching/bi-stable);FOSU 独立监督 1000 IRCOSC 超时

4 类 fault source:① MCU 内各模块的 failure indication;② FCCU 自身监控的 control logic;③ 软件触发的 failure indication;④ 外部 failure 输入(经 FI[0])。各 source 对应一个 FCCU channel(lockstep = fault/alarm #51;DFT = channel 46–49)。

fault reaction(每 source 独立配):Maskable IRQ / NMI / Reset / 改 failure indication 引脚状态 / No reaction;另可在 error state 禁通信控制器发送。SW 从 FCCU_RF_S 读故障源(reset 前后均可)。failure indication 引脚 FI[0]/FI[1] 三协议:Dual rail / Time switching / Bi-stable(bi-stable 可只用一脚)。fault state machineCONFIG state:配置寄存器仅 CONFIG 态可写,退出 CONFIG 前必须清 pending fault。

FOSU(FCCU Output Supervision Unit)= 二级监督:独立第二路径,FCCU 在固定 1000 IRCOSC cycles(≈62.5µs) 内未对 enabled fault 反应 → FOSU 触发 reset。FOSU 无需 SW 配置;FCCU 处 CONFIG 态时 FOSU 不监控(CONFIG 是 FOSU 盲区,这正是"退 CONFIG 前必清 pending fault"是硬 assumption 的原因)。

3. failure indication time 预算

故障从发生到被指示出去的时间必须卡在 FTTI 内,AN4446 把它拆成三段:

SPC5 failure indication time 预算:recognition(各 SM 最大值,FMPLL loss-of-clock ≈20µs)+ internal processing(≤10 IRCOSC ≈625ns)+ indication(fast 64µs / slow ≈16.4ms / bi-stable 64µs);failure indication time + 系统反应 < FTTI 10ms;FOSU 1000 IRCOSC ≈62.5µs 兜底

indication time = recognition + internal processing + indication:recognition 取所有相关 SM 最大值(最长两个:FMPLL loss-of-clock ≈20µs;软件自检 diagnostic cycle time);internal processing ≤10 IRCOSC cycles(IRCOSC 16MHz → ≈625ns);indication 是 fast switching max 64µs / slow switching 取 error-out 周期(61Hz toggle → ≈16.4ms)/ bi-stable max 64µs。最小指示时间 Tmin = 250µs + DELTA_T(bi-stable 下 DELTA_T 可至 10ms)。约束:failure indication time + 系统反应时间 < FTTI(10ms)

4. 达 ASIL D 的三层配合

ASIL D 不是靠单点冗余,而是三层按"故障寿命"分工。先把"达 ASIL D"量化成硬指标——ISO 26262-5:2018 对硬件架构度量的 ASIL D 目标(Table 4/5/6):SPFM ≥ 99%(单点故障度量,撑它的是 lockstep 的运行期检出)、LFM ≥ 90%(潜伏故障度量,撑它的是 STL/BIST 在潜伏故障演化成 multiple-point fault 前把它查出)、PMHF < 10 FIT(随机硬件失效概率度量,即 < 1e-8/h)。三层正是分别把这三个数顶上去:

SPC5 达 ASIL D 三层:① lockstep(checker 延迟 2 拍比对,RCCU,抓运行期单点,撑 SPFM)② FCCU+FOSU(收集全片 fault → 统一反应,FOSU 二级监督)③ STL/BIST(LBIST 10 partition + MBIST + 在线自测,抓潜伏故障,撑 LFM,secondary goal 每 driving cycle 一次)

① Lockstep(检测层,撑 SPFM):checker core 输入延迟 2 个时钟周期,输出与 master 比较,由 RCCU 比对,差异交 FCCU。delayed(非 zero-delay)是抗共因:让同一时刻的 EMI/电压 glitch 对两核产生不同效果从而被捕获。② FCCU+FOSU(收集反应层):把全片 fault 汇聚成统一反应,FOSU 作 maker≠checker 的二级监督。STL/BIST(潜伏故障层,撑 LFM):STCU2 统管 LBIST(scan-based,逻辑 10 partition,MISR 签名)+ MBIST(测全部 RAM/ROM),boot 离线执行,POR/external/destructive reset 自动跑;对应 secondary goal(ASIL B,每 driving cycle 检一次任一 SM 是否永久不可用)。

选型含义:选 ASIL D MCU 不能只看"有没有 lockstep"——要看 STL 的 latent-fault 覆盖与诊断周期能否满足 LFM。SPFM 靠 lockstep,LFM 靠 STL,二者分工。

5. 其他关键安全机制

围绕三层的支撑机制(均有具体覆盖率/约束):ECC——Flash SEC/DED(2.5MB NVM),RAM 修正 Hamming(部分 RAM 把地址纳入 ECC 覆盖寻址故障),XBAR 用 E2E ECC,MEMU 收集报 FCCU;Flash 区分 multibit 靠 4 次读(单读 DC≈70% → 4 读 DC≈99%)。看门狗——内部 SWT(窗口<FTTI)+ 外部 EXWD(ASIL D 强制),EXWD 覆盖 MCU 完全失效的 CCF(含电源故障),且不可被 MCU reset 输出复位Clock monitor——CMU 由独立 16MHz IRCOSC 驱动(±6% post-trim),ASIL D 下强制。Voltage monitor——PMC 的 LVD/HVD 故障直接经 MC_RGM 异步 reset 进 safe state,比 FCCU 的 IRCOSC-clocked IRQ 路径快(防 brownout 来不及)。Reset escalation——FRET/DRET 双计数防 Reset–Start / Reset–Self-test–Reset 死循环。

reset 不算 safe stat…

reset 不算 safe state 连续 Reset–Start 或 Reset–Self-test–Reset 循环会给"制造该循环的故障"无限重试机会、削弱检出能力——"进 reset" 当安全反应而不防循环 = 系统级漏洞。ST 用 MC_RGM 的 FRET/DRET 双计数硬件兜底短循环,长循环须 SW 兜(清计数前先比对历史 FCCU 状态)。

核心要点

  • SPC574K72xx = Power Architecture delayed-lockstep ASIL D MCU(SEooC),FTTI=10ms,安全手册=assumptions of use
  • FCCU 收 4 类 fault source → 每 source 独立配反应(IRQ/NMI/reset/FI 引脚);FI 三协议(dual-rail/time-switching/bi-stable)
  • FOSU 二级监督:FCCU 1000 IRCOSC(≈62.5µs)未反应即触发 reset;CONFIG 态是 FOSU 盲区 → 退 CONFIG 前必清 pending fault
  • indication time = recognition + processing(≤625ns)+ indication(64µs/16.4ms)< FTTI 10ms
  • 三层达 ASIL D:lockstep(2 拍延迟比对,抗共因,撑 SPFM)/ FCCU+FOSU(收集反应)/ STL-BIST(LBIST 10 partition,抓潜伏,撑 LFM)
  • EXWD 是 ASIL D 强制(覆盖 MCU 完全失效 CCF,不可被 MCU reset 复位);电压监控走 MC_RGM 异步 reset(比 FCCU IRQ 快,防 brownout)
  • reset 不算 safe state:防 reset 循环(FRET/DRET 双计数)是易忽视的系统级陷阱
  • 经典反模式:FCCU→IRQ→reset→重配 INTC→同一 IRQ 又来 = cyclic reset;对策"配 INTC 前先清 FCCU pending fault"

缩写表

只列本页用到的工业标准缩写;通用英语…

只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的 层/Lx tag 不列。覆盖不到的术语见正文 inline 注释。

缩写全称中文 / 备注
STSTMicroelectronics意法半导体
MCUMicrocontroller Unit微控制器(本页多指车规多核 MCU)
ASILAutomotive Safety Integrity LevelISO 26262 安全完整性等级 QM→A→B→C→D
FTTIFault Tolerant Time Interval容错时间间隔
FMEDAFailure Modes, Effects and Diagnostic Analysis含诊断覆盖的 FMEA
SPFMSingle-Point Fault Metric单点失效度量
SMSafety Mechanism安全机制
LFMLatent Fault Metric潜伏故障度量
ISOInternational Organization for Standardization国际标准化组织
EMIElectromagnetic Interference电磁干扰
E2EEnd-to-End protection端到端通信保护 (AUTOSAR)
DCDiagnostic Coverage诊断覆盖率 (功能安全语境)
CCFCommon Cause Failure共因失效
TITexas Instruments德州仪器

Cross-references