功能安全标准IEC61508主要涉及到嵌入式软件的安全性及可靠性,尤其在汽车电子、核电、工业仪器仪表等领域。在此博客中主要说明设计的流程。
第一步:需求分析
对要涉及的产品进行需求分析,需求分析分为功能需求和安全需求。注:要严格按照《计算机软件设计的需求规范》书写需求分析报告,其他规范也可以。
1 功能需求:产品定义哪些功能,如:采集数据、处理数据、输出数据、与其他系统通信、校准等都是其功能。
2 安全功能:上面定义的功能中,如果某个功能出现问题,系统就会出错甚至崩溃,那么此功能可以定义为安全功能。安全功能可以有多个。
3 安全功能确定好了,就要依据相关技术确定其安全完整性等级SIL,如风险矩阵法(针对安全功能)。
4 依据IEC61508标准及确定的SIL选取标准中推荐的技术/措施(针对安全功能)。
第二步:概要设计
设计产品的整体结构,非安全功能按照常规设计方法即可,安全功能必须按照在标准中选取的技术./措施进行设计。画出安全功能的可靠性框图,如FTA
第三步:详细设计
各功能分模块设计
第四步:编码
第五步:FMEDA收集失效数据,分析每一种失效的失效率,以及失效原因,对系统造成的影响,如何改进等
第六位:用MARKOV模型计算安全功能是否达到了需求分析中要求的SIL,若没有达到要求,改进设计方法。
第七步:整体集成及测试。在前面的步骤中已经进行测试报告的书写,及相关测试。