第二章:传感器在功能安全中的角色

各位工程师朋友,咱们今天聊聊传感器在功能安全里到底扮演什么角色。说实话,我做了十几年功能安全,见过太多项目因为传感器问题翻车。你想想看,传感器是系统的「眼睛」和「耳朵」,它要是出了问题,整个系统就是盲人摸象。

2.1 传感器故障模式分析

传感器故障,说白了就是它「说谎」或者「罢工」。我个人习惯把故障分成两大类:硬故障和软故障。

硬故障:传感器彻底坏了,比如短路、断路、芯片烧毁。这类故障好检测,因为输出信号直接异常。

软故障:传感器还在工作,但精度漂移、响应变慢、偶尔跳变。这类故障最头疼,因为它「看起来正常」。

我在项目中遇到过最典型的案例:一个超声波传感器,在高温环境下测距误差从±2cm漂到了±15cm。系统没报错,但自动泊车直接撞上了路沿。嗯,这就是软故障的可怕之处。

常见的传感器故障模式,我列个表给大家参考:

故障模式 描述 典型原因
输出卡滞 输出值固定不变 芯片死锁、通信中断
比例偏移 输出与实际值成比例偏差 温度漂移、老化
噪声增大 输出信号随机波动 EMC干扰、电源纹波
响应延迟 输出跟不上输入变化 滤波器参数漂移
间歇性故障 时好时坏 接触不良、焊点裂纹

避坑指南:我曾经在一个项目中,只分析了硬故障,忽略了软故障。结果EMC测试时,传感器偶尔跳变导致系统误触发。从那以后,我要求团队必须把软故障分析纳入FMEA。

2.2 传感器对系统安全的影响

传感器出问题,影响有多大?我给大家画个图就明白了。

传感器故障对系统安全的影响路径 传感器故障 输入数据错误 (控制器拿到假数据) 控制策略误判 (算法做出错误决策) 安全目标被违反 (可能导致人员伤亡) 硬故障 (易检测,影响明确) 软故障 (难检测,影响隐蔽) 图2-1:传感器故障通过数据链路逐级放大,最终影响系统安全

从这张图你能看到,传感器故障不是孤立事件。它会沿着数据链路一级一级放大。我举个例子:

  • 传感器层面:一个轮速传感器因为磁粉污染,输出信号幅值衰减了30%
  • 控制器层面:ABS控制器以为车轮抱死,开始减压制动
  • 系统层面:制动距离延长,车辆失控

注意:ISO 26262要求我们分析传感器故障对安全目标的直接影响。我个人建议,在做危害分析时,一定要把传感器故障单独列出来评估。别偷懒,否则后面测试阶段有你哭的。

2.3 传感器安全机制概览

既然传感器这么容易出问题,我们怎么防?安全机制就是干这个的。我把它分成三个层次:

2.3.1 诊断机制

诊断机制是「监工」,时刻盯着传感器有没有偷懒。常见的诊断方法:

  • 范围检查:输出值是否在合理范围内。比如温度传感器输出-50°C,明显不合理
  • 速率检查:变化率是否太快。比如车速从0到100km/h只要0.1秒,传感器肯定坏了
  • 合理性检查:多个传感器数据是否一致。比如方向盘转角传感器和横摆角速度传感器,数据应该匹配
  • 在线监控:比如看门狗、CRC校验、回读检查

我的经验:我曾经在一个项目中,只做了范围检查,没做速率检查。结果传感器输出缓慢漂移,系统完全没发现。后来我要求所有关键传感器必须同时做范围+速率+合理性三重检查。

2.3.2 冗余机制

冗余就是「备胎」。一个传感器坏了,另一个顶上。常见方案:

冗余类型 实现方式 典型应用
同构冗余 两个相同传感器 制动踏板位置传感器
异构冗余 不同原理传感器 车速:轮速+GPS+IMU
解析冗余 用数学模型估算 用电机电流估算扭矩

我个人比较推荐异构冗余。为什么?因为同构冗余两个传感器可能同时受相同环境影响(比如温度、振动)。异构冗余就不一样了,一个坏了另一个大概率还能工作。

2.3.3 故障反应机制

发现故障后怎么办?不能干等着。常见的故障反应:

  • 降级模式:比如雷达坏了,系统切换到仅使用摄像头
  • 安全状态:比如EPS检测到扭矩传感器故障,直接切断助力
  • 故障容错:用冗余数据替代,比如用IMU估算车速
  • 警告驾驶员:点亮故障灯,提示尽快维修

关键点:安全机制不是越多越好。你想想看,每个安全机制本身也有失效率。我见过一个项目,加了7层安全机制,结果系统复杂度爆炸,反而引入了更多故障点。合理的设计是:针对每个故障模式,选择最有效的1-2个安全机制。

最后说一句,传感器安全机制的设计,一定要结合具体的应用场景。比如自动驾驶的激光雷达和普通倒车雷达,安全要求完全不是一个量级。嗯,这个我们后面章节会详细展开。