ST SPC5 FCCU 与安全手册:MCU 功能安全的收集-反应-潜伏三层
本质与导读
本质 SPC574K72xx 是按 SEooC 开发的 delayed-lockstep ASIL D MCU,安全手册(AN4446)给的是 conditions of use——assumption 不满足,随附 FMEDA 即失效。功能安全靠 lockstep + FCCU/FOSU + STL/BIST 分工成立,而它们存在的唯一理由是把 failure indication time + 系统反应时间压进 FTTI(10ms)以内。
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 是全片故障的收集与控制中枢。
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 machine 含 CONFIG 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 把它拆成三段:
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)。三层正是分别把这三个数顶上去:
① 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"
缩写表
只列本页用到的工业标准缩写;通用英语…
只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的
层/Lxtag 不列。覆盖不到的术语见正文 inline 注释。
| 缩写 | 全称 | 中文 / 备注 |
|---|---|---|
| ST | STMicroelectronics | 意法半导体 |
| MCU | Microcontroller Unit | 微控制器(本页多指车规多核 MCU) |
| ASIL | Automotive Safety Integrity Level | ISO 26262 安全完整性等级 QM→A→B→C→D |
| FTTI | Fault Tolerant Time Interval | 容错时间间隔 |
| FMEDA | Failure Modes, Effects and Diagnostic Analysis | 含诊断覆盖的 FMEA |
| SPFM | Single-Point Fault Metric | 单点失效度量 |
| SM | Safety Mechanism | 安全机制 |
| LFM | Latent Fault Metric | 潜伏故障度量 |
| ISO | International Organization for Standardization | 国际标准化组织 |
| EMI | Electromagnetic Interference | 电磁干扰 |
| E2E | End-to-End protection | 端到端通信保护 (AUTOSAR) |
| DC | Diagnostic Coverage | 诊断覆盖率 (功能安全语境) |
| CCF | Common Cause Failure | 共因失效 |
| TI | Texas Instruments | 德州仪器 |
Cross-references
- ← 索引
- 功能安全(Functional Safety):ASIL/SPFM/LFM/FTTI 总框架
- Lockstep 双核深度:delayed lockstep 与 RCCU 比对原理
- STL / BIST 运行时自测:LBIST/MBIST 与在线自测的通用原理
- 诊断覆盖率分类:SPFM/LFM 与 DC 的关系
- AURIX TC3xx ASIL D:Infineon 对偶 MCU FuSa 架构(横向对比)
- TI Hercules TMS570 ASIL D:TI lockstep MCU(横向对比)
- 安全机制目录:FCCU/lockstep/ECC/CMU 在 SM catalog 的位置