前 言   

你可能是硬件工程师,但也可能是软件工程师、系统工程师或者是结构工程师,甚至是质量工程师……但这些都不重要。因为你不需要了解复杂的电路设计知识,只需要了解串并联电路,就可以读懂本文。

FMEDA(Failure Modes Effects and Diagnostic Analysis)作为定量安全分析的一个方法,在功能安全开发中占有重要地位。本文通过分步骤的方式手把手来教大家具体该如何做FMEDA,希望对工作中要做FMEDA的童鞋有帮助。当然,对于工作当中用不到FMEDA的童鞋,也可以作为科普知识,更好地了解一下FMEDA及硬件功能安全。

在开始做FMEDA之前,我们首先要知道功能安全需求和电路架构。

功能安全需求(目标):防止灯泡Lamp灭(亮灭程度没要求,只要亮就行),ASIL B。

电路图如下所示:

避免钻牛角尖,不过多纠结电路本身,让我们把讨论主题聚焦在FMEDA上,现在做以下假设。

△ 假设1:灯泡Lamp只要通电就会亮,且亮度不变,亮度不随着电压电流的变化而变化。

△ 假设2:灯泡Lamp可以承受无穷大的电流,无穷大的电压。

下面,我们开始分步骤计算FMEDA。

第一步:获取mission profile(一般由客户提供)

Mission profile即产品的运行工况,在计算元器件失效率的时候用得到,一个简单的mission profile如下表所示。

第二步:根据项目要求使用的可靠性预估模型,确定元件的失效模式和失效率以及失效分布

现在主流的可靠性预估模型是SN29500和IEC61709,一些非标准元器件可以通过现场数据或者专家判断来确定失效模式和失效率,半导体器件还会涉及IEC 62380,FIDES和JEDEC等数据库。

这里重点介绍一下失效率的单位FIT,FIT是failure in time的缩写,1 FIT(失效率)指的是1个产品在1*10^9小时内出现1次失效;1 FIT也可以这样等效:有很多个产品,如果这些产品的累计运行时间之和达到1*10^9小时,出现一个产品失效,那么该产品的失效率也是1 FIT。所以,尽管单个产品失效率看起来很低,但是地球上每天有亿万车辆在路上行驶,基本上每时每刻在世界不同角落都会有汽车发生抛锚。元器件失效模式,失效率和失效分布如下表。

第三步:判断元件是否与安全相关

根据原理图分析,R1、R2、C1和灯泡Lamp是与安全相关的器件,请注意,判断一个元件是不是安全相关的依据是它和安全功能的实施是否有关系。上述案例中元件的安全相关性如下表。

第四步:分析如果在没有安全机制的情况下,失效模式会不会违反安全目标

具体如下表:

备注1:C1在这里主要是防浪涌电压的,过高的浪涌电压会损坏灯泡Lamp,C1开路后,灯泡就失去了防浪涌保护。但是根据假设,灯泡可以承受无穷大的电压,所以C1开路也不会影响安全目标。如果没有假设的话,C1开路是会影响安全目标的。因此在分析EMC、ESD防护相关的元器件时,它们对FMEDA的影响需要做更多的讨论。

备注2:像R1阻值上偏50%这种故障被称为安全故障,一方面因为其在安全链路上,另一方面即使没有安全机制存在该失效也不会违反安全目标,这就是安全故障的定义。

第五步:分析是否有安全机制防止该失效模式违反安全目标

这一步可以参考定义好的安全机制,具体如下表。

第六步:定义安全机制

有经验的,可以把定义安全机制放在第一步,这样在执行FMEDA的时候,硬件初步设计已经完成,部分初步安全机制已经存在。

这里说的安全机制要包含了其诊断覆盖度。诊断覆盖度可以参考ISO 26262-5附录D、查找供应商资料、或者通过分析计算仿真得出。

安全机制定义如下:

第七步:填写安全机制防止该失效模式违反安全目标的覆盖度

常见安全机制的覆盖度已经在安全机制中定义,具体如下表。

第八步:计算单点/残余故障失效率

对于没有安全机制覆盖且违反安全目标的故障,定义为单点故障,其诱发的失效,称为单点失效。

对于有安全机制覆盖且违反安全目标的故障,但安全机制覆盖不了的部分,定义为残余故障。计算公式为:

残余故障失效率 = 失效模式的失效率*(1- 安全机制的覆盖度)

下面举例说明如何计算单点失效率:

以Lamp开路为例,

Lamp开路的失效率为3FIT×90%=2.7FIT,Lamp开路灯泡不亮,违反安全目标,并且没有安全机制覆盖,所以2.7FIT直接划分为单点故障。

接着举例说明如何计算残余失效率:

以R1开路为例,

R1开路的失效率为0.942FIT×40%=0.3768FIT,R1开路故障,有R2并联这个安全机制阻止R1开路导致灯泡不亮,R2并联这个安全机制能覆盖到99%,所以还有1%的残余,故R1开路残余故障为0.942FIT×40%×(1-99%)=0.003768FIT,具体如下表所示:

思考:为什么诊断覆盖度不是100%?感兴趣的朋友可以在文末回答。

第九步:对于有安全机制覆盖的失效模式,分析该失效模式和另外一个独立元件的失效模式组合起来是否违反安全目标

这里特别要注意:不需要分析任意两个失效模式的组合,只需分析失效模式与其对应的安全机制相关元器件的失效模式的组合。举个例子,没必要分析R1失效模式与灯泡Lamp的失效组合,因为它们不是对应安全机制的关系。

下面以R1开路故障为例来分析,R1对应的安全机制是R2,R1开路故障和R2开路故障这两个失效模式组合起来会让灯泡Lamp不亮,从而违反安全目标,这个就是双点故障。

第十步:判断是不是有安全机制防止双点故障成为潜伏故障

先详细介绍一下什么是潜伏故障:

潜伏故障中的潜伏,医学上经常用到潜伏期这个词汇,潜伏期是指从病原体侵入人体起,至开始出现临床危害症状为止的时期。各种传染病的潜伏期不同。类比医学上的潜伏期,潜伏故障本身在潜伏期没有能力造成危害,它埋伏在暗处,等待着时机,随时准备发动伏击。这里的时机是指有另外一个独立的故障发生,这两个故障组合起来会造成危害。例如电路中的例子,如果R1出现开路故障,只要R2不出现开路故障,灯泡就不灭,就不会违反安全目标,R1的开路故障潜伏在暗处,MCU发现不了,司机也察觉不到,它等待着和R2的开路故障一起来使灯泡灭掉。

前面已经分析,R1开路是双点故障,R1开路后没有安全机制探测到其开路,驾驶员也感知不到R1开路(R1开路,虽然流过灯泡Lamp的电流有所减少,但是根据假设,灯泡Lamp的亮度不变,所以驾乘人员察觉不到),所以R1开路是潜伏故障。同样R2开路也是潜伏故障。

这里再重点介绍一下什么是可感知的双点故障,凡是驾乘人员可感知,看到、听到的都属于可感知的。如果前面把灯泡Lamp只要通电就会亮,且亮度不变并不随着电压电流的变化而变化这条假设去掉,R1开路导致流过灯泡Lamp的电流减少,所以灯泡Lamp会变暗。而灯泡变暗驾驶员会通过眼睛感知到,但是灯泡只要亮着就不会违反安全目标(根据功能安全要求),这就是可感知的双点故障。总结一下,可感知的双点故障不违反安全目标,但是能被驾乘人员感知到,所以其不是潜伏故障,这里的可感知,只是驾乘人员感知到灯泡Lamp变暗了,知道自己的车出现异常了,驾乘人员没有神奇到能够知道R1开路了。按照维也纳公约,如果自己的车辆出现异常了,为了避免对交通参与者造成危害,驾乘人员需要尽快去修车,否则后果自负。

具体如下表:

第十一步:填写安全机制阻止双点故障成为潜伏故障的诊断覆盖度

前面已经分析了,没有安全机制存在阻止双点故障成为潜伏故障,所以覆盖度是0%。

第十二步:计算潜伏故障失效率

潜伏故障失效率的计算在FMEDA有点容易混淆,前面已经说过,潜伏故障是不可探测且不可感知到双点故障,所以潜伏故障的失效率是先剔除掉残余故障(因为残余故障会直接违反安全目标,潜伏故障不会直接违反安全目标),再剔除掉安全机制能够探测到的那一部分双点故障,最后剩下来的就是潜伏故障。所以潜伏故障失效率的计算公式为:

潜伏故障失效率 = 失效模式的失效率 - 残余故障失效率 - 可探测的双点故障

也可以写成以下公式:

潜伏故障失效率 = 失效模式的失效率×防止该失效模式违反安全目标的安全机制的诊断覆盖度×(1-防止该失效模式成为潜伏故障的安全机制的诊断覆盖度)

下面以R1开路为例进行潜伏故障失效率计算,R1开路故障的失效率剔除掉残余故障失效率为0.942FIT×40%×99%=0.373032FIT,对于R1开路,第十步已经分析,没有安全机制来探测R1开路,不能阻止R1开路成为潜伏故障,所以0.373032FIT全部划分为潜伏故障。

第十三步:计算单点故障度量和潜伏故障度量指标

单点故障度量计算公式为:

可以算出单点故障度量为:27.35%
潜伏故障度量计算公式为:

可以算出潜伏故障度量为:65.90%

ASIL B对度量的要求如下表:

例子中的电路的单点故障覆盖度为27.35%,距离90%还差很远,所以满足不了ASIL B,需要增加安全机制。

结 语

本文通过简单的电路,阐述了如何做FMEDA,中间穿插着介绍了安全故障、单点故障、残余故障、双点故障、潜伏故障、可感知双点故障等的定义,并提到了EMC对FMEDA的影响。具体实践中的电路会更加复杂,通常会采用分析工具进行自动化计算。但是充分的理解故障的概念,分类,诊断机制及其覆盖率,失效率数据库的选择等,对于准确的计算FMEDA具有十分重要的意义。

零基础手把手教你做FMEDA相关推荐

  1. java 注册探探账号_零基础手把手教你开发探探类社交软件Tinder

    原标题:零基础手把手教你开发探探类社交软件Tinder 目录介绍 1.关于项目App整体架构 1.1项目整体架构 1.1.1 目前项目使用架构 1.1.2 目前常见的架构 1.1.3 MVP架构优点及 ...

  2. python打字机效果_零基础手把手教你用Python做一个怀旧打字机

    忙碌的生活和飞速发展的科技正改变着人们的阅读习惯,为了"增加效率",文章只看标题,视频10秒刷走.是不是有这么一种感觉,一个小时内看遍世间繁华

  3. 零基础手把手教你写NFT抢购软

    前言 由于之前写过几篇文章,但是个人不是很满意,所以这次我打算把所有的知识汇总成一篇文章.可能会有很多地方写的不是很好,欢迎大家评论指出,我后续修正. 个人vx:http://wc.ljlju.cn/ ...

  4. 零基础手把手教你制作一个微信小程序云开发-实验室仪器管理系统(二)

    书接上文,我们了解到了怎么在微信开发者工具上新建一个空的云开发项目. 别急,你以为你能大展身手开始写代码了? 答案是否定的,首先你要先开始对小程序进行模块拆分 郦波老师有一句话说得很好:解决问题的最好 ...

  5. 零基础手把手教你写NFT捡漏软

    想必大家都很想学习捡漏软件的编写,现在教大家捡漏软的逻辑,大家举一反三,相信大家可以写出优秀并且优秀的软件!!! 捡漏软逻辑解析 个人vx:http://wc.ljlju.cn/4ZGETK,有兴趣的 ...

  6. 手把手教你做一个物联网视频监控项目(三)流媒体方案实现

    往期文章 手把手教你做一个物联网视频监控项目(一) 介绍 手把手教你做一个物联网视频监控项目(二)MJPG-streamer方案实现 文章目录 前言 一.软硬件准备 二.流媒体方案的实现之FFmpeg ...

  7. 可视化实战!Python+BI,手把手教你做炫酷的NBA可视化分析

    之前手痒做了一次NBA可视化分析,好多人追着我问教程,这两天终于闲下来了,花时间整理这篇NBA可视化分析教程,手把手教大家做一次炫酷的数据可视化分析! 先部分展示本次教程的作品: 数据获取 本次可视化 ...

  8. 手把手教你做短视频去水印微信小程序(2-首页)

    手把手教你做短视频去水印微信小程序系列教程(2-首页) 文章目录 手把手教你做短视频去水印微信小程序系列教程(2-首页) 前言 一.顶部banner 二.地址解析 1.整体代码 2. input框输入 ...

  9. 实例:用C#.NET手把手教你做微信公众号开发(20)--使用微信支付线上收款:jsapi方式

    在做线上.线下销售时,可以使用微信便捷支付,通过微信公众号收款有很多种收款方式,如下图: 今天我们来讲一下jsapi支付,场景就是在微信内打开某个页面,完成在线支付,同样一个网页,使用微信打开就是js ...

最新文章

  1. Github工程师为MySQL高可用性采用了新架构
  2. matplotlib plot绘图简介
  3. 《深入理解Java虚拟机》笔记6——高效并发
  4. 检测主机是否在线小脚本
  5. 玩转oracle 11g(35):rman备份-参数文件spfile损坏恢复
  6. Python 核心编程(第二版)——条件和循环
  7. 图论 —— 图的连通性 —— Tarjan 求割点与桥
  8. python学习笔记7--面向对象进阶,异常处理,socket编程初识
  9. 继爱奇艺之后,腾讯视频、优酷宣布:取消剧集超前点播服务
  10. SpringBoot基础篇日志管理之logback配置文件
  11. 设计模式——单例模式(饿汉式、懒汉式和DCL)
  12. gdb调试中出现optimized out
  13. 【NLP_命名实体识别】Albert+BiLSTM+CRF模型训练、评估与使用
  14. 起搏器可以用计算机吗,一个计算机化的心脏起搏器随诊系统
  15. java 时间 转化成数字_将时间转化为数字 java
  16. python学生管理系统用列表_史上最全面的python学生管理系统教程(二)
  17. 数商云电子元器件B2B商城系统
  18. 计算机机房一般在几楼,设备层一般在高层楼房第几层?
  19. 基于PHP+MySQL的企业员工培训管理系统
  20. golang coredump分析

热门文章

  1. Pinterest先辈Wists的创业故事
  2. 六十六条经典禅语名句
  3. 计算机网络中的OSI模型和TCP/IP模型
  4. 2.1.7设置字体大小
  5. mysql几种性能测试的工具使用
  6. 浅谈group by和order by的用法和区别
  7. 行云创新受邀加入信通院云原生成熟度专家组,开启业内首批云原生技术架构/应用成熟度评估测试
  8. 人体行为识别特征点提取 综述很全面
  9. 小白的Construct 2(伪)技术博客
  10. 为什么黑客几乎不用鼠标?