1. 功能安全到底是什么想象一下你开车时的刹车系统普通可靠性刹车灯亮了或者刹车片能用10万公里才磨损。这是关于产品耐用度的。功能安全当你踩下刹车时绝对不能因为电子系统的某个芯片故障导致刹车反而变成了加速。或者当刹车系统自己的传感器坏了它必须能检测到这种故障并点亮仪表盘警告灯同时保持机械刹车依然有效让司机能把车安全停下。功能安全关注的就是这种万一出错了怎么办的问题。它要确保系统知道自己在出错能够检测到故障。系统知道怎么保护你在发生故障时能进入一个安全的状态比如切断动力、发出警报、维持基本功能。在功能安全国际标准ISO 26262中它通过衡量两个核心指标来定义风险等级ASIL等级从A到DD是最高等级代表着一旦失效最可能导致生命危险。比如安全气囊的控制芯片通常是ASIL-D而车窗升降可能是ASIL-A。诊断覆盖率系统能检测出自身故障的比例。2. 功能安全的实现手段有哪些为了达到上述目标工程师们会采用一系列的设计技术和手段。这些手段也可以看作是在系统或芯片比如之前提到的PMIC里布下的安全网。手段一故障检测与监控这是最基础的手段让系统具备感知疼痛的能力。电压/电流/温度监控就像PMIC里内置的监控器持续检查电源是否过高、过低电流是否过大芯片是否过热。一旦超标立刻报警。看门狗给主处理器设置一个心跳检测器。如果处理器没有定期向看门狗发送我还活着的信号看门狗就会认为处理器卡住了并强制重启系统。奇偶校验/ECC在内存或数据传输中增加额外的校验位。如果数据在存储或传输过程中被干扰比如宇宙射线导致的比特翻转系统能发现并纠正错误。手段二冗余与多样性这是最经典的双保险策略。硬件冗余将关键的电路模块复制一份。比如两个CPU核同时执行相同的指令然后比较它们的结果。如果结果不一致说明其中一个出错了系统介入处理。这在安全等级ASIL-D的设计中很常见比如锁步核。多样性冗余为了避免同样的设计缺陷导致两个模块同时失效用两种不同的方式比如不同的逻辑电路甚至两个不同厂商的芯片来实现同一个功能。手段三安全状态与故障处理发现故障后系统必须知道接下来该怎么做。安全状态定义预先定义好每种故障模式下系统应该进入什么状态。对于电机可能是切断动力对于显示屏可能是显示警告图标对于自动驾驶系统可能是靠边停车。故障响应机制芯片需要有一个独立的安全通道。例如PMIC的故障状态引脚一旦被触发可以直接拉低主芯片的供电或者拉高一个硬件中断这个过程不依赖软件响应速度快也更可靠。手段四自测试这是为了解决监控器本身坏了怎么办的问题。内置自测试芯片定期对自己内部的监控电路进行测试。比如故意给电压监控器一个低于阈值的电压看它能不能正确触发报警。如果它没反应说明监控器本身已经坏了需要被当作新的故障来处理。手段五隔离与分区为了防止故障在系统里传染。空间隔离在芯片设计时将不同功能的电路放在物理上分离的区域避免一个发热严重的模块烤坏了旁边的精密控制电路。电气隔离在高低压电路之间比如电车的电机驱动和主控芯片之间使用光耦或磁性隔离防止高压击穿损坏低压的控制部分。从博主熟悉的一款电源芯片入手来理解功能安全RICHTECK的RTQ2079-QA这是一款带功能安全的PMICCompliance with ISO26262 ASIL-B它通过了ISO 26262标准并且达到了ASIL-B等级意味着它适用于对安全有中等要求的系统如摄像头模块有空去了解一下ISO26262The RTQ2079-QA offers six over-voltage and under voltage monitors, two error input receivers, one error output indicator and fault status report by I2C for functional safety purpose.六个过压欠压的监控专用的硬件引脚不依赖I²C通信。一旦发生故障这个引脚会立刻从高电平变成低电平参考Page 35的Table 6直接告诉主控芯片出事了。这种硬线连接响应速度最快最可靠。Power on BISTfor OV/UV Monitor, I²C CRC and Efuse CRC Protection (Page 1)BIST是Built-in Self Test的缩写。芯片在每次上电启动时Power on会先给自己做个体检专门测试那些电压监控器本身是不是好的、I²C通信和存储配置的一次性可编程 fuse 中的数据有没有损坏。这就是为了解决监控器本身坏了怎么办的问题是功能安全中非常高级的手段。two error signal receivers via ERRIN1/ERRIN2 (Page 1)摄像头模组上除了PMIC还有图像传感器Sensor和图像信号处理器ISP。如果Sensor自己坏了它可以通过ERRIN引脚向PMIC发送一个错误信号。PMIC收到后会通过ERROUT或I²C把这个外部器件的故障也上报给主控。这相当于把整个模组的安全网织得更大了总的来说首先是IC内部功能的自检测保证功能安全运行 IC之间我的报错和其他人的报错留出IO来进行同步处理
功能安全小记
1. 功能安全到底是什么想象一下你开车时的刹车系统普通可靠性刹车灯亮了或者刹车片能用10万公里才磨损。这是关于产品耐用度的。功能安全当你踩下刹车时绝对不能因为电子系统的某个芯片故障导致刹车反而变成了加速。或者当刹车系统自己的传感器坏了它必须能检测到这种故障并点亮仪表盘警告灯同时保持机械刹车依然有效让司机能把车安全停下。功能安全关注的就是这种万一出错了怎么办的问题。它要确保系统知道自己在出错能够检测到故障。系统知道怎么保护你在发生故障时能进入一个安全的状态比如切断动力、发出警报、维持基本功能。在功能安全国际标准ISO 26262中它通过衡量两个核心指标来定义风险等级ASIL等级从A到DD是最高等级代表着一旦失效最可能导致生命危险。比如安全气囊的控制芯片通常是ASIL-D而车窗升降可能是ASIL-A。诊断覆盖率系统能检测出自身故障的比例。2. 功能安全的实现手段有哪些为了达到上述目标工程师们会采用一系列的设计技术和手段。这些手段也可以看作是在系统或芯片比如之前提到的PMIC里布下的安全网。手段一故障检测与监控这是最基础的手段让系统具备感知疼痛的能力。电压/电流/温度监控就像PMIC里内置的监控器持续检查电源是否过高、过低电流是否过大芯片是否过热。一旦超标立刻报警。看门狗给主处理器设置一个心跳检测器。如果处理器没有定期向看门狗发送我还活着的信号看门狗就会认为处理器卡住了并强制重启系统。奇偶校验/ECC在内存或数据传输中增加额外的校验位。如果数据在存储或传输过程中被干扰比如宇宙射线导致的比特翻转系统能发现并纠正错误。手段二冗余与多样性这是最经典的双保险策略。硬件冗余将关键的电路模块复制一份。比如两个CPU核同时执行相同的指令然后比较它们的结果。如果结果不一致说明其中一个出错了系统介入处理。这在安全等级ASIL-D的设计中很常见比如锁步核。多样性冗余为了避免同样的设计缺陷导致两个模块同时失效用两种不同的方式比如不同的逻辑电路甚至两个不同厂商的芯片来实现同一个功能。手段三安全状态与故障处理发现故障后系统必须知道接下来该怎么做。安全状态定义预先定义好每种故障模式下系统应该进入什么状态。对于电机可能是切断动力对于显示屏可能是显示警告图标对于自动驾驶系统可能是靠边停车。故障响应机制芯片需要有一个独立的安全通道。例如PMIC的故障状态引脚一旦被触发可以直接拉低主芯片的供电或者拉高一个硬件中断这个过程不依赖软件响应速度快也更可靠。手段四自测试这是为了解决监控器本身坏了怎么办的问题。内置自测试芯片定期对自己内部的监控电路进行测试。比如故意给电压监控器一个低于阈值的电压看它能不能正确触发报警。如果它没反应说明监控器本身已经坏了需要被当作新的故障来处理。手段五隔离与分区为了防止故障在系统里传染。空间隔离在芯片设计时将不同功能的电路放在物理上分离的区域避免一个发热严重的模块烤坏了旁边的精密控制电路。电气隔离在高低压电路之间比如电车的电机驱动和主控芯片之间使用光耦或磁性隔离防止高压击穿损坏低压的控制部分。从博主熟悉的一款电源芯片入手来理解功能安全RICHTECK的RTQ2079-QA这是一款带功能安全的PMICCompliance with ISO26262 ASIL-B它通过了ISO 26262标准并且达到了ASIL-B等级意味着它适用于对安全有中等要求的系统如摄像头模块有空去了解一下ISO26262The RTQ2079-QA offers six over-voltage and under voltage monitors, two error input receivers, one error output indicator and fault status report by I2C for functional safety purpose.六个过压欠压的监控专用的硬件引脚不依赖I²C通信。一旦发生故障这个引脚会立刻从高电平变成低电平参考Page 35的Table 6直接告诉主控芯片出事了。这种硬线连接响应速度最快最可靠。Power on BISTfor OV/UV Monitor, I²C CRC and Efuse CRC Protection (Page 1)BIST是Built-in Self Test的缩写。芯片在每次上电启动时Power on会先给自己做个体检专门测试那些电压监控器本身是不是好的、I²C通信和存储配置的一次性可编程 fuse 中的数据有没有损坏。这就是为了解决监控器本身坏了怎么办的问题是功能安全中非常高级的手段。two error signal receivers via ERRIN1/ERRIN2 (Page 1)摄像头模组上除了PMIC还有图像传感器Sensor和图像信号处理器ISP。如果Sensor自己坏了它可以通过ERRIN引脚向PMIC发送一个错误信号。PMIC收到后会通过ERROUT或I²C把这个外部器件的故障也上报给主控。这相当于把整个模组的安全网织得更大了总的来说首先是IC内部功能的自检测保证功能安全运行 IC之间我的报错和其他人的报错留出IO来进行同步处理