1. 课程导入

在工业控制、汽车电子、医疗设备、轨道交通与机器人系统中,功能安全的核心诉求并不是“永不出错”,而是“出错之后仍然安全”。安全状态机(Safety State Machine)与故障降级设计(Fault Degradation Design)正是把这一诉求落到可执行逻辑、可验证状态与可度量指标上的关键方法。本章作为全课程导入,先建立统一的概念坐标系,再给出学习目标、知识框架与工程价值判断标准。

一、核心定义:什么是安全状态机与故障降级

安全状态机是一种显式描述系统安全相关状态、迁移条件、迁移动作与安全约束的有限状态模型。它把“系统当前处于什么安全等级、允许执行哪些动作、在什么条件下必须切换”表达为可审查、可实现、可测试的状态迁移关系。与普通业务状态机不同,安全状态机的每个状态都必须绑定安全目标、故障假设与降级出口。

故障降级设计是指在检测到故障、异常或安全约束被破坏时,系统按照预设策略从高能力状态逐级退化为低风险状态,直至进入安全状态(Safe State)的设计过程。降级不是简单“停机”,而是有层次、有优先级、有恢复路径的风险收敛过程。

安全状态机的本质是“状态—迁移—约束”三元组;故障降级设计的本质是“检测—决策—降级—恢复”闭环。二者结合,才能把安全需求从文档转化为运行时行为。

二、整体知识框架:从需求到验证的六层结构

本课程的知识框架可划分为六个层次:安全需求与危害分析、安全状态建模、故障检测与诊断、降级策略与优先级、状态机实现与调度、验证与确认。下图给出各层之间的输入输出关系与工程对象,帮助你在后续章节中定位每个知识点所处的位置。

安全状态机与故障降级设计 · 六层知识框架 ① 安全需求与危害分析 HARA、ASIL/SIL、安全目标、故障假设、FMEA/FTA 输入 ② 安全状态建模 状态集合、迁移条件、安全约束、状态不变量、安全状态定义 ③ 故障检测与诊断 传感器合理性、心跳、看门狗、CRC、超时、故障计数器、诊断覆盖率 ④ 降级策略与优先级 降级等级、触发条件、优先级仲裁、恢复条件、最小风险状态 ⑤ 状态机实现与调度 状态表/状态图、事件队列、周期调度、原子迁移、可重入与并发保护 ⑥ 验证与确认 状态覆盖、迁移覆盖、故障注入、降级时间测量、安全状态可达性证明

三、方法流程:从故障发生到安全状态的四步闭环

工程上,故障降级通常遵循“检测—判定—降级—恢复”四步闭环。每一步都必须有明确的输入、输出与时间约束,否则状态机将退化为不可验证的“if-else 堆叠”。

  1. 检测:通过传感器冗余、心跳、看门狗、CRC、超时等机制发现异常,输出故障标志与置信度。
  2. 判定:根据故障类型、严重度与持续时间,判断是否满足降级触发条件,并进行优先级仲裁。
  3. 降级:执行状态迁移,关闭高风险功能、限制输出能力、切换至备用通道或进入安全状态。
  4. 恢复:在故障消失且满足恢复条件后,按预设路径逐级恢复,避免直接跳回高能力状态。
安全状态机迁移示例(伪代码)
state = NORMAL
on fault_detected(fault):
    if fault.severity == HIGH and fault.duration >= T_confirm:
        state = DEGRADED_L2
    elif fault.severity == MEDIUM:
        state = DEGRADED_L1
on state == DEGRADED_L2:
    disable_high_risk_actuator()
    enter_safe_state()
on fault_cleared and recovery_condition_met:
    state = DEGRADED_L1  # 逐级恢复,不直接回 NORMAL

四、案例场景:线控转向系统的降级路径

以线控转向系统为例,正常状态下方向盘与转向执行器通过电信号解耦控制。当转角传感器出现合理性故障时,系统不应立即失效,而应进入降级模式:限制转向角速度、降低助力增益、点亮告警,并请求驾驶员接管。若故障持续恶化,则进入最小风险状态,如保持当前转向角并缓慢减速。

状态 触发条件 系统行为 安全目标
NORMAL 无故障 全功能转向,正常助力 保持操控性
DEGRADED_L1 单传感器偏差 限制角速度,降增益,告警 可操控但降性能
DEGRADED_L2 双传感器失效 固定转向角,缓慢减速 避免失控
SAFE_STATE 严重故障持续 切断高风险输出,进入安全状态 人员与设备安全

五、常见误区与复盘要点

误区一:把“停机”等同于“安全状态”。实际上安全状态必须与具体危害对应,某些场景下突然停机反而更危险。
误区二:只设计降级,不设计恢复。缺少恢复路径会导致系统长期停留在低能力状态,可用性下降。
误区三:状态迁移条件模糊。使用“大约”“可能”等描述,导致实现与验证无法对齐。
误区四:忽略降级时间。安全状态必须在规定时间内可达,否则安全目标不成立。
复盘建议:每个安全状态都应回答四个问题——进入条件是什么?退出条件是什么?期间允许哪些动作?最坏情况下多久能到达安全状态?

六、工程价值与学习目标

掌握安全状态机与故障降级设计,能够带来三方面工程价值:第一,把安全需求转化为可执行、可测试的运行时逻辑;第二,在故障发生时以可控方式收敛风险,避免灾难性失效;第三,为功能安全认证提供状态覆盖、迁移覆盖与故障注入证据。

本课程学习目标如下:

  • 理解安全状态机、安全状态、故障降级、最小风险状态等核心概念。
  • 掌握从危害分析到状态建模、降级策略、实现与验证的完整流程。
  • 能够设计包含检测、判定、降级、恢复的安全状态迁移逻辑。
  • 能够使用状态覆盖、迁移覆盖与故障注入方法验证降级设计。
  • 能够识别并规避降级设计中的常见误区。