我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:
所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗的态度去搞学习搞事业搞钱,然后用躺平和摆烂的态度对待人际关系,烦恼能消失一大半。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。
时间不知不觉中,快要来到元旦。2024快要结束,2025又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。
一、背景信息
ASIL D安全是指汽车行业中的最高安全完整性等级,全称为Automotive Safety Integrity Level D(汽车安全完整性等级D)。这一等级是在ISO 26262(道路车辆功能安全标准)中定义的,用于评估和管理汽车电子系统的安全性。
其定义与背景:
ASIL D是ISO 26262标准中定义的最高安全等级,适用于对人身伤害有极高要求的系统、功能或元件。
随着汽车电子系统的日益复杂,功能安全成为确保车辆安全性的关键因素。ISO 26262标准旨在通过定义不同的安全等级,帮助汽车制造商评估和管理汽车电子系统的安全性。
适用系统与要求
适用系统:ASIL D等级的系统通常包括关键的驾驶辅助系统、制动系统、转向系统等,这些系统直接关系到车辆的操控和安全性能。
要求:ASIL D等级的系统必须具备可靠性和强大的故障防范能力,以防止任何故障导致严重伤害或生命危险。实现这一级别的安全性需要进行严格的分析、验证和确认,并采取相应的安全措施,如冗余设计、错误检测和纠正机制、失败安全策略等。
开发流程与文档记录
开发流程:ASIL D等级的系统开发需要遵循严格的开发流程,包括需求分析、设计、实现、验证和确认等阶段。
文档记录:为确保设计和开发过程符合标准的要求,需要建立详细的文档记录,包括设计文档、验证报告、确认报告等。
二、如何实现ASIL D安全?
在企业中建立定义和践行安全关键型产品开发的安全文化,包括任命一名独立的功能安全(FuSa)组织经理,该经理对产品开发团队具有独立权限。安全监督和开发活动包括所记录的定义和对安全计划的遵守以及安全要求的定义/文件。
安全计划和安全规范包括功能硬件/软件安全机制,如 ECC、奇偶校验、双核互锁机制和其他功能。这些机制由设计团队按照安全概念规范中的要求实施。
将硬件/软件安全机制设计到安全关键型SoC的汽车IP产品中,需要对IP产品进行评估和验证,实现ADAS功能的最新SoC处理器采用的汽车级IP必须符合特定 ISO 26262 汽车安全完整性等级 (ASIL),并符合安全关键型SoC的ISO 26262功能安全开发流程。
除了硬件/软件安全开发(包括针对这些硬件/软件安全机制随机故障的功能安全评估),汽车行业最佳方式还要求对所有安全关键型产品的系统开发流程进行安全评估。
系统开发流程涉及产品的所有开发阶段,例如规划阶段、开发阶段、验证/确认阶段、评估和产品发布以及持续维护和产品监控。在以上各个阶段中,安全关键型产品的开发需要FuSa安全管理团队和产品开发团队执行多个步骤和审查(包括持续监控),以确保遵循ISO 26262 系统开发流程(如图 )。
1、对于公司需要建立安全文化
高层领导的支持:
高层领导应明确表达对安全文化的重视,并将其纳入企业的核心价值观中。提供必要的资源和资金,确保安全文化的实施和持续改进。
任命独立的功能安全(FuSa)组织经理,该经理应具备丰富的功能安全知识和经验,对产品开发团队具有独立权限。负责制定和监督功能安全策略、计划和实施,确保所有开发活动符合ISO 26262标准。
安全监督和开发活动:
设立专门的安全监督团队,对产品开发过程进行全程监督。确保所有开发活动都记录在案,并符合安全计划的要求。对安全要求进行明确定义和文件记录,确保团队成员对安全要求有清晰的认识。
功能硬件/软件安全机制,设计团队应根据安全概念规范中的要求,实施如ECC(错误检测和纠正)、奇偶校验、双核互锁机制等硬件安全机制。
软件安全机制应包括错误处理、异常检测和恢复等策略。
安全评估和验证,对硬件/软件安全机制进行严格的评估和验证,确保其符合ISO 26262标准。采用模拟、测试、分析等手段,验证安全机制的有效性。
3、安全关键型SoC的汽车IP产品设计和验证
IP产品评估和验证:对用于安全关键型SoC的汽车IP产品进行严格的评估和验证。确保其符合ISO 26262汽车安全完整性等级(ASIL)的要求。
符合ISO 26262功能安全开发流程,遵循ISO 26262功能安全开发流程,确保SoC处理器的设计和开发符合安全标准。在开发过程中,注重硬件/软件安全机制的集成和验证。
4、系统开发流程的安全评估
全程安全评估:除了硬件/软件安全开发外,还对系统开发流程进行安全评估。评估内容包括但不限于规划阶段、开发阶段、验证/确认阶段、评估和产品发布以及持续维护和产品监控。
多个步骤和审查:在系统开发流程的各个阶段中,FuSa安全管理团队和产品开发团队应执行多个步骤和审查。包括但不限于需求分析、设计审查、测试验证、安全确认等。
持续监控:设立持续监控机制,确保系统开发流程始终符合ISO 26262标准。对发现的问题和隐患进行及时整改和纠正。
5、阶段汇总
建立并践行安全关键型产品开发的安全文化是一个长期而持续的过程。它需要高层领导的支持、独立的功能安全组织经理的引领、安全监督和开发活动的严格执行以及系统开发流程的安全评估等多个方面的共同努力。只有这样,才能确保安全关键型产品的开发始终符合ISO 26262标准,为用户提供安全可靠的产品和服务。
三、ISO 26262 FuSa 系统开发流程
ISO 26262标准定义了功能安全(FuSa)系统开发流程,该流程是确保汽车电子系统安全性的基础。这个流程包括了从规划阶段到产品发布和持续监控的所有阶段,每个阶段都有其特定的任务和目标。
1、ASIL评估的选择
仅遵循ASIL随机硬件/软件故障评估:这可能适用于安全要求较低的系统,但可能不足以确保ASIL D等级系统的安全性。
同时遵循ASIL随机硬件/软件故障和ASIL D系统故障评估:这是行业普遍最认可的做法,特别是对于ASIL D等级的系统。这种双重评估提供了更全面的安全保障,确保了系统在面临各种故障模式时都能保持安全。
2、严格的程序和多重制衡
对于同时遵循两种评估的产品,开发团队需要确保所有方面都经过严格的程序,并具有多重制衡。这包括多次审核和批准流程迭代,以及内部审计和可选的第三方独立检查/审计。这些程序旨在确保开发过程的完整性和准确性,从而提高产品的安全性。
3、质量管理体系 (QMS)
制定汽车行业最先进的质量管理体系(QMS)是确保执行、记录和审核所有步骤的关键。QMS系统应包括从要求设置到执行和确认的完整要求跟踪,以确保所有工作成果/可交付成果都符合标准。
4、开发阶段的工作成果
规划阶段:定义和跟踪产品的每个工作成果,确保开发过程有明确的目标和计划。
开发阶段:完成大多数工作成果/可交付成果,包括设计、实现和测试等。
验证/确认阶段:生成多个工作成果,包括验证报告、确认报告等,以确保系统符合安全要求。
评估和产品发布阶段:进行最终评估,生成产品发布文档,确保产品可以安全地交付给客户。
5、QMS系统中的报告跟踪
在每个开发阶段,都应在QMS系统中创建和独立跟踪确认审核报告、功能安全审计报告和功能安全评估报告。这些报告是证明开发过程合规性和产品安全性的重要依据。
6、安全工作成果/可交付成果的数量
ASIL D系统开发流程通常会产生大量的安全工作成果/可交付成果,可能超过80种。这些成果涵盖了从需求分析到产品发布的所有阶段,确保了系统的安全性和合规性。
ISO 26262 FuSa 系统开发流程的重要性
ISO 26262标准定义了汽车电子系统开发的功能安全要求,以确保在车辆使用过程中,即使系统发生故障,也不会导致对乘客或道路使用者造成伤害。这一标准中的系统开发流程是整个产品合规性的基础,涵盖了从需求分析到产品发布和维护的所有阶段。
ASIL评估的选择:在ISO 26262标准中,根据系统的安全关键性和潜在危害程度,将汽车电子系统分为不同的安全完整性等级(ASIL),从A到D,其中ASIL D是最高等级。开发团队在评估系统时,可以选择仅遵循ASIL随机硬件/软件故障评估,但这样做可能不足以满足ASIL D等级系统的安全性要求。因此,行业普遍最认可的做法是同时遵循ASIL随机硬件/软件故障和ASIL D系统故障评估,以确保系统在面临各种故障模式时都能保持安全。
严格的程序和多重制衡:对于同时遵循两种评估的产品,开发团队需要确保开发的所有方面都经过严格的程序,并具有多重制衡。这包括但不限于:
多次审核和批准流程迭代:在开发过程中,每个阶段都需要经过多次审核和批准,以确保工作成果符合安全要求。这些审核和批准流程应该是迭代的,即每次迭代都需要对之前的工作进行回顾和验证。
内部审计:内部审计是确保开发过程符合ISO 26262标准和公司政策的重要手段。它可以帮助开发团队发现潜在的问题和风险,并及时采取措施进行纠正。
第三方独立检查/审计:除了内部审计外,还可以选择进行第三方独立检查/审计。这可以提供额外的保障,确保开发过程和产品符合行业标准和法规要求。
遵循最佳实践:为了确保开发过程的有效性和产品的安全性,开发团队应该遵循最佳实践,包括但不限于:
使用成熟的技术和工具:选择经过验证的技术和工具,可以降低开发过程中的风险,提高产品的可靠性。
建立有效的沟通机制:团队成员之间应该建立有效的沟通机制,确保信息及时传递和共享。这有助于发现潜在的问题和风险,并及时采取措施进行解决。
持续监控和改进:开发过程应该是持续监控和改进的过程。通过收集和分析数据,可以发现潜在的问题和改进点,并及时采取措施进行改进。
搁笔分享完毕!
愿你我相信时间的力量
做一个长期主义者