电子电气架构 --- 基于ISO 26262的车载电子软件开发流程
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。
时间不知不觉中,快要来到深秋。马上到了中秋和国庆的假期,成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。
本文主要分享电子电气架构 — 基于ISO 26262的车载电子软件开发流程。
基于ISO 26262的车载电子软件开发流程是一个严谨且系统的过程,旨在确保车辆电子系统在整个生命周期内都具备功能安全性。ISO 26262标准以IEC 61508为基础,针对道路车辆上特定的电子、电气和软件组件组成的安全相关系统进行了详细规定。以下是根据ISO 26262标准的车载电子软件开发流程的主要步骤:
软件系统级阶段(SW-SYS):
软件需求分析:识别系统和环境的需求,定义软件组件的功能和安全性能要求。
架构设计和概要设计:定义软件组件和模块的功能、接口和相互关系,以及进一步细化架构设计。
软件单位级阶段(SW-UNIT):
详细设计:定义软件模块的内部实现和算法,包括数据结构、函数和接口等。
软件集成:对软件模块进行集成,确保它们可以协同工作并满足整个系统的安全要求。
概念阶段
目标设定:基于用户需求和市场分析,设定项目的总体目标和范围。
功能定义:明确车载电子系统需要实现的功能和性能要求。
需求阶段
需求分析:对系统需求进行详细分析,确保需求的明确性、可追溯性、合理性和完整性。
安全目标确定:根据功能定义和危害分析,确定软件系统的安全目标。
制定软件安全计划:包括软件安全目标、软件安全策略、软件开发的组织结构、软件验证和测试、软件故障处理以及软件维护等方面的内容。
确保软件需求明确、可追溯、合理、完整且无歧义。
细化功能安全概念,考虑外部接口、系统限制条件、系统配置需求等。
设计阶段
逻辑系统架构:基于用户需求制定逻辑系统架构,包括整车或子系统的功能网络、功能接口和功能间通信。
技术系统架构:定义哪些功能或子功能需要由软件实现,形成软件需求规格说明。
软件架构设计:根据软件需求规格说明,设计软件系统的架构,包括软件系统的边界和接口、所包含的软件组件、层级和运行状态。
架构设计应满足模块化、足够的颗粒度和简单的原则,避免高复杂性引起的失败。
软件架构设计应描述合适的抽象等级,确保后续开发流程的正确性和有效性。
实现和集成阶段
软件组件开发:根据软件架构设计,开发各个软件组件。
单元测试:对各个软件组件进行单元测试,确保组件的功能正确性和性能达标。
集成测试:将所有软件组件集成为完整的软件系统,并进行集成测试,评估各组件之间的相互作用和整体性能。
验证和确认阶段
系统验证:将软件系统嵌入控制器硬件,进行系统集成测试,评估系统和被控对象之间的相互作用。
安全验证:根据ISO 26262的要求,进行安全验证,确保软件系统满足功能安全性的要求。
评审和确认:通过评审和确认过程,确保软件开发过程符合ISO 26262标准的要求,并且软件系统达到了预定的安全目标。
针对每个开发阶段进行验证和确认测试,包括功能测试、故障注入测试、安全性能评估等。
记录验证结果和文档管理,确保开发过程的透明性和可追溯性。
维护和更新
软件维护:在软件系统的生命周期内,进行定期的软件维护,包括修复漏洞、优化性能等。
更新和升级:根据技术发展和市场需求,对软件系统进行更新和升级,确保软件系统的持续性和竞争力。
在整个开发流程中,ISO 26262标准强调了对软件开发生命周期中所有阶段的严格规范和要求,包括制定软件安全计划、进行安全性分析和评估、采用适当的软件验证和测试方法、建立软件故障处理机制以及进行定期的软件维护等。这些措施共同确保了车载电子系统在整个生命周期内都具备功能安全性。