第七篇:识破“共因失效”——如何阻止汽车系统的“团灭”危机

想象一下这个场景:
你精心设计了一套双备份的刹车系统,就像给车装了两条独立的刹车线,心想:“这下总万无一失了吧!”结果,一场寒潮来袭,两条刹车线因为同一个原因——低温同时被冻住,全部失效。

这种“本想互相备份,结果被一锅端”的悲剧,在功能安全领域就叫 “共因失效”


一、 什么是共因失效?

官方定义:共因失效是指一个或多个故障模式由同一个特定的事件或根本原因所引起,导致多个元素同时失效。

说人话
就是你设计了好几道防线,但它们有一个共同的“死穴”。这个死穴一旦被击中,所有防线会集体罢工,造成系统性的“团灭”。

再举个生活中的例子
你怕手机没电,带了个充电宝。你觉得这是“双备份”,很安全。
结果,你发现手机和充电宝共用一根数据线。当你把这根唯一的数据线弄丢时,手机和充电宝就都成了砖头。
这根“共同的数据线”,就是导致“双备份”同时失效的共同原因

在汽车里,这个“共同原因”可能是:

  • 物理性的:同一场车祸带来的冲击、同样的高温、同样的潮湿腐蚀、同样的电磁干扰。
  • 设计性的:两个芯片用了同一个有缺陷的软件算法、两个传感器共用了同一个不稳定的电源。
  • 人为性的:同一个工程师在设计和测试两个系统时,犯了同一个错误。

二、 ISO 26262怎么对付这个“大boss”?

标准知道“共因失效”是功能安全的头号天敌之一,所以祭出了一套组合拳,核心思想就四个字:“深度防御”

第一招:物理隔离 —— “别住在一起”

原则:把用来互相备份的组件(比如主控芯片和监控芯片)在物理上尽量分开。

怎么做

  • 拉开距离:把它们放在电路板的对角线上,甚至不同的板子上。这样,一个地方被撞坏、过热,不会轻易波及到另一个。
  • 分开走线:给它们供电的线路、通信的线路都分开布置,避免“一损俱损”。
  • 差异化包装:用不同的封装材料,让它们对振动、温度的敏感程度不一样。

目标:让“共同的原因”很难同时影响到它们俩。

第二招:设计多样化 —— “别长得一模一样”

原则:如果备份系统是完全一样的“双胞胎”,那它们很可能有同样的基因缺陷。所以,要让它们“不一样”。

怎么做

  • 硬件多样化:主CPU用ARM架构,监控MCU用RISC-V架构。它们被同一个软件bug击垮的概率就大大降低。
  • 软件/算法多样化:用不同的算法来计算同一个结果(比如车速)。比如一个用常规积分法,另一个用卡尔曼滤波法。这样,同一个计算缺陷导致两者同时算错的概率极低。
  • 供应商多样化:关键部件从不同的供应商采购,避免因同一批次的制造缺陷而导致共因失效。

目标:让“共同的原因”无法同时以同样的方式击败它们。

第三招:分析它!—— “大家来找茬”

ISO 26262推荐了一个非常实用的工具来系统性地查找共因失效,叫做 “共因分析”

你可以把它想象成一个“大家来找茬”的游戏清单,设计师们要拿着这个清单,反复拷问自己的设计:

  1. 它们离得够远吗? (空间隔离)
  2. 它们用的是一样的芯片/软件吗? (设计相似度)
  3. 它们用的是同一个电源吗?万一电源挂了怎么办? (共享资源)
  4. 它们会同时遇到高温、振动、水淹吗? (共同环境)
  5. 是不是同一个人设计的?他会不会有个思维盲区? (共同人力)

通过这种“灵魂拷问”,就能提前发现那些潜在的“共同死穴”,并在设计阶段就把它堵上。

总结

共因失效告诉我们,简单的数量堆叠(1+1)并不等于真正的安全冗余。如果备份元素之间存在看不见的“共同依赖”,那么2反而可能等于0。

ISO 26262的功能安全理念,其精髓就在于这种系统性的思维。它强迫工程师不能只盯着单个零件是否可靠,更要跳出来,从整个系统的角度去思考:
“那些我以为安全的地方,会不会存在一个共同的弱点,能让我的所有努力瞬间归零?”

防范共因失效,就是拆掉系统里那些潜在的“多米诺骨牌”,确保灾难不会发生连锁反应,这才是真正意义上的“安全”。

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

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

相关文章

健康大数据与传统大数据技术专业有何不同?

在“数据即资产”的时代,大数据技术已渗透至各行各业。从电商推荐到金融风控,从智能制造到智慧城市,数据驱动的决策模式正在重塑产业格局。然而,随着医疗健康领域数字化进程的加速,一个新兴且高度专业化的分支——健康…

图神经网络分享系列-SDNE(Structural Deep Network Embedding) (三)

目录 一、实验 1.1 数据集 1.2 基线算法 1.3 评估指标 1.4 参数设置 1.5 实验效果 1.5.1 网络重构 1.5.1.1 方法性能优势 1.5.1.2 特定数据集表现 1.5.1.3 模型对比分析 1.5.1.4 邻近性重要性验证 1.5.2 多标签分类 1.5.3 链路预测 1.5.4网络可视化的应用 1.6 参…

《WINDOWS 环境下32位汇编语言程序设计》第16章 WinSock接口和网络编程(1)

当今的时代是网络时代,网络给生活带来的影响超过了以往的任何事物,不管我们是用浏览器上网,是在打网络游戏,还是用MSN、QQ等即时通信软件和朋友聊天,网络的另一端实际上都是对应的网络应用程序在提供服务。大多数的网络…

【笔记】Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0,附跨版本 CUDA 调用维护方案)

实操笔记 | Windows 安装 TensorRT 10.13.3.9(适配 CUDA 13.0,含跨版本 CUDA 调用维护示例)—— 系统 CUDA 13.0 与虚拟环境 CUDA 12.8 版本差异时,TensorRT 调用维护实例详见附录 本文针对 TensorRT-10.13.3.9.Windows.win10.cu…

如何关闭电脑安全和防护

了解你希望关闭电脑的安全和防护功能。⚠️请务必注意,关闭这些防护会使电脑暴露在安全风险中,仅建议在必要时(如安装受信任但被误拦的软件、进行网络调试)临时操作,完成后请立即重新开启。 下面是一个快速操作指南表格…

C# Entity Framework Core 的 CRUD 操作与关联查询实战示例

以下是基于 Entity Framework Core 的 CRUD 操作与关联查询实战示例,以 用户(User) 和 订单(Order) 实体为例(一对多关系),包含完整代码和操作说明。一、基础准备1. 实体类定义&…

UniApp状态管理深度重构指南

作为专业智能创作助手,我将帮助你逐步理解并实现UniApp状态管理的深度重构。UniApp基于Vue.js框架,其状态管理通常使用Vuex,但随着应用规模扩大,状态管理可能变得臃肿、难以维护。深度重构旨在优化性能、提升可维护性,…

时序数据库:定义与基本特点

在当今的物联网(IoT)、 DevOps监控、金融科技和工业4.0时代,我们每时每刻都在产生海量的与时间紧密相关的数据。服务器CPU指标、智能电表读数、车辆GPS轨迹、股票交易记录……这些数据都有一个共同的核心特征:时间是它们不可分割的…

linux系统安装wps

在Linux系统上通过deb包安装WPS Office是个不错的选择。下面是一个主要步骤的概览,我会详细介绍每一步以及可能遇到的问题和解决方法。步骤概览关键操作说明/注意事项1. 下载DEB包访问WPS官网下载需选择与系统架构匹配的版本(通常是AMD64)2. …

git常见冲突场景及解决办法

场景1.假设一开始 本地拉取了远程最新的代码 就是说本地和远程此时一样 然后本地写了一个新需求git commit了 但是没有提交到远程仓库 然后另外一个地方提交了某个功能的新代码 到远程 此时本地和远程的代码不一样了 而且本地有已经 commit的 这时候 这个本地想同步远程的最新代…

Flink面试题及详细答案100道(41-60)- 状态管理与容错

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

【二开】CRMEB开源版按钮权限控制

【二开】CRMEB开源版按钮权限控制使用方法v-unique_auth"order-refund"<el-dropdown-itemv-unique_auth"order-refund">立即退款</el-dropdown-item >或者 满足其中一个即可v-unique_auth"[order-delete,order-dels]"通过管理端权限…

AOSP源码下载及编译错误解决

源码下载 软件下载sudo apt-get updatesudo apt-get install gitsudo apt-get install curlsudo apt-get install adbsudo apt-get install reposudo apt-get install vimsudo apt-get install -y git devscripts equivs config-package-dev debhelper-compat golang curl配置g…

实验-高级acl(简单)

实验-高级acl&#xff08;简单&#xff09;预习一、实验设备二、拓扑图三、配置3.1、网络互通3.2、配置ACL3.3、取消配置步骤1&#xff1a;先移除接口上的ACL应用步骤2&#xff1a;修改或删除ACL中的错误规则方法A&#xff1a;直接删除错误规则&#xff08;保留其他正确规则&am…

IoC / DI 实操

1. 建三层类包结构&#xff1a;com.lib ├─ config ├─ controller ├─ service ├─ repository ├─ model └─ annotation // 自定义限定符① 实体 Bookpackage com.lib.model; public class Book {private Integer id;private String title;// 全参构造 gette…

AdsPower RPA 从excel中依次读取多个TikTok账号对多个TikTok账号目标发送信息

多个账号对多个目标发送子场景 B&#xff1a;多个账号向“不同的”目标循环发送&#xff08;最复杂的群发逻辑&#xff09;流程&#xff1a;Excel表中有一个“目标用户”列表。RPA流程会进行嵌套循环&#xff1a;外层循环&#xff1a;遍历Excel中的每一行数据&#xff08;即每一…

扩散模型进化史

一幅精美的图片&#xff0c;一段精彩的视频&#xff0c;可能始于一片纯粹的噪声。 2024年的计算机视觉顶会CVPR上&#xff0c;扩散模型成为绝对主角。从图像生成到视频理解&#xff0c;从超分辨率到3D建模&#xff0c;扩散模型正以惊人的速度重塑着AIGC&#xff08;AI生成内容&…

一次 Linux 高负载 (Load) 异常问题排查实录

一次 Linux 高负载&#xff08;Load&#xff09;异常排查实录一、背景及排查过程材料二、排查分析2.1Load 的真正含义2.2&#xff1a;确认异常进程2.3&#xff1a;线程卡在哪&#xff08;wchan&#xff09;2.4&#xff1a;perf 采样&#xff08;用户态/内核态热点&#xff09;2…

浅析Linux进程信号处理机制:基本原理及应用

文章目录概述信号类型可靠信号与不可靠信号Fatal信号与Non Fatal信号不可捕获/忽略信号信号工作机制信号处理方式信号嵌套处理信号使用信号发送kill命令注册信号处理函数信号安全与函数可重入性可重入函数线程安全与可重入性相关参考概述 Linux信号机制是进程间通信的一种方式…

【学习K230-例程19】GT6700-TCP-Client

B站视频 TCP TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;传输控制协议/网际协议&#xff09;是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP 协议不仅仅指的是 TCP和 IP 两个协议&#xff0c;而是指一个由 FTP、SMTP、TCP、UDP、I…