符合安全设计规范的系统开发大全
急是尽可能避免系统失效,这取决于要求的SIL,而SIL会因为措施的数量和使用程度发生变化。产品生命周期中的每个阶段针对系统失效都有不同的要求。规范概述了以下设计流程:实现、验证和确认。针对结构完善的设计来说,推荐采用V模式(V-Model)。针对于软件设计和FPGA编程,该标准具体说明了其设计阶段和验证阶段。
图2:IEC61608-2:2010规范中针对FPGA设计的V模式
综上所述,功能安全管理技术方面的措施对于避免系统失效来说是至关重要的。安全管理包括在研发开始之前为所有的设计和验证步骤制定详细的计划。由此可见,安全管理人员必须要有一个定义明确的项目计划。
文档管理
作为安全项目的一部分,必须完善制定文档管理方面的规范。文档管理描述了如何处理、储存、发布和修改文档,以及文档的访问权限和每个团队成员的受限情况。版本控制应当作为自动化流程由工具实现。
需求管理
管理所有的需求是安全项目中非常必要的一部分。每项安全需求在整个安全项目中都应当是可追踪的。安全项目的最终目标是确保所有的需求都能够被正确地实现。相关测试可用来确认特定的需求能否降低风险。就此而论,必须根据精确的数据、完整性和一致性来组织整理要求。从架构到实现的模块,模块测试到整合,再到系统测试的整个过程中,安全项目必须要能显示需求产生于哪个部分。
组织和责任
分工明确并且结构完善的团队对于确保高效无缝地完成所有任务来说是至关重要的。团队结构和小组领导应当按照层次顺序设定。所有的联系信息都应当是可用的,特别是对于分散的团队来说,必须为团队成员制定通讯和协作的方式。这对于审核人员、开发人员和测试人员能否各司其职具有重要意义。
措施的定义
根据要求的SIL,该标准提供了一系列适用于每个生命周期的表格,包含推荐或强烈推荐的措施,可作为默认的失效避免工具使用。在研发开始之前,应当选择所有涉及到设计和验证方法的技术。IEC 61508规范的第2和第3部分列出了所有技术。第2部分涵盖了所有硬件领域以及所有ASIC或FPGA领域。第3部分涵盖了所有软件领域。FPGA编程被囊括进IEC61508标准的第2部分中,这有点让人费解,不过这不是技术问题,更多的是标准化组织的原因。不过这个不要紧,因为开发FPGA软件的方法与开发微控制器软件的方法相似。不同点在于技术。举个例子,仿真技术在FPGA设计过程中更加常用,而微控制器则更需要带有调试工具的硬件。
表3:F.2 IEC61508-2表2摘要
表3展示了降低FPGA设计中系统失效的技术列表的摘要。对于一般硬件和软件设计,也有适用的类似表格。使用这些表格的原则是始终如一的。标注为"HR"的措施必须得以施行。如果不这么做,那么相关决策是不合理的。标注为"R"的措施应当在条件允许的情况下使用。
验证和确认计划
验证和确认流程也必须在安全功能实现之前计划好。所有的设计阶段都要选择故障避免文档中的措施进行验证。计划的措施必须阐明目前的项目将在真实情况中如何表现。举个例子,计划的措施可以是静态代码分析。那么对应的验证和确认计划应当覆盖所有将由代码检查器检验的软件模块(SW-Module),包含使用该工具的流程并将如何对结果进行处理、分析和存档的说明。
另一个例子是FPGA设计过程中的网表检查。第一步是明确这个步骤必须完成,谁来执行这个任务以及输入和输出的文件是什么。下一步是定义进行该任务需要使用的工具以及发布流程。
该计划可用作针对所有验证和确认流程的检查表,能够为所有计划流程的完成度提供完整的概览。
工具认证
针对在生命周期中的所有阶段密集使用任何类型软件工具的情况,所有将用于实现安全部分的工具将按照它们对于安全功能的影响进行分析。这意味着,首先需要列出所有的工具,然后将所有的软件工具根据工具重要性等级(IEC61508-4:2010标准中的T1、T2、T3等级)进行分类。
表4:工具重要性等级
表4展示了标准中的相关定义以及莱迪思工具列表,后者按照使用FPGA实现安全相关任务时的相应等级进行分类。在真实的项目中,该列表需要填上所有使用到的工具。知晓某个工具在项目中的重要性是有用的,但这并不会让人们获得更加安全的系统。这就是为什么要进行额外的工作,比如说进行工具认证让工程师对使用的工具有把握。有把握的意思是能够确认或知晓工具发生的错误。如果该工具能够正确地满足规范要求并且使用者已经获得了该工具经过确认的凭据,那么他就可以不受任何约束地使用该工具。如果该工具无法按照规范要求工
- 浅谈人机交互界面和工业智能化的关系(09-30)
- FPGA设计五大优势 凸显工业应用灵活性(09-28)
- 打造面向工业物联网的创新应用平台(10-04)
- ARM微处理器在智能工业中有何应用?(02-28)
- 教你如何消除工业漏地电流改善EMC(10-02)
- 借人工智能东风FPGA芯片设计顺势崛起(02-18)