安全可以说是无处不在,信息安全(Security),财产安全,生命安全…… 我们无时无刻不暴露在安全的威胁下,安全的风险永远无法降低到零。而功能安全着重关注如何去避免电气/电子/可编程化系统(E/E/PE)方面的威胁所造成的人员伤亡、财产损失或是环境污染等不可接受的风险。“不可接受”并不意味着系统100%不出问题,而是同时要考虑到最终的应用场合、可容忍级别等等安全需求。
这些风险可以是系统性的,比如规范制定和设计过程中的人为因素(NASA当年因为不佳的管理流程,导致高层急于发射“挑战号”航天飞船,而忽视工程师的警告,最终导致机毁人亡),也可能是随机性的硬件故障。(比如受宇宙射线的影响,Flash/RAM发生了数据翻转0<->1)。
IEC61508是国际组织IEC颁发的母标准,这个标准又衍生出了一系列适用不同行业的功能安全标准。而汽车行业则更为严格,对C语言都做出了规范,1994年,在英国成立了一个叫做汽车工业软件可靠性联合会(The Motor Industry Software Reliability Association,以下简称MISRA)的组织。它是致力于协助汽车厂商开发安全可靠的软件的跨国协会,其成员包括:AB汽车电子、罗孚汽车、宾利 汽车、福特汽车、捷豹汽车、路虎公司、Lotus公司、MIRA公司、Ricardo公司、TRW汽车电子、利兹大学和福特VISTEON汽车系统公司。经过了四年的研究和准备,MISRA于1998年发布了一个针对汽车工业软件安全性的C语言编程规范——《汽车专用软件的C语言编程指南》 (Guidelines for the Use of the C Language in Vehicle Based Software),共有127条规则,称为MISRAC:1998。
为了应对上述的两类风险,ST分别提供了对应的功能安全设计包:
- SIL功能安全设计包,针对IEC61508标准,覆盖STM32系列产品。
- ASIL功能安全设计包,针对汽车行业的ISO26262标准,支持STM8AF系列MCU。
- ClassB功能安全设计包,针对家电应用领域的IEC60335-1/60730-1标准,覆盖STM32和STM8系列产品。
嵌入式产品,特别是关乎生命安全的产品,对开发和应用都提出了非常高的要求和保证,ST半导体为此也提供了全方位的解决方案和实施手册,不管是工业控制,汽车行业还是家电行业,都有全套的认证软件库,它里面既包括认证过的自检库,也包括各种用户基于该自检库做开发和认证需要的文档。从硬件启动,初始化资源,自检到运行,软硬兼施,都有一系列的安全举措,防止由于硬件随机故障以及系统故障带来的严重风险,同时设计硬件时需要尽可能提高设备的电磁兼容性,降低电磁干扰造成随机的硬件故障!
当然不单是硬件环境的设置和监控,对于软件开发,在软件处理上也是要按相应的要求进行操作,这才是主要的工作,毕竟产品要过安全认证是一笔不小的成本和开支!
|