读一读功能安全标准

    功能安全从业人员是很难速成的,培养一名合格的功能安全专家可能需要二十年的时间,你需要了解软件,了解硬件,了解系统,了解标准,甚至现在你还得了解一些半导体的知识。当然,在这庞大的背景知识中,功能安全标准永远是处在最核心的地位,不断的参与各种项目,并结合项目反复的阅读标准,就会使打怪升级之路更加顺畅。

    标准既然被称之为标准,其实应该是非常清晰明确的。标准就和法律一样,每一个单词都应该是严谨的,标委会很大的工作也是在辩论每句话的措辞,但是考虑到标准需要覆盖方方面面的内容(IEC 61508有7个part,将近700页;IEC 26262第一版有11个part,将近800页),尽管标委会各位专家非常的努力,但写出来的内容往往仍然不够清晰,也会在让大家在实践层面感到困惑。标准的每个clause都是希望去解决一些问题,但是例如IEC 61508,功能安全的母标准,标准的第一版距今已经快要30年了,当初参与标准制定的专家可能都忘了某些clause最初的目的和含义是什么。

    尽管标准有着各种各样的问题,但制定标准的专家们确实投入了大量精力来使标准更具可读性和可理解性。作为功能安全方向的从业人员,也依然需要非常重视标准,很多实践方面的问题都可以从标准中找到参考或者解答,毕竟某种意义上标准就是行业最佳实践的总结

    以下就大致聊聊阅读标准的一些要点。

    首先要关注的是标准的名称和编号。大多数国际标准都来自IEC(国际电工委员会)或ISO(国际标准化组织)。标准也可能是几个组织联合制定的,比如ISO/IEC/IEEE 15288(系统软件工程)。开头是“EN”意味着该标准是欧洲标准。开头是“IEC TS”或者“IEC TR”意味着只是一份技术报告或者技术规范,而不是一个完整的标准。往往标有TS的会在之后的版本中纳入正式标准,标有TR的则大多数是informative的,可供实践参考。而关于标准的编号,最重要的就是像ISO 26262和IEC 61508这样的标准会分成好几部分,这时候就会使用编号(如-1、-2或甚至-5-2)将相关标准组合在一起。

    其次,在查阅一个标准时,首先要关注的是标准的scope。Scope会明确描述哪些适用哪些不适用。如果不去关注标准的scope,就可能会导致标准的错误使用。以ISO 26262-12为例,可以看出其适用范围主要是摩托车。那么在开发芯片的时候,如果是特定为了摩托车开发的芯片,如果需要达到例如ASIL B级别,可能就需要考虑使用ISO 26262-12作为一定的参考。

图片

    接下来很重要的是确认标准是normative还是informative。例如,IEC 61508:2010分为七个part,但只有四个是normative,另外三个是informative。Informative意味着标准的仅提供了一些指导,并不包含任何强制性要求。同样,标准的附录标题也会说明附录是normative还是informative,并且所有的注释都是informative的。由于只有标准的normative部分包含强制要求,因此如果希望声称对某个标准的compliance,那么区分normative和informative就非常重要。

    再举个例子,如果希望去开发一款可以满足ISO 26262要求ASIL D级别的芯片,那么很显然需要考虑两个大的方面,一个是normative的ISO 26262 part2-part9里面的要求需要满足(暂时不考虑标准条款的tailor,这是一个大的话题,可以后续再聊),此外尽管ISO 26262 part11是informative的,但是依然是一份非常好的参考,里面对于应该如何去开发一款ASIL D的芯片给出了很多的指导。

    在IEC 61508或者ISO 26262功能安全标准中还有另一种方式去描述需求。在IEC 61508中,所需的技术措施通常根据SIL级别区分为M、HR和R。ISO 26262则使用“+”和“++”来表示R和HR,但它们的含义是相似的。

图片

    如果某项技术措施是推荐的,而实践中认为不是必要的,那么需要记录并陈述理由。对于“R”或者“+”项,很简短的说明即可。但对于“HR”或者“++”项,则需要更全面地说明为什么不采用该项措施。这也是功能安全的基础思维,即提供并记录证据。对于依据ISO 26262开发的功能安全芯片,由于ISO 26262除了part 11之外,很大一部分都是写给OEM以及TIER1的,那么很多技术措施都需要根据芯片实际开发流程进行移植和解释。对于功能安全芯片开发,是一个非常庞大的单独话题,希望以后有机会能够交流。

    要声称对标准的compliance意味着遵守了所有适用的要求,不可以因为某些要求做的非常好就放松对于其他要求的质量。如果仅根据IEC 61508进行硬件开发,至少需要考虑IEC 61508-1和IEC 61508-2。如果进行软件开发,可能需要IEC 61508-1、IEC 61508-2和IEC 61508-3,尽管part2属于硬件开发部分,但是part3引用了部分part2的内容所以也需要考虑。由于类似ISO 26262这样的标准需要兼顾方方面面,因此在芯片开发的过程中,可能会发现标准的clause并不适用,这就涉及到根据芯片研发的state of art去对整个标准进行裁剪以及解释。

    最后,ISO/IEC directive的part 1和part 2提供了关于标准内容和编写标准的说明,如果有空也可以了解一下编写标准的标准,一定程度上有助于对标准的解释。了解各种各样的安全标准会加深对于功能安全的理解,有些标准里面解释的不是很清晰的地方,在另外一份标准里面可能会非常详细,例如阅读EN954会有助于理解ISO 13849,阅读IEC61508以及ISO 26262会对加深对于两个标准的理解有很大的作用。

欢迎关注WX公众号“功能安全沉思录”,那边更新快一些!

    end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值