2. 相关标准体系:ISO 26262、IEC 61508、IEC 62304等标准介绍与适用范围

聊到功能安全,绕不开的就是这几个标准。很多刚入行的朋友问我:「这么多标准,我到底该看哪个?」

说实话,我刚开始也懵。后来做项目多了,才慢慢摸清楚门道。今天我就把这几本「安全圣经」掰开揉碎了讲给你听。

2.1 IEC 61508:功能安全的「老祖宗」

IEC 61508,全称是《电气/电子/可编程电子安全相关系统的功能安全》。它是所有功能安全标准的「总纲」。

为什么这么说?因为后来出的那些行业标准,比如汽车用的ISO 26262、工业机器人用的ISO 13849,基本都是从它这里派生出来的。

核心思想:IEC 61508提出了一个通用框架,教你如何识别危险、评估风险、并通过安全功能把风险降到可接受的水平。

它的适用范围很广。只要是电气、电子或可编程电子系统,理论上都能用。但问题也在这里——它太通用了,不够具体。

我记得有一次,一个做医疗器械的朋友问我:「我按IEC 61508做安全设计,行不行?」我说:「行是行,但你最好再看看IEC 62304,那个更对口。」

2.2 ISO 26262:汽车界的「安全宪法」

ISO 26262,全称是《道路车辆功能安全》。它是在IEC 61508基础上,专门为汽车行业量身定做的。

这个标准有多重要?这么说吧,现在你买的新车,只要带电子系统,基本都得过它这一关。

适用范围:

  • 乘用车、商用车(总质量不超过3.5吨)
  • 涉及安全相关的电气/电子系统
  • 从概念阶段到生产、运行、报废的全生命周期

ISO 26262把安全等级分成了A到D四个级别,也就是我们常说的ASIL(Automotive Safety Integrity Level)。

ASIL等级 危险程度 典型场景
ASIL A 转向灯故障
ASIL B 刹车灯不亮
ASIL C 电子助力转向失效
ASIL D 最高 刹车系统完全失效

我的经验:ASIL D不是闹着玩的。我曾经参与过一个线控制动项目,ASIL D要求所有硬件都得有冗余,软件要跑双核锁步。那段时间,我们团队几乎天天加班,就为了满足那严苛的诊断覆盖率。

2.3 IEC 62304:医疗器械的「安全守则」

IEC 62304,全称是《医疗器械软件 软件生命周期过程》。它专门管医疗器械里的软件。

你想想看,一个心脏起搏器、一台CT机,里面的软件要是出了bug,那可是人命关天的事。所以这个标准特别强调软件开发的规范性和可追溯性。

适用范围:

  • 医疗器械中的嵌入式软件
  • 独立软件(比如诊断用的AI算法)
  • 软件作为医疗器械(SaMD)

IEC 62304把软件安全等级分成了A、B、C三级:

等级 后果 例子
A 不会造成伤害 患者信息管理系统
B 可能造成非严重伤害 输液泵的报警功能
C 可能造成死亡或严重伤害 呼吸机控制软件

注意:IEC 62304和ISO 26262有个很大的不同——它不要求硬件冗余。它更关注软件本身的正确性。比如,它要求你做单元测试、集成测试、系统测试,而且测试覆盖率必须达到100%(对于C级软件)。

2.4 三个标准的关系与选择

这三个标准,说白了就是「爷爷、爸爸、儿子」的关系:

  • IEC 61508:通用标准,什么行业都能用,但不够细
  • ISO 26262:汽车专用,比61508更具体,要求更严
  • IEC 62304:医疗专用,重点在软件,硬件要求相对宽松

怎么选?我个人的习惯是:

  1. 先看行业:汽车用26262,医疗用62304,工业用61508或13849
  2. 再看产品:如果产品跨行业,比如一个车载医疗设备,那就得两个标准都看
  3. 最后看客户:有些客户会指定标准,那就按客户要求来

避坑指南:我曾经遇到过一个项目,客户说「按ISO 26262做」,结果做到一半发现产品还要出口欧洲,得符合IEC 61508。没办法,只能返工。所以,项目一开始就要把适用的标准搞清楚,不然后面全是坑。

2.5 小结

嗯,这三个标准,你不需要全部精通。但至少要知道它们各自管什么、怎么用。

我建议你:

  • 先吃透IEC 61508的基本概念(安全生命周期、风险分析、安全完整性等级)
  • 再根据你的行业,深入学习对应的行业标准
  • 做项目时,多翻翻标准原文,别光看二手资料

记住一句话:标准是死的,人是活的。理解标准背后的安全理念,比死记硬背条款重要得多。