3. 故障与失效基础

在VCU(整车控制器)的故障降级与安全状态工程中,最容易被混淆的不是算法,而是术语。很多团队在评审会上争论“这是故障还是失效”“该不该进安全状态”,本质上是没有把故障、失效、错误、降级、安全状态这几个词放在同一条因果链上理解。本节先把术语钉死,再引出功能安全(FuSa)与预期功能安全(SOTIF)两条基本理念,为后续的故障诊断、降级策略和状态机设计打地基。

一、核心术语:一条从“原因”到“后果”的因果链

可以把这些术语理解为一条纵向的因果链:故障(Fault)是原因,错误(Error)是中间状态,失效(Failure)是结果。而降级(Degradation)和安全状态(Safe State)是系统对失效的响应方式。

  • 故障(Fault):系统内部或外部存在的异常条件或缺陷,是失效的潜在原因。例如:CAN收发器焊点虚焊、电机温度传感器漂移、软件中未初始化的指针。故障不一定立即导致功能异常,可能长期潜伏。
  • 错误(Error):故障被激活后,在系统内部表现出的不正确状态。例如:虚焊导致CAN报文CRC错误计数上升、传感器漂移导致采样值偏离真实值。错误是“故障已经起作用,但还没造成功能丧失”的中间态。
  • 失效(Failure):系统或部件丧失规定功能的表现。例如:VCU无法再接收电机转速、无法输出扭矩请求。失效是错误继续传播、超出容错边界后的结果。
  • 降级(Degradation):在检测到故障或错误后,系统主动降低功能等级以维持基本可用性。例如:限制最高车速、关闭空调、降低充电功率。
  • 安全状态(Safe State):系统进入的一种风险可接受的运行模式,通常表现为功能受限或停止,但不会对人员或车辆造成不可接受危害。例如:高压下电、扭矩归零、进入跛行模式。

一句话记忆:故障是“病根”,错误是“病症”,失效是“病倒”,降级是“带病工作”,安全状态是“卧床休养”。

二、术语关系图解

下图把上述术语放在同一条时间轴上,展示从故障潜伏、错误传播、失效发生,到降级与安全状态介入的完整路径。图中同时标出了功能安全与预期功能安全关注的边界。

故障 → 错误 → 失效 → 降级 / 安全状态 因果链 时间 故障 Fault 潜在缺陷 / 异常条件 如:虚焊、漂移、逻辑缺陷 错误 Error 内部不正确状态 如:CRC错误、采样偏差 失效 Failure 规定功能丧失 如:无法输出扭矩 降级 Degradation 主动降低功能等级 如:限速、限功率 安全状态 Safe State 风险可接受的模式 如:高压下电、跛行 功能安全 FuSa:关注由 E/E 系统故障引起的危害,目标是避免“故障→失效”路径。 预期功能安全 SOTIF:关注无故障时因性能局限或可预见误用导致的危害,目标是控制“功能不足”风险。

三、功能安全与预期功能安全的基本理念

理解了术语链,就能理解两大安全理念的分工。

功能安全(Functional Safety, FuSa)的核心问题是:当系统发生故障时,如何避免不可接受的风险?它假设危害来源于E/E系统的随机硬件失效或系统性失效。典型手段包括:安全机制(看门狗、双核锁步、CRC校验)、故障诊断与响应时间(FTTI)、安全状态设计、ASIL等级划分。在VCU中,功能安全体现为:检测到电机控制器通信丢失后,在标定的故障响应时间内将扭矩请求置零并断开高压。

预期功能安全(SOTIF, ISO 21448)的核心问题是:当系统没有故障,但功能性能不足或发生可预见误用时,如何避免危害?它假设危害来源于传感器局限、算法边界、场景理解不足或驾驶员误操作。典型手段包括:场景库覆盖、边界测试、功能限制策略、人机交互提示。在VCU中,SOTIF体现为:在低附着力路面,扭矩分配算法因传感器噪声而误判,导致车辆失稳——此时没有任何部件“坏”,但功能表现不足。

对比维度 功能安全 FuSa 预期功能安全 SOTIF
危害来源 E/E系统故障、随机失效 性能局限、可预见误用
核心问题 故障时如何避免危害 无故障时如何避免危害
典型标准 ISO 26262 ISO 21448
VCU场景 CAN通信丢失→扭矩归零 低附路面扭矩分配误判→限扭
关键输出 安全目标、ASIL、FTTI 场景覆盖、边界策略、HMI提示

四、案例场景:VCU通信故障的完整链路

以“VCU与电机控制器CAN通信中断”为例,走一遍术语链:

  1. 故障:CAN总线终端电阻虚焊,或线束磨损导致间歇性短路。
  2. 错误:VCU接收到的电机报文超时,错误计数器递增,诊断模块记录U0100。
  3. 失效:超过故障确认时间后,VCU判定电机控制器通信失效,无法获取转速和扭矩反馈。
  4. 降级:VCU进入降级模式,限制电机扭矩至安全阈值,禁止能量回收,点亮故障灯。
  5. 安全状态:若降级后仍无法恢复,VCU在标定时间内请求扭矩归零、断开高压接触器,车辆进入跛行或停车状态。

工程提示:降级与安全状态不是二选一,而是分级响应。通常先降级、再安全状态,中间设置多个阈值和确认时间,避免误触发导致车辆突然失去动力。

五、常见误区与复盘

  • 误区一:把故障等同于失效。故障是原因,失效是结果。诊断到故障不等于功能已经丧失,但必须评估其传播路径。
  • 误区二:认为降级就是安全状态。降级是“带病工作”,安全状态是“风险可接受”。降级失败后必须能进入安全状态。
  • 误区三:只做FuSa,忽略SOTIF。很多实车问题没有故障码,却表现为功能异常,属于SOTIF范畴,需要场景库和边界测试覆盖。
  • 误区四:安全状态定义模糊。“进入安全状态”必须明确:扭矩多少、高压是否断开、车速限制、仪表提示、恢复条件,否则无法验证。
VCU故障响应伪代码示例:
on CAN_Timeout(MCU):
    error_counter++
    if error_counter >= FAULT_CONFIRM_THRESHOLD:
        set_fault(U0100)
        enter_degradation(limit_torque=30%, disable_regen=true)
        if degradation_timeout > SAFE_STATE_ENTRY_TIME:
            enter_safe_state(torque=0, open_hv_contactor=true)
            set_warning_lamp(true)