功能安全量产落地的三座大山(七)
理论与实践(二)
实施建议
很多工程师都有一个通病:喜欢证明自己是对的、别人是错的。但是有意思的是,功能安全在很多时候并没有对错之分。因为功能安全是一套方法论,方法论是用来解决问题的,而针对一个具体问题的解决方案往往不止一种。既然都可以称得上解决方案,那么大体上都能满足功能安全的要求。也就是说,功能安全的实现方式常常是灵活的。
举几个例子:
问:实现ASIL C的采样功能一定要两路传感器冗余吗?
答:不一定。笔者在前期文章的案例分享里已经有过论述。
问:不同ASIL等级的软件共存一定要采用软件分区吗?
答:不一定。本期文章的案例分享就是一个典型。
问:实现功能安全一定要采用EGAS三层架构吗?
答:不一定。EGAS三层架构只是一种典型的实现方式,常用的安全架构还包括1oo2、2oo2、2oo3等。
哪种方案对既有功能、设计的改动最小?(融合)
哪种方案与既有策略的矛盾、冲突最小?(平衡)
哪种方案技术难度最小、实现起来最快?(周期)
哪种方案的设计、生产、维护成本最低?(成本)
2. 广泛深入的阅读资料
3. 大量有效的项目实践
“操千曲而后晓声,观千剑而后识器”。项目实践对于掌握理论的重要性无需多言。不管是学什么,只有学以致用,才能做到知行合一。在这里笔者想着重强调一下项目实践过程中的关键点,否则如果只是为了做项目而做项目的话,就算做再多的项目也只是重复劳动而已,没法快速有效的提升水平。
实际上,功能安全工程师要想真正的把功能安全融合到产品里面去,必须从三个方面同时入手:功能安全原理、产品领域知识和嵌入式软硬件技术,这三者缺一不可。从功能安全原理出发,产品领域知识决定了你的高度,而嵌入式软硬件技术决定了你的深度。功能安全是产品的一部分,你必须从更高的层面、也就是从产品角度来看待功能安全。而每当和软件工程师、硬件工程师讨论实施细节的时候,你的嵌入式软硬件技术功底有多深,你就能和他们讨论到多深。功能安全是通过嵌入式软硬件技术来融合到产品中的,所以我们不难理解,对一个企业来说,嵌入式软硬件研发水平越高,功能安全越容易落地。
所以,功能安全工程师千万不要把自己局限在功能安全里面,产品领域知识和嵌入式软硬件技术都是我们需要学习的内容,在项目实践过程中需要注意。
4. 同行之间的交流讨论
“三人行,必有我师”。每个人都有认识上的局限性,与同行的交流讨论能相互启发,加深理解,提升水平。这也是笔者写作《功能安全量产落地的三座大山》系列文章的初衷,希望能抛砖引玉,促进国内同行之间的交流讨论。
除此之外,参加业内相关的论坛、研讨会也是很有裨益,在此不再赘言。
结语
不知不觉写到了尾声,感谢一路相随的朋友们。这几年项目做下来,笔者也深刻的感受到功能安全在国内企业量产落地的困难,细数起来可能远不止“三座大山”。但是怎么说呢?有困难说明还有发展空间,这也正是体现我们能力的机会。要是疑难问题都已经解决了,那也就没有什么技术含量了。不是吗?
“众人拾柴火焰高”,集体的智慧远高于个人。要想让ISO26262标准适配国内企业的实际情况,需要国内整个行业的共同努力。“道阻且长,行则将至;行而不辍,未来可期。”让我们一起努力,加油!
The End
说明:
* 文章仅代表作者个人观点,不代表'仨人谈起'立场