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)。这些增加的安全措施最终都要通过一些验证或测试手段证明他的有效性。
需要注意的是这里的安全措施不局限于安全机制。
相关文章:
MUNIK解读ISO26262--什么是DFA
我们在学习功能安全过程中,经常会听到很多安全分析方法,有我们熟知的FMEA(Failure Modes Effects Analysis)和FTA(Fault Tree Analysis)还有功能安全产品设计中几乎绕不开的FMEDA(Failure Modes Effects and Diagnostic Analysis),相比于它们…...
启动spring boot项目停止 提示80端口已经被占用
可能的情况: 检查并结束占用进程: 首先,你需要确定哪个进程正在使用80端口。在Windows上,可以通过命令行输入netstat -ano | findstr LISTENING | findstr :80来查看80端口的PID,然后在任务管理器中结束该进程。在...
SOLIDWORKS分期许可(订阅形式),降低前期的投入成本!
SOLIDWORKS 分期许可使您能够降低前期软件成本,同时提供对 SOLIDWORKS 新版本和升级程序的即时访问,以及在每个期限结束时调整产品的灵活性,帮助您跟上市场需求和竞争压力的步伐。 目 录: ★ 1 什么是SOLIDWORKS分期许可 ★ 2 …...
详细分析Spring Boot 数据源配置的基本知识(附配置)
目录 前言1. 基本知识2. 模版3. 实战经验前言 对于Java的基本知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新)1. 基本知识 包括数据源的概念、连接池的作用、多数据源的实现与管理、Druid 连接池…...
海思SD3403/SS928V100开发(15)9轴IMU ICM-20948模块SPI接口调试
1.前言 芯片平台: 海思SD3403/SS928V100 操作系统平台: Ubuntu20.04.05【自己移植】 9轴IMU模块:ICM-20948 通讯接口: SPI 模块datasheet手册: https://download.csdn.net/download/jzwjzw19900922/89517096 2. 调试记录 2.1 pinmux配置 #spi0 bspmm 0x0102F01D8 …...
大力出奇迹:大语言模型的崛起与挑战
随着人工智能(AI)技术的迅猛发展,特别是在自然语言处理(NLP)领域,大语言模型(LLM)的出现与应用,彻底改变了我们与机器互动的方式。本文将探讨ChatGPT等大语言模型的定义、…...
【算法 - 哈希表】两数之和
这里写自定义目录标题 两数之和题目解析思路解法一 :暴力枚举 依次遍历解法二 :使用哈希表来做优化 核心逻辑为什么之前的暴力枚举策略不太好用了?所以,这就是 这道题选择 固定一个数,再与其前面的数逐一对比完后&…...
【深度学习】图形模型基础(5):线性回归模型第一部分:认识线性回归模型
1. 回归模型定义 最简单的回归模型是具有单一预测变量的线性模型,其基本形式如下: y a b x ϵ y a bx \epsilon yabxϵ 其中, a a a 和 b b b 被称为模型的系数或更一般地,模型的参数。 ϵ \epsilon ϵ 代表误差项&#…...
2024 年第十四届 APMCM 亚太地区大学生数学建模竞赛B题超详细解题思路+数据预处理问题一代码分享
B题 洪水灾害的数据分析与预测 亚太中文赛事本次报名队伍约3000队,竞赛规模体量大致相当于2024年认证杯,1/3个妈杯,1/10个国赛。赛题难度大致相当于0.6个国赛,0.8个妈杯。该比例仅供大家参考。 本次竞赛赛题难度A:B:C3:1:4&…...
Yarn有哪些功能特点
Yarn是一个由Facebook团队开发,并联合Google、Exponent和Tilde等公司推出的JavaScript包管理工具,旨在提供更优的包管理体验,解决npm(Node Package Manager)的一些痛点。Yarn的功能特点主要包括以下几个方面࿱…...
深度学习算法bert
bert 属于自监督学习的一种(输入x的部分作为label) 1. bert是 transformer 中的 encoder ,不同的bert在encoder层数、注意力头数、隐藏单元数不同 2. 假设我们有一个模型 m ,首先我们为某种任务使用大规模的语料库预训练模型 m …...
PyTorch - 神经网络基础
神经网络的主要原理包括一组基本元素,即人工神经元或感知器。它包括几个基本输入,例如 x1、x2… xn ,如果总和大于激活电位,则会产生二进制输出。 样本神经元的示意图如下所述。 产生的输出可以被认为是具有激活电位或偏差的加权…...
docker-compose搭建minio对象存储服务器
docker-compose搭建minio对象存储服务器 最近想使用oss对象存储进行用户图片上传的管理,了解了一下例如aliyun或者腾讯云的oss对象存储服务,但是呢涉及到对象存储以及经费有限的缘故,决定自己手动搭建一个oss对象存储服务器; 首先…...
vue3使用pinia中的actions,需要调用接口的话
actions,需要调用接口的话,假如页面想要调用actions中的方法获取数据, 必须使用try catch async await 进行包裹,详情看下面代码 import {defineStore} from pinia import {reqCode,reqUserLogin} from ../../api/hospital/i…...
Python酷库之旅-第三方库Pandas(003)
目录 一、用法精讲 4、pandas.read_csv函数 4-1、语法 4-2、参数 4-3、功能 4-4、返回值 4-5、说明 4-6、用法 4-6-1、创建csv文件 4-6-2、代码示例 4-6-3、结果输出 二、推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、Python魔法之旅 …...
社交电商中的裂变营销利器,二级分销模式,美妆家具成功案例分享
二级分销返佣模式是一种帮助商家迅速扩大市场覆盖的有效营销策略,不仅能降低营销成本,还能提升品牌知名度。下面通过两个具体的案例来说明这种模式的好处和优势。 某知名美妆品牌在市场竞争日益激烈的情况下,决定采用二级分销返佣模式进行市场…...
【国产开源可视化引擎Meta2d.js】图层
独立图层 每个图元都有先后绘画顺序,即每个图元拥有一个独立图层,即meta2d.data().pens的数组索引。 可以通过meta2d.top/bottom/up/down等函数改变独立图层顺序。 分组图层 通过标签可以标识一个分组图层,通过meta2d.find(图层标签)获取…...
基于Redisson实现分布式锁
基于redisson实现分布式锁 之前背过分布式锁几种实现方案的八股文,但是并没有真正自己实操过。现在对AOP有了更深一点的理解,就自己来实现一遍。 1、分布式锁的基础知识 分布式锁是相对于普通的锁的。普通的锁在具体的方法层面去锁,单体应…...
Android Studio下载Gradle特别慢,甚至超时,失败。。。解决方法
使用Android studio下载或更新gradle时超级慢怎么办? 切换服务器,立马解决。打开gradle配置文件 修改服务器路径 distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip 最后,同步,下载,速…...
leetcode--二叉树中的最长交错路径
leetcode地址:二叉树中的最长交错路径 给你一棵以 root 为根的二叉树,二叉树中的交错路径定义如下: 选择二叉树中 任意 节点和一个方向(左或者右)。 如果前进方向为右,那么移动到当前节点的的右子节点&…...
提升开发效率:IntelliJ IDEA必备插件推荐与安装指南(2023最新版)
2023年IntelliJ IDEA插件生态深度解析:从效率工具到全栈开发支持 JetBrains家族的IntelliJ IDEA早已超越普通代码编辑器的范畴,成为现代开发者手中的瑞士军刀。但鲜有人意识到,真正让这把军刀所向披靡的,是背后超过5000个官方认证…...
WindowsCleaner:告别C盘爆红,让Windows系统重获新生
WindowsCleaner:告别C盘爆红,让Windows系统重获新生 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经历过Windows系统越用越慢&…...
Qwen3.5-9B效果展示:中英混合输入+代码注释生成高质量输出
Qwen3.5-9B效果展示:中英混合输入代码注释生成高质量输出 1. 模型核心能力概览 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型,在多个领域展现出卓越的能力。这个模型特别适合处理复杂的技术任务,尤其是那些需要同时理解自然语言和编程语言的…...
高效学挖漏洞!全网最全平台汇总 + 零基础到精通指南,一篇搞定所有
一、众测平台(国内) 名称网址漏洞盒子https://www.vulbox.com/火线安全平台https://www.huoxian.cn/漏洞银行https://www.bugbank.cn/360漏洞众包响应平台https://src.360.net/补天平台(奇安信)https://www.butian.net/春秋云测https://zhongce.ichunqi…...
Qwen3-VL:30B多模态提示词工程:Clawdbot中优化图文提问格式提升飞书响应质量
Qwen3-VL:30B多模态提示词工程:Clawdbot中优化图文提问格式提升飞书响应质量 1. 引言:从部署到优化的进阶之路 在上一篇文章中,我们已经成功在星图AI云平台部署了Qwen3-VL:30B多模态大模型,并通过Clawdbot搭建了基础框架。现在面…...
基于Vue的川汇水产养殖管理系统[vue]-计算机毕业设计源码+LW文档
摘要:随着水产养殖业的快速发展,传统的管理方式已难以满足现代化水产养殖的需求。本文介绍了一款基于Vue框架开发的川汇水产养殖管理系统,该系统旨在提高水产养殖管理的效率和精准度。系统涵盖了系统用户管理、水质管理、药品管理、设备管理、…...
手把手调试:从V8引擎的ArrayBuffer到WebAssembly,一步步拆解Chrome CVE-2020-6507漏洞利用链
深入解析Chrome V8引擎漏洞利用:从ArrayBuffer到WebAssembly的内存操控实战 浏览器安全研究领域近年来持续升温,其中V8引擎作为Chrome和Node.js的核心组件,其安全性直接影响着数十亿用户。本文将带您深入探索一个典型V8漏洞(CVE-2…...
HarmonyOS6 半年磨一剑 - RcCheckbox 组件核心架构与类型系统设计
文章目录前言一、组件整体架构1.1 双组件协作设计1.2 文件结构1.3 装饰器分工二、类型系统深度解析2.1 值类型的宽泛设计2.2 选项配置接口2.3 形状与尺寸类型三、核心参数体系3.1 RcCheckbox 参数全览3.2 RcCheckboxGroup 扩展参数四、内部状态设计4.1 受控模式的双状态机制4.2…...
利用Cosmos-Reason1-7B进行Java面试题智能解析与答案生成
利用Cosmos-Reason1-7B进行Java面试题智能解析与答案生成 最近在帮朋友准备Java面试,发现一个挺普遍的问题:网上的面试题答案要么太零散,要么太浅显,很难找到一个能讲透原理、还能分析源码的深度解析。自己整理吧,费时…...
LC_numStream:嵌入式轻量级数字流解析库
1. LC_numStream 库概述:面向嵌入式通信的轻量级数字流解析工具LC_numStream 是一个专为资源受限嵌入式系统设计的纯 C 语言文本数字流解析库。其核心定位并非通用字符串处理,而是解决嵌入式设备在串口、UART、I2C、SPI 或自定义协议通信中高频出现的一类…...
