集成电路的功能安全

描述

集成电路(IC)是所有现代安全系统的基础。集成电路提供逻辑,要么控制传感器,要么在越来越多的程度上控制传感器。集成电路驱动最终元件以实现安全状态,它们是运行软件的平台。半导体内部可能的集成度可以简化系统级实现,但代价是IC本身的复杂性增加。这种集成水平由于减少了部件数量而提高了系统可靠性,并提供了以更短的诊断测试间隔增加诊断覆盖率的机会 - 所有这些都以使安全性负担得起的成本为代价。可以说,由于增加了复杂性,这种集成水平是一件坏事。然而,随着集成电路复杂性的代价,模块和系统级别可能会有重大的简化。令人惊讶的是,虽然有针对过程控制、机械、电梯、变速驱动器和有毒气体传感器的功能安全标准,但没有专门针对集成电路的功能安全标准。相反,要求和知识的零碎部分围绕IEC 61508和其他B级和C级标准传播。本文为解释半导体的现有功能安全标准提供了指导。

介绍

通常,集成电路的开发符合IEC 61508或ISO 26262。此外,二级和三级标准有时还有其他要求。根据功能安全标准的开发和评估使人们确信这些有时复杂的集成电路足够安全。当IEC 61508被编写时,它针对的是定制系统,而不是公开市场大规模生产的集成电路。本文将回顾和评论集成电路的已知功能安全要求。虽然本文重点介绍IEC 61508及其在工业领域的应用,但大部分材料与汽车、航空电子设备和医疗等应用相关。

功能安全

功能安全是安全的一部分,它涉及系统在需要时执行其安全相关任务的信心。功能安全不同于其他被动形式的安全,如电气安全、机械安全或本质安全。

功能安全是一种主动的安全形式;例如,它使人们确信电机将足够快地关闭,以防止对打开防护门的操作员造成伤害,或者当有人在附近时,机器人将以降低的速度和力运行。

标准

关键功能安全标准是IEC 61508。1该标准的第一次修订版于1998年发布,修订版2010年发布,并于2017年开始更新到修订版三,可能完成日期为2022年。自 1998 年 IEC 61508 第一版发布以来,基本的 IEC 61508 标准已适应汽车 (ISO 26262)、过程控制 (IEC 61511)、PLC (IEC 61131-6)、IEC 62061(机械)、变速驱动器 (IEC 61800-5-2) 和许多其他领域。这些其他标准有助于解释IEC 61508对这些更有限领域的广泛范围。

ISO 13849 和 D0-178/D0-254 等一些功能安全标准并非源自 IEC 61508。尽管如此,任何熟悉IEC 61508并阅读这些标准的人都不会对内容感到太惊讶。

在安全系统中,安全功能在系统运行时执行关键功能安全活动。安全功能定义为实现或维护安全而必须执行的操作。典型的安全功能包括输入子系统、逻辑子系统和输出子系统。通常,这意味着检测到潜在的不安全状态,并且某些东西对检测到的值做出决定,如果认为有潜在危险,则指示输出子系统将系统带到定义的安全状态。

半导体

图1.功能安全标准示例。

从存在的不安全状态到实现安全状态之间的时间至关重要。例如,安全功能可能包括一个传感器,用于检测机器上的防护装置是否打开,一个用于处理数据的PLC,以及一个具有安全扭矩关闭输入的变速驱动器,该驱动器在插入机器的手到达运动部件之前杀死电机。

安全完整性等级

SIL 代表安全完整性级别,是表示将风险降低到可接受水平所需的风险降低的一种手段。根据 IEC 61508,安全级别为 1、2、3 和 4,当您从一个级别转到下一个级别时,安全性会提高一个数量级。SIL 4 在机械和工厂自动化中不可见,通常不超过一个人暴露于危险中。它保留用于核能和铁路等可能造成数百甚至数千人受伤的应用。还有其他功能安全标准,例如汽车,它使用 ASIL(汽车安全完整性等级)A、B、C 和 D 以及 ISO 13849。其性能级别 a、b、c、d 和 e 可以映射到 SIL 1 到 SIL 3 等级。

 

IEC 61508 SIL ISO 26262 ASIL 航空电子水平 ISO 13849 PL 核类别
1 一个 D b
l l
e


l
l
c
 
2 B C
3 C/D B
4 一个

 

笔者不相信单一IC的索赔可能大于SIL 3。但是,需要注意的是,IEC 61508-2:2010 附录 F 中的表格显示了 SIL 4 列。

三个关键要求

功能安全对IC的开发提出了三个关键要求。以下各节将探讨这些要求。

要求 1 - 遵循严格的开发流程

IEC 61508 是一个完整的生命周期模型。它涵盖了从安全概念到需求捕获、维护以及最终到物品处置的所有阶段。并非所有这些阶段都与集成电路相关,需要培训和经验才能确定这些阶段。IEC 61508为ASIC提供了一个V模型,与IEC 61508中的审查,审核和其他要求一起,它代表了一个系统,虽然它不能保证安全,但过去已被证明可以生成安全的系统和IC。

大多数IC制造商已经制定了严格的新产品开发标准,因为更换故障集成电路的成本很高。仅用于低几何形状过程的一组掩模就可能花费超过 50 万美元。这一点以及较长的交货时间已经迫使集成电路设计人员实施严格的开发流程,并具有良好的验证和确认阶段。功能安全的一个巨大区别是,安全性不仅必须实现,还必须证明,以便即使是最好的IC制造商也需要在其正常开发过程之上添加安全流程,以确保创建和存档正确的合规性证据。

开发过程中引入的故障称为系统故障。这些故障只能通过设计更改来修复。这些故障可能包括与需求捕获、EMC 稳健性不足和测试不足相关的故障。

IEC 61508-2:2010 附录 F 列出了一组 IEC 委员会专家认为适合用于开发集成电路的专用测量值。表 F.2 适用于 FPGA 和 CPLD,而表 F.1 适用于数字 ASIC。根据SII,这些措施以R(推荐)或HR(强烈推荐)的形式给出,在某些情况下,还提供替代技术。对于具有良好开发流程的IC供应商来说,很少有要求会让人感到意外,但SIL 3的99%故障覆盖率要求具有挑战性,特别是对于许多电路位于模块外围的小型数字或混合信号部件。标准修订版二中的要求仅适用于数字IC,但许多要求也适用于模拟或混合信号IC(ISO 26262的下一个修订版将包含类似的表格,并具有模拟和混合信号集成电路的版本)。

除了表 F.1 和表 F.2 之外,还有一些介绍性文本也提供了见解。例如,在本介绍性文本中,允许使用经过验证的使用工具,并建议在类似复杂度的项目中使用18个月,这是合理的。这意味着 IEC 61508-3 中的完整工具要求不需要适用。

如果模块/系统设计人员过去成功使用过IC,并且了解应用和现场故障率,则可以获得经过验证的使用声明。对于集成电路设计人员或制造商来说,这种说法要困难得多,因为他们通常对最终应用或现场故障单元的百分比返回给他们进行分析没有足够的了解。

软件

所有软件错误都是系统性的,因为软件不会老化。因此,任何片上软件都应考虑IEC 61508-3的要求。通常,片上软件可能包括微控制器/DSP上的内核/引导加载程序。但是,在某些情况下,微控制器/DSP可能包含由IC制造商预编程的小型微控制器,以实现逻辑块而不是使用状态机。该预编程微控制器软件还需要满足IEC 61508-3的要求。应用级软件通常由模块/系统设计人员负责,而不是IC制造商,但IC供应商可能需要提供编译器或低级驱动程序等工具。如果这些工具用于开发安全相关应用软件,则IC制造商需要为最终用户提供足够的信息,以满足IEC 61508-3:2010条款7.4.4中的工具要求。

作者还用C和许多其他编程语言编程。他做了有限数量的Verilog编程。Verilog及其姊妹VHDL是用于设计数字集成电路的两种HDL(硬件定义语言)的例子。关于HDL是否是软件的问题是一个有趣的问题,但目前遵循IEC 61508-2:2010附录F就足够了。在实践中,作者发现,如果遵循附录F,那么结合IEC 61508的其他要求(生命周期阶段等),HDL是否被视为软件并不重要,因为开发人员最终仍然完成所有必需的任务。一个相关的有趣标准是IEC 62566,2它涉及使用HDL开发的核工业安全功能。

要求 2 — 本质上是可靠的

IEC 61508以PFH(每小时危险故障的平均频率)或PFD(按需故障概率)的形式提出了可靠性要求。这些限制与成年人死于自然原因的风险以及上班或日常业务的想法有关,不应该显着增加这一点。SIL 3 安全功能的最大 PFH 为 10–7/h 或大约每 1000 年一次的危险故障率。表示为 FIT(时间故障/每十亿小时运行故障),这是 100 FIT。

鉴于典型的安全功能具有输入模块、逻辑模块和执行器模块,并且PFH预算必须在所有三个模块之间分配,因此给定IC的PFH完全有可能为个位数(<10 FIT)。冗余体系结构可用于允许更高的数字,以便两个 100 FIT 的项目可以为一个具有 10 FIT 可靠性的项目提供等效的置信度,受 CCF(常见原因故障)问题的限制。但是,冗余会消耗大量空间和能源,并增加成本。

ADI公司等IC制造商根据加速寿命测试,为 analog.com/reliabilitydata 等站点上发布的所有IC提供可靠性信息。这有时是不受欢迎的,因为可靠性评估是在实验室中人工条件下完成的。相反,使用行业标准,如SN 295003或 IEC 623804是推荐的。但是,这些标准存在许多问题:

他们预测99%置信水平的可靠性,IEC 61508只需要70%置信水平的数据,因此标准是悲观的。

它们混合了随机和系统故障模式。这些在IEC 61508下应以不同的方式处理。

它们不经常更新。

他们不考虑供应商之间的质量差异。

SN 29500等标准确实证明了片上晶体管的可靠性。如果使用两个 500k 晶体管的 IC 来实现安全功能,则它们的 FIT 分别为 70,总系统 FIT 为 140。但是,如果将两个IC替换为一个100万个晶体管的IC,则该IC的FIT仅为80,减少了40%以上。

软错误在IC中经常被忽略。软误差与传统的可靠性预测不同,因为一旦电源循环,软误差就会消失。它们是由来自太空的中子粒子或来自封装材料的α粒子撞击片上RAM单元或触发器(FF)并改变存储值引起的。ECC(双比特错误检测和单比特纠错)可用于检测和无缝纠正RAM中的错误,但代价是速度降低和片上误差增加。奇偶校验增加了较少的开销,但让系统设计人员解决错误恢复问题。如果不使用奇偶校验或 ECC 技术,软错误率可能会比传统硬错误率高出 1000 倍(IEC 61508 为 RAM 提供了 1000 FIT/MB 的数字)。可用于解决用于实现逻辑电路的FF中的软错误的技术(触发器)并不令人满意,但看门狗定时器、计算中的时间冗余和其他技术可以提供帮助。

要求 3 - 容错

无论产品多么可靠,有时仍然会发生坏事。容错接受这一现实,然后解决它。容错有两个主要元素。一个是使用冗余,另一个是使用诊断。双方都承认,无论IC的可靠性或用于开发IC的开发过程有多好,都会发生故障。

冗余可以是相同的,也可以是不同的,它可以是片上或片外的。IEC 61508-2:2010的附录E提供了一套技术,以证明已采取足够的措施来支持使用非多样性冗余的数字电路中的片上冗余声明。附录E似乎针对的是双锁步微控制器,并且没有针对片上独立性提供指导。

模拟和混合信号集成电路

在项目及其片上诊断之间

采用多种冗余的数字电路

然而,在某些情况下,可以对这些情况对附件E进行明智的解释。附件E中一个有趣的项目是β集成电路计算,这是片上常见原因故障的度量。如果常见原因故障的来源β小于 25%,则允许判断充分分离,这与 IEC 61508-6:2010 表中的 1%、5% 或 10% 相比更高。

诊断是集成电路真正可以大放异彩的领域。片上诊断可以

设计为适合片上模块的预期故障模式

由于对外部引脚的要求有限,因此不增加PCB空间

以高速率运行(最小诊断测试间隔)

通过比较消除对冗余组件实施诊断的需要

这意味着片上诊断可以最大限度地降低系统成本和面积。通常,诊断程序与他们在片上监控的项目是多种多样的(不同的实现),因此它们不太可能以与正在监控的项目相同的方式和同时失败。当他们这样做时,即使诊断是在单独的芯片中实现的,他们也可能会出现相同的问题(通常与EMC、电源问题和过热有关)。虽然该标准不包含该要求,但存在与使用片上电源监视器和看门狗电路相关的问题,这是最后的诊断手段。一些外部评估人员会坚持认为这种诊断是片外的。

通常,简单集成电路的诊断将由远程微控制器/DSP控制,测量在片内完成,但结果在片外发送进行处理。

IEC 61508 要求以 SFF(安全故障分数)给出的最低诊断覆盖率,SFF 考虑了安全和危险的故障,与忽略安全故障的 DC(诊断覆盖率)相关但不同。使用量化的FMEA或FMEDA可以衡量所实施诊断的成功。但是,在IC内实现的诊断也可以涵盖IC外部的组件,并且IC中的项目也可以由系统级诊断程序覆盖。当IC开发人员执行FMEDA时,必须假设IC开发人员通常不知道最终应用的细节。在ISO 26262术语中,这被称为SEooC(脱离上下文的安全元件)。对于使用IC级FMEDA的最终用户,他们必须确信这些假设仍然适用于他们的系统。

虽然IEC 61508-2:2010的表A.1(实际上是表A.2至A.14)对分析IC时应考虑的IC故障提供了很好的指导,但IEC 60730:2010的附录H中对该主题进行了更好的讨论。5

集成电路的开发选项

开发用于功能安全系统的集成电路有多种选择。标准中没有要求只使用兼容的集成电路,而是要求模块或系统设计人员确信所选集成电路适合在其系统中使用。

可用选项包括

通过外部评估和安全手册完全符合IEC 61508进行开发

开发符合IEC 61508标准,无需外部评估和安全手册

按照半导体公司的标准开发流程进行开发,但发布安全数据表

按照半导体公司的标准流程进行开发

注意—对于未按照IEC 61508开发的部件,安全手册可以称为安全数据表或类似名称,以避免与根据安全手册开发的部件混淆。

选项1是半导体制造商最昂贵的选择,但也有可能对模块或系统设计人员最有利。拥有这样的组件,其中集成电路安全概念中显示的应用与系统的应用相匹配,可以降低模块或系统外部评估遇到问题的风险。SIL 2安全功能的额外设计工作量可能达到20%或更多。额外的努力可能会更高,除了半导体制造商通常已经暗示了严格的开发过程,即使没有功能安全。

备选方案2节省了外部评估的费用,但除此之外,影响是相同的。此选项适用于客户无论如何都要获得外部认证的模块/系统,并且集成电路是该系统的重要组成部分。

选项 3 最适合已发布的集成电路,其中提供安全数据表可以让模块或系统设计人员访问他们在更高级别的安全设计所需的额外信息。这包括所使用的实际开发过程的详细信息、集成电路的FIT数据、任何诊断的详细信息以及制造现场的ISO 9001认证证据等信息。

然而,备选方案4仍将是开发集成电路的最常见方式。使用此类组件开发安全模块或系统将需要额外的组件和模块/系统设计费用,因为这些组件没有足够的诊断功能,需要双通道架构与单通道架构进行比较。如果没有安全数据手册,模块/系统设计人员还需要做出保守的假设,并将集成电路视为黑匣子。

此外,半导体公司需要制定自己的标准解释,作者自己的公司为此目的开发了内部文档ADI61508和ADI26262。ADI61508采用IEC 61508:2010的七个部分,并从集成电路开发的角度解释要求。

A SIL 2/ 3 开发

有时,可以根据SIL 3的所有系统要求开发集成电路。这意味着遵守IEC 61508-2:2010表F.1中针对SIL 3的所有相关项目,并且所有设计审查和其他分析都按照SIL 3级别进行。但是,硬件指标可能只够 SIL 2。这种电路可以识别为SIL 2/3或更典型的SIL M/N,其中M表示可以根据硬件指标声明的最大SIL级别,N表示可以根据系统要求声明的最大SIL级别。两个 SIL 2/3 集成电路可用于实现 SIL 3 模块或系统,因为并行使用两个 SIL 2 项目在硬件指标方面将组合升级到 SIL 3,但就系统要求而言,每个项目都已经达到 SIL 3。相反,如果集成电路只是SIL 2/2,将两个这样的集成电路并联仍然不会使其成为SIL 3,因为它充其量是SIL 3/2。

将硬件指标应用于集成电路

除了几乎所有安全功能都由集成电路实现的情况外,很难指定半导体的SFF、DC或PFH限制。以SFF为例,虽然SIL 3的SFF要求大于99%,但这适用于整个安全功能,而不是集成电路。如果集成电路的使用率为98%,它仍然可用于实现SIL 3安全功能,但系统的其他部分将需要实现更高的覆盖范围来补偿。集成电路的安全手册或安全数据表需要公布λDD, λ都和 λ 用于系统级 FMEDA。

理想情况下,IC要求将用于系统级分析,但通常情况并非如此,开发实际上是SEooC(参见ISO 26262)或脱离上下文的安全元件。对于 SEooC,IC 开发人员需要假设 IC 将在系统中的使用方式。然后,系统或模块设计人员必须将这些假设与其实际系统进行比较,以查看IC的功能安全性是否足以满足其系统的需求。这些假设可以决定诊断是在IC上还是在系统级实施,从而影响IC级的特性和功能。

安全

除非系统也是安全的,否则它不可能是安全的。目前,IEC 61508或ISO 26262中与安全性相关的唯一指南是将读者参考IEC 62443系列.6但是,IEC 62443似乎更针对较大的组件,例如整个PLC组件,而不是单个IC。好消息是,功能安全标准中消除系统故障的大多数要求也适用于安全性。缺少任何参考很有趣,因为在某些情况下,硬件可以提供硬件信任根和 PUF(物理上不可克隆的功能)等功能,这对于安全和安保非常重要。

结论

现有的IEC 61508涵盖了从开发集成电路到炼油厂的所有内容。虽然机械和过程控制等领域有专门的行业特定标准,虽然IEC 61508修订版二中有一些针对集成电路的指导,但没有特定于集成电路的标准。由于缺乏具体要求,要求可以解释,因此多个客户的期望和外部评估者之间可能会出现冲突。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分