1. 功能安全基础:SOTIF概念、预期功能安全定义、与功能安全的关系、标准ISO 21448概述
大家好,我是老张。在功能安全领域摸爬滚打了十几年,今天咱们来聊聊一个特别有意思的话题——预期功能安全,也就是SOTIF。
说实话,我刚入行那会儿,大家嘴里念叨的都是ISO 26262,什么ASIL等级、安全机制,都是围绕「系统故障」来设计的。但后来我发现,有些事故,系统明明没坏,却还是出事了。嗯,这就是SOTIF要解决的问题。
1.1 什么是SOTIF?
SOTIF,全称是Safety of the Intended Functionality。中文叫「预期功能安全」。说白了,就是保证你的系统在「正常工作」的情况下,也不会因为功能设计本身的问题导致危险。
我打个比方你就明白了:
- 功能安全:好比你的刹车系统,如果电子控制单元坏了,得有冗余机制保证还能刹住车。这是防「硬件故障」。
- 预期功能安全:好比你的自动紧急制动系统,硬件没坏,但摄像头在强光下没识别出前方行人,结果撞上去了。这是防「功能不足」。
你想想看,这两者是不是完全不同的维度?
核心定义:预期功能安全是指,在系统没有故障的情况下,由于功能性能局限、设计缺陷或可预见的人为误用,导致系统无法实现其预期功能,从而引发危害的风险控制。
1.2 预期功能安全与功能安全的关系
这个问题,我经常被刚入行的工程师问到。我的回答很简单:它们是互补的,不是替代的。
我记得有一次评审会上,一个项目经理问我:「老张,我们做了ISO 26262,是不是就不用管SOTIF了?」我当时就笑了。我说:「你想想看,你的车功能安全做得再好,如果传感器在雨雾天根本看不见路,那安全机制再完善有什么用?」
两者的关系,我用一张图来展示:
从这张图你可以看到,两者虽然关注点不同,但最终目标是一致的——降低整车安全风险。我在实际项目中,通常的做法是:先做SOTIF分析,识别出功能局限导致的危险场景,然后再用功能安全的手段去设计相应的安全机制。
我的经验之谈:千万别把SOTIF和功能安全割裂开。我见过最成功的项目,都是把两个标准融合在一起做的。比如,SOTIF分析发现某个场景下传感器性能不足,那功能安全就要设计一个降级策略,确保在传感器性能下降时,系统能安全地切换到备用模式。
1.3 ISO 21448标准概述
ISO 21448,全称是「Road vehicles — Safety of the intended functionality」。这个标准是2019年发布的,专门用来指导SOTIF的开发。
说实话,这个标准刚出来的时候,我翻了一遍,第一反应是:「嗯,这跟ISO 26262的框架很像,但细节完全不同。」
标准的核心流程,我总结为以下几个关键步骤:
- 功能定义与场景分析:明确你的系统要干什么,在什么场景下工作。
- 危害识别与风险评估:找出功能局限可能导致哪些危险,评估风险等级。
- 功能改进与验证:通过设计改进或增加安全机制,降低风险。
- 确认与释放:通过测试和验证,证明风险已经降低到可接受水平。
这里我要特别强调一点:ISO 21448不是ISO 26262的替代品,而是补充。我遇到过一些团队,以为做了ISO 21448就可以不做ISO 26262了,这是大错特错的。
避坑指南:我曾经在一个项目中,看到团队只做了SOTIF分析,忽略了功能安全。结果在实车测试时,一个传感器因为硬件故障导致误报,系统直接触发了紧急制动,差点造成追尾。这就是典型的「只关注功能局限,忽略了硬件故障」的教训。
1.4 SOTIF的核心挑战
聊了这么多,你可能要问:「老张,SOTIF到底难在哪里?」
我的回答是:难在「未知的未知」。
功能安全面对的是已知的故障模式,比如短路、断路、死机,这些都可以通过FMEA、FTA等工具系统性地分析出来。但SOTIF面对的是功能性能的局限,很多场景是你根本想不到的。
举个例子:
- 你设计了一个自动泊车系统,测试了各种停车场场景,都表现良好。
- 但有一天,用户在一个有积水的地面上停车,摄像头因为水面反光,误判了车位线。
- 结果呢?车停歪了,差点蹭到旁边的车。
这种场景,你在设计阶段能想到吗?很难。这就是SOTIF的挑战所在。
关键思路:应对SOTIF的核心方法,不是试图穷举所有场景,而是通过系统性的场景分析、仿真测试和实车验证,逐步缩小「未知的未知」区域,直到风险降低到可接受水平。
1.5 我的个人建议
如果你刚开始接触SOTIF,我建议你从以下几个点入手:
- 先理解场景:不要急着看标准条文,先想想你的系统会在什么场景下工作,哪些场景可能出问题。
- 多问「如果」:如果传感器被泥巴糊住了怎么办?如果用户把车开到雪地里怎么办?如果算法在夜间识别错了怎么办?
- 重视测试:SOTIF的验证,很大程度上依赖于测试。仿真测试、封闭场地测试、开放道路测试,一个都不能少。
好了,这一章的内容就到这里。记住一句话:功能安全防「坏」,预期功能安全防「不够好」。两者缺一不可。