什么是功能安全?

前言

        在上一家公司的时候,有幸参加过公司内部的技术分享会,有一个同事跟我们分享了功能安全的一些内容。在提问环节,我问了一个问题“什么是功能安全?”他回答不上来。这也是我们很多人在工作中常犯的一个问题:我们做了某件事,但是我们往往不知道为什么要做这件事。

        在弄清楚什么是功能安全之前,我们先弄清楚为什么要做功能安全?

一、ISO26262定义

        ISO26262-part1:随着技术复杂性、软件内容和机电一体化的日益增加,在实施过程中,系统故障和随机硬件故障的风险越来越大,这些被认为是在功能安全的范围内。

描述了与安全相关的故障是E/E系统产生的,而不是一些自然灾害,人为破坏等。

        初步来看,功能的安全是由故障产生的,那我们在发布软件之前进行测试,将所有的故障都消除掉,是不是可以了?很显然并不是,测试消除掉的是BUG,这是软件发布时不允许有的。功能安全做的并不是消除由BUG引起的故障,而是那些原本好的电子电气由于老化等不可能控的原因造成的。

二、为什么要做功能安全?

        在讲为什么要做功能安全之前,我先跟大家讲一个例子。在也是我当初在日企,一个日本的功能安全工程师给我们讲解的一个例子,我觉得特别好,虽然他讲的日语我完全没听懂,好在这个例子,我记住了。

        火车,相信大家都知道。如下图,火车在下面的轨道上行驶,汽车,羊群,在自己的道路上移动,看着是没有问题的。但是如果火车来了,汽车也来了,他们速度很快,没刹住,是不是就撞上了。

        他们有可能一辈子也不会相撞,但是只要撞上了一次,就是一个事故,这是我们不允许的。

所以,如何避免这样的事情发生呢?

        机制的你可能想到了,如下图,加个红绿灯,就可以了。理想很美好,但是显示啊,往往总是差强人意。 并不是所有人都遵守交通规则,闯红灯的比比皆是,那么还是不安全啊。

        那我们就再加一个栏杆,加一个看守员不就好了,在火车来之前几分钟,把栏杆落下来。  火车走后,再把栏杆抬起来,这样就能完美解决问题了。

看到这里,你对功能安全是不是有一点点了解了?

三、功能安全做什么?

        通过上面的例子,我想机智的你们应该大概能猜到,功能安全要做什么了,当然上述的例子只是整个功能安全中的一部分。

        ISO26262-Part1中如下描述:

        简单来说就是对流程,生产,交付做了一些约束;对硬件设计,软件代码,做了一些故障的检测。

        比如在通信的时候,为了保证数据的完整性及连续性: 我们用CRC, Rolling counter来确保

        堆栈的溢出:我们增加堆栈溢出的检测

        内存的错误:MCU支持ECC内存错误检测

        代码有没有跑飞:使用看门狗来保证

        等等。。。

        检测到故障是第一步, 然后就是要根据故障的严重程度,对车辆进行功能降级啊,或者功能完全禁止啊又或者其他的一些列操作,来使车辆进入一个安全的状态。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汽车租赁系统

目录 一.研究背景 二.系统架构 1、SSM 2、JAVA 3、MySQL 4、系统架构 三.系统功能 1、车辆管理 2、客户管理 3、销售管理 4、统计分析 四.系统实现 五.结论总结 一.研究背景 传统的销售与信息统计管理都主要依靠人工,处理出的销售数据量与使用管理系统…

vcruntime140.dll有什么作用?vcruntime140.dll缺失的解决方法分享

解决因缺少vcruntime140.dll文件引起的问题实际上是相对简单的尽管最近有许多人在抱怨该文件频繁丢失且不知道该如何处理。作为一个责任编辑,我认为有很大的必要向大家清楚地解释一下。让我们从探索vcruntime140.dll文件缺少的修复方法吧。 一.msvcp140.dll的作用 …

基于springboot就业信息管理系统源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,就业信息管理系统也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而…

2024年美赛数学建模E题思路分析 - 财产保险的可持续性

# 1 赛题 问题E:财产保险的可持续性 极端天气事件正成为财产所有者和保险公司面临的危机。“近年来,世界已经遭受了1000多起极端天气事件造成的超过1万亿美元的损失”。[1]2022年,保险业的自然灾害索赔人数“比30年的平均水平增加了115%”。…

FastCAE合作开发项目:可执行调试的脚本编辑器

开发内容 1. 要求能够编辑脚本内容 2. 要求能够高亮显示关键字、纯数字、单行注释、多行注释等 3. 要求能够设置断点功能 4. 要求能够进行运行求解器、单步运行、暂停、继续、终止等基本调试功能 5. 要求能够高亮执行脚本,分别展示单脚本行执行中与执行完成效果…

更新npm镜像源:淘宝镜像已过期,及时切换!

你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧! 前言 就在昨天…

第二卷《皈依的意义与方法》

甲二、别明皈依的方法 分二:初、事相皈依。二、理体皈依。 前面一科讲到“皈依的意义”——“能皈依的心”跟“所皈依的境”。 “能皈依的心”就是我们有一种祈求救护的心情;“所皈依的境”有二种:一种是“住持三宝”,或者讲外…

Git快速入门+常用指令+提交规范

目录 Git创建本地仓库 IDEA集成Git Git和IDEA连接使用2 忽略文件 本地仓库常用命令 远程仓库常用命令 分支常用命令 标签操作 提交规范 Git创建本地仓库 1、创建一个文件夹,右键选择Git Bash Here 2、选择下列其中一个方法 方法一:创建初始化…

【算法与数据结构】583、72、LeetCode两个字符串的删除操作+编辑距离

文章目录 一、583、两个字符串的删除操作二、72、编辑距离三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、583、两个字符串的删除操作 思路分析:本题的思路和115、不同的子序列差不多,只是变成…

vue3+threejs+koa可视化项目——模型文件上传(第四步)

文章目录 ⭐前言💖往期node系列文章💖threejs系列相关文章💖vue3threejs系列 ⭐koa后端文件上传(koa-body)💖自动创建目录💖自定义目录上传💖apifox自测上传接口 ⭐vue3前端上传模型文件💖 axio…

【测试运维】性能测试笔记文档第2篇:性能测试分类和指标(已分享,附代码)

本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数…),性能测试工具选择。性能脚本&a…

口味多样的碱水贝果面包,香气饱满松松软软

这两天在吃一款碱趣贝果面包,感觉味道很不错,它是一种加热一下就可以吃的手工面包,口感十分独特。这款面包有着清香有韧性的表皮,里面松软可口,加热后更是香气四溢。 除了标准的原味全麦之外,碱趣贝果面包还…

提取人声消除背景音乐的工具?分享4款!

音乐是生活中不可或缺的调味品,我们常常会遇到一些音乐中的对话或人声干扰了我们的聆听体验。那么,有没有一种方法可以消除这些干扰,只留下纯净的背景音乐呢?答案是肯定的,下面为大家介绍4款能够消除人声保留背景音乐的…

LNMP.

一.mysl配置 1.安装mysql yum install mysql-server -y 2.进入mysql配置文件目录 cd /etc/my.cnf.d3.编辑mysql配置文件 vim mysql-server.cnf 在[mysqld]中添加: character-set-serverutf84.启动mysql服务 systemctl start mysqld5.登入mysql mysql 6.创建数据库 cre…

泡泡清新文艺的微社区系统PHP源码

泡泡微社区,小巧而强大,为您带来卓越的社区交流体验。 凭借GoZinc的先进架构,泡泡在保持轻盈身姿的同时,功能一应俱全。前端采用Vue3匠心打造,界面清新简约,三栏式布局仿若Twitter,让您一见倾心…

PyTorch 2.2 中文官方教程(十五)

(beta)计算机视觉的量化迁移学习教程 原文:pytorch.org/tutorials/intermediate/quantized_transfer_learning_tutorial.html 译者:飞龙 协议:CC BY-NC-SA 4.0 提示 为了充分利用本教程,我们建议使用这个C…

Vue3页面自适应,表格滚动高度

适用场景:在网页表格中我们需要获取页面剩余高度来为表格做滚动的时候就需要使用响应高度,可以使用原生calc来计算,但是calc有个缺陷就是,有可能要去计算多个盒子高度,使用下面的代码就可以直接获取当前元素到顶部的距…

考研中常见的算法-逆置

元素逆置 概述:其实就是将 第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,依次到中间位置。用途:可用于数组的移动,字符串反转,链表反转操作,栈和队列反转等操作。 逆置图解 …

算力不贵训练轻松应对,GpuMall智算云高校科研人员力荐

为你科普一个算力租赁平台—“GpuMall智算云“,想必你之前已经了解过一些租赁平台,但肯定遇到了:要么机型少?要么配置环境复杂?要么单机消费贵?等各方面的问题。 希望你一定要来试试,接下来我就…

使用 SortableJS 组件的 Blazor 可排序列表

作者:Burke Holland 排版:Alan Wang 在 Web 应用程序中,一个常见功能部分是可排序列表。SortableJS 是我最喜欢的 JavaScript 库之一,在进行 Blazor 开发时我很想念它。为了解决这个问题,我决定包装 SortableJS 库&…