MUNIK解读ISO26262--什么是DFA

我们在学习功能安全过程中,经常会听到很多安全分析方法,有我们熟知的FMEA(Failure Modes Effects Analysis)和FTA(Fault Tree Analysis)还有功能安全产品设计中几乎绕不开的FMEDA(Failure Modes Effects and Diagnostic Analysis),相比于它们而言,今天我们的主角DFA(Dependent Failure Analysis)可能会稍微有点陌生。

在开发功能安全产品过程中,我们会进行大量的定性分析工作,其中主要就包含上面提到的FMEA和FTA。这两种分析方法一个是从底层的要素出发,分析要素故障会对系统造成何种失效影响,一个是从系统已知的单一失效模式出发,深挖造成失效发生的根本原因。无论如何,它们的研究对象都是单独的要素和系统之间的关系,并且是建立在这些底层要素之间不会发生互相影响的前提下,但是在实际的电子电气产品中,要素之间的相互影响是普遍存在的,要素之间的这种影响会不会影响我们终极目标(顶层安全目标)的实现?我们只有执行了DFA才会知道答案。

反过来讲,我们执行DFA就是为了验证我们设计中的要素之间互相影响的可能性和严重程度都比较低,它们之间尽可能不要互相影响,其实这就是在证明标准讲的“独立性”,标准对于独立性的定义是:两个或多个要素之间不存在导致违背安全要求的相关失效。意思就是只要要素具有充足的独立性以后,也就不会发生相关失效。这里面的相关失效其实就两种情况,一种叫级联失效,一种叫共因失效。关于级联失效的解释,标准是分为了内部原因和外部原因这两种情况,无论是内部原因还是外部原因,归根结底都是前者的故障最终导致后者的失效。共因失效是由于一些公用资源,公用信息等发生故障,从而导致多个组件同时发生失效的情况。

所有项目都要做DFA吗?

首先DFA(相关失效分析)的执行与ASIL没有关系,这是与FMEA还有FTA明显的一个区别,其次就是在架构设计过程中若产生了ASIL分解,有要素共存的情况(低等级的要素我们通常会认为他的开发要求不够严谨,可能会对高要求的产品造成不利影响),有冗余设计,功能电路和安全机制等情况时,那么就要执行相关失效分析。

DFA分析对象

在功能安全设计中,DFA一般在整个产品架构设计结束后执行,因为分析对象是整个产品,所以没必要细化到某一个子组件内部进行分析,将产品的架构设计框图作为DFA分析的输入信息就可以。

DFA的执行流程

标准对于DFA执行的详细流程见下图,此图虽然是定位于芯片层面,但是任何层面的产品,使用同样的方法,那么思考逻辑就是一样的。

上图中重要的活动可概括为以下四点:

  • 目标识别:就是明确分析对象。因为相关失效分析是分析要素之间是否会有影响,所以分析对象肯定是要素组,在实际产品设计中,内部的要素数量一般会比较庞大,那么我们在考虑分析产品内部是否存在共因失效或者级联失效时,如果将产品所有的组件进行配对分析的话,这个工作量会很巨大。标准也考虑了这个问题,因此对实施相关失效分析对象也是做了提前的分类和筛选的。这些互相可能发生相关失效的要素,他们之间会存在一些比较明显的关系特征,比如:我们在架构设计中进行了ASIL分解,那么分解后的两个要素,就要考虑之间会不会有相关失效的发生,或者有要素共存的情况发生时,若低等级的要素和高等级的要素进行了交互,那么它们之间就要执行相关失效分析。如果有冗余设计,功能电路和其安全机制这种关系也要对其进行相关失效分析,我们在进行其他安全分析比如FMEA分析过程中多次出现的具有相似失效模式的相似元器件或组件,FTA过程中出现重复的相同事件,这些都是可以作为DFA分析的输入指导。
  • 确定耦合因子类型:在明确产品中可能会发生相关失效的要素之后,按照标准中的要求进行耦合因子类型的判断。标准对于耦合因子进行了总结和归纳分为了共享资源,共享信息输入,环境抗干扰能力不足,系统耦合,相同类型的组件,通信,非预期接口这七类。

  • 失效分析:在确定了要素组的耦合因子类型后,对于每种耦合因子深层次的失效原因,故障模式(也就是故障发生如何导致系统失效),故障影响进行分析。根本的失效原因我们通常称之为相关失效引发源,缩写DFI。

我们举个例子,

第一步目标识别:假设我们的架构设计中存在PLL(锁相环,实现外部输入信号与内部震荡信号同步)和对其的监控电路CMC,它们之间的关系就属于功能电路和安全机制的关系,所以我们要分析这两者会不会发生相关失效。

第二部分析耦合因子的类型:我们分析后发现PLL和CMC共用了一个电源,因此就满足“共享资源”类型的耦合因子。

第三步失效分析:也就是目前的这个阶段,我们对这种情况分析后发现,如果共用电源电压过高或过低,PLL和CMC都无法工作,最终影响了产品安全目标的实现。因此我们就要制定安全措施来对此情况进行处理,也就是我们的下一个环节。

  • 措施:通过上面的分析活动之后,进入到第四步制定措施,因为共享电源的故障会导致PLL和CMC的失效,最终违反安全目标,我们对电源增加独立的PVT监控电路(安全机制),当电源电压过高或过低时,PVT会检测到异常,并将异常上报给CPU进行故障诊断,最终结果可能会向外发送一个异常信号。从发现异常,到上报异常,再到系统发送出异常信号,整个过程会控制在60ms以内(其中发送出异常信号就是经常讲的安全状态,其中的60ms应小于它最终分配到的FTTI)。这些增加的安全措施最终都要通过一些验证或测试手段证明他的有效性。

需要注意的是这里的安全措施不局限于安全机制。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/41452.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VBA中打开、保存关闭Excel工作簿的方法

前言 本节会介绍使用VBA方法打开Excel工作簿、保存关闭Excel工作簿的方法,分别会用到Open、Save、Close方法的使用。 1.使用Open方法打开工作簿 Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,WriteResPassword,Ignore-ReadOnlyResommended,Orig…

【OceanBase】OBProxy 无状态的理解

SueWakeup 个人主页:SueWakeup 系列专栏:为祖国的科技进步添砖Java 个性签名:保留赤子之心也许是种幸运吧 本文封面由 凯楠📸友情提供 目录 前言 OBProxy 无状态的概述 OBProxy 无状态特性带来的优点 1. 高可用 2. 负载均衡…

centos7.9安装mysql5.7

由于个人配置的服务器性能比较差,容量也不够,没有使用docker或宝塔安装mysql 参考(有细节差异): https://blog.csdn.net/weixin_44304847/article/details/124349013?ops_request_misc%257B%2522request%255Fid%2522…

2024最新版Redis常见面试题包含详细讲解

Redis适用于哪些场景? 缓存分布式锁降级限流消息队列延迟消息队 说一说缓存穿透 缓存穿透的概念 用户频繁的发起恶意请求查询缓存中和数据库中都不存在的数据,查询积累到一定量级导致数据库压力过大甚至宕机。 缓存穿透的原因 比如正常情况下用户发…

C++基础22 字符串与字符数组及其相关操作

这是《C算法宝典》C基础篇的第22节文章啦~ 如果你之前没有太多C基础,请点击👉C基础,如果你C语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦 ​ 目…

蓝牙传输技术的演进与发展

蓝牙模块技术,作为无线通信领域的重要一员,自其诞生之初便受到了广泛的关注和应用。随着技术的不断发展和演进,蓝牙模块技术已经从最初的单一功能、有限传输速度发展到现在的多功能、高速率、低功耗,为人们的生活和工作带来了极大…

MySQL 一些用来做比较的函数

目录 IF:根据不同条件返回不同的值 CASE:多条件判断,类似于Switch函数 IFNULL:用于检查一个值是否为NULL,如果是,则用指定值代替 NULLIF:比较两个值,如果相等则返回NULL&#xff…

信创-系统架构师认证

随着国家对信息技术自主创新的战略重视程度不断提升,信创产业迎来前所未有的发展机遇。未来几年内,信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

Android Gradle 开发与应用 (五): 构建变体与自定义任务

目录 1. 概述 2. 构建变体 2.1 构建变体的概念 2.2 构建类型 2.3 产品风味 2.4 构建变体的使用 3. 自定义任务 3.1 自定义任务的概念 3.2 创建自定义任务 3.3 配置任务依赖 3.4 任务类型 3.5 动态任务 3.6 自定义任务执行顺序 4. 案例 4.1 多渠道打包 4.2 自动…

Linux CMakeLists编写之可执行程序

目录 1 概述2 文件命名3 实例4 代码分析 1 概述 编译工具有很多(make/cmake/BJam)。cmake是跨平台,使用cmake编译需要编写CMakeLists.txt。本文编写CMakeLists.txt来生成C可执行程序。 2 文件命名 文件命名为CMakeLists.txt,是一个文本文件,可以使用任何编辑器编辑…

iOS项目怎样进行二进制重排

什么是二进制重排 ? 在iOS项目中,二进制重排(Binary Reordering 或者 Binary Rearrangement)是一种优化技术,主要目的是通过重新组织应用程序的二进制文件中的代码和数据段,来提高应用程序的性能&#xff…

【Kubernetes】如何将应用服务,部署到Kubernetes中???

第一步:准备Docker镜像 首先,将服务打包为Dokcer镜像。确保镜像构建正确,并包含服务运行所需的所有依赖项和配置。 (1)创建一个文件夹(目录) mkdir ./newpath(2)在文件来(目录)中创建Dockerf…

代码随想录训练营Day56

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、搜索插入位置二、在排序数组中查找元素的第一个和最后一个位置 前言 提示:这里可以添加本文要记录的大概内容: 今天是跟着代码随想…

Mqtt Client客户端重连时,清空订阅的主题

最近开发时,碰到需要修改mqttClient客户端的订阅主题。实际测试时发现一个问题,修改订阅了新的主题,重连后,之前订阅的主题还是存在,还能继续收到之前订阅主题的消息。 解决办法,配置 mOptions.setCleanSes…

NXP i.MX8系列平台开发讲解 - 3.18 Linux tty子系统介绍(一)

专栏文章目录传送门:返回专栏目录 Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】 目录 1. TTY 起源 2. Linux 系统中的TTY 2.1 Linux TTY 设备形式 2.2 Linux TTY framework 2.3 驱动核心相关文件…

零基础入门怎么学习老挝语字母表?《老挝语翻译通》App真人发音教学,学习老挝语字母发音和词汇句子!

这段老挝文字翻译成中文是什么意思?有什么好用的老挝语翻译工具推荐吗? 快速翻译:中老语言无缝转换,实时翻译,让沟通更流畅。 学习工具:零基础入门到流利对话,老挝语真人发音,让你的…

MaxKB开源知识库问答系统发布v1.3.0版本,新增强大的工作流引擎

2024年4月12日,1Panel开源项目组正式发布官方开源子项目——MaxKB开源知识库问答系统(github.com/1Panel-dev/MaxKB)。MaxKB开源项目发布后迅速获得了社区用户的认可,成功登顶GitHub Trending趋势榜主榜。 截至2024年7月4日&…

docker仓库--centos7.9部署harbor详细过程与使用以及常见问题

文章目录 前言1.docker-compose是什么2.harbor是什么 centos7部署harbor详细过程与使用环境一、部署docker二、部署harbor1.下载docker-compose工具2.harbor安装3.拷贝样本文件,并修改文件4.安装harbor,安装完成自行启动5.查看 三、harbor的使用1.创建项…

点估计和参数分布的对比

点估计(Point Estimation)和 参数分布(Parameter Distribution)是统计学中两种不同的参数估计方法。 文章目录 点估计(Point Estimation)参数分布(Parameter Distribution)对比总结 …

Https网站如何申请免费的SSL证书及操作使用指南

前言 在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名…