汽车功能安全
前言
近些年来,功能安全在汽车传统底盘域和动力域的应用已较为成熟,各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下,现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要,功能安全也是辅助驾驶和自动驾驶系统中不可缺少的组成部分。
然而在现实场景中,由于L3及以下的辅助驾驶系统技术尚未成熟,行业一直在比拼更低的价格成本和更短的开发周期,而这与贯彻功能安全的“昂贵”和“慢工出细活”相矛盾。由此造成在市场激烈的竞争中,功能安全往往要进行必要的妥协,但过多的妥协将失去安全保障的意义,功能安全从业者正在思考如何守住功能安全的底线。
1、何为汽车功能安全?
随着汽车智能化和电气化技术的快速普及,车内控制器和各种电子部件越来越多,而各类电子部件都存在系统性失效和随机硬件失效的风险,因此相应的汽车功能安全变得越来越重要。在汽车电子行业,功能安全国际标准ISO26262(是基于IEC61508 (Generic standard for Functional Safety of electrical/electronic systems)并适用于汽车行业的标准)和对应国标GB/T34590将功能安全定义为:避免因电子电气系统故障而导致不合理的风险。即随机硬件失效和系统性失效不会导致安全系统的错误功能,从而导致人的伤害死亡。ISO 26262是史上第一个适用于道路车辆的功能安全标准。
在ISO26262国际标准中,汽车功能安全主要包含了以下几类指导:
-
指导你如何量化产品的安全等级;
-
指导你如何根据不同安全等级设计对应的安全措施;
-
指导你如何控制系统性故障和随机硬件故障;
-
指导你如何管理功能安全(包括流程,安全管理制度、安全流程、安全审核等)。
功能安全等级的定义是为了对失效后带来的风险进行评估并指导风险降低到可接受的程度所需要遵循的要求。一般简称ASIL(Automotive Safety Integration Level-汽车安全完整性等级) ,ISO26262根据汽车的特点,在产品概念设计阶段对系统进行危害分析和风险评估,识别出系统的危害,如果系统安全风险越大,对应的安全要求级别就越高,其具有的ASIL的等级也越高。
ASIL按照严重性(Severity )、可能性(Exposure )和可控性(Controllability)评估危害事件的风险级别等级,共分为QM、A、B、C、D五个等级,ASIL D是最高的汽车安全完整性等级,对功能安全的要求也最高。
按照以上的划分并进行组合相加得到的5个ASIL等级,原则是:
(1)基本可控的C0组合和无伤害S0的组合不考虑;
(2)其余组合相加等于7分为ASIL A,等于8分为ASIL B,等于9分为 ASIL C,等于10分为 ASIL D;
(3)其余得分安全评定为QM,只要遵循标准的质量管理流程(IATF16949),与功能安全无关。
ASIL汽车安全完整度等级矩阵
从产品安全的角度说,可以把安全分传统安全和E/E功能安全,传统安全包括:与触电、火灾、烟雾、热、辐射、腐蚀性、能量释放等相关的危害,此类传统安全问题均不属于功能安全考虑范围之内。功能安全只考虑E/E系统安全,例如汽车架构、系统、软件、硬件等方面的失效所导致的整车安全行为,强调在汽车产品的开发过程中如何避免预防、探测、降低或消除风险。它关注的是系统发生故障之后的行为,而不是系统的原有功能或性能。因此功能安全的目的就是系统发生故障后,将系统进入安全可控的模式,避免对人身造成伤害。
目前,欧洲所有OEM整车厂要求必须配备功能安全;美国的OEM整车厂已经在研究如何实施功能安全;亚洲的OEM(丰田,现代,吉利等)也已经明确要求功能安全。功能安全和ASPICE基本成为了目前汽车行业的通识和标准。
只有经过充分的设计讨论,严格的测试验收后的汽车功能安全,才能发挥其最大作用,将车辆的安全性及稳定性保障在一个可以接受的范围内。
2、汽车功能安全的必要性
目前,辅助驾驶已经逐渐成熟并且大量布局在量产车上,司乘已可切身感受到辅助驾驶带来的方便快捷。但与此同时,由于使用辅助驾驶而造成的事故也逐渐增多。这方面,无论是由于算法的设计缺陷造成的部分全新场景下的失效,亦或是硬件损坏导致的辅助驾驶功能受损失效,都将导致车辆在一定时间内处于失控状态,如果此时驾驶员不能及时接管或者留给人类驾驶员接管的时间所剩无几,就会造成严重的事故。而功能安全想要做到的,便是使得这些故障隐患尽可能地消灭在萌芽之中,即产品的开发设计验证阶段。从这方面来看,功能安全保障了汽车最基本的安全属性,是现代汽车行业内不可或缺和至为重要的一环。
纵使希望将所有的缺陷与故障在汽车售卖前全部发现并修复完毕,但对当前汽车上的电子电气系统来说,完全消除风险是不现实的。现在的车上有几十甚至上百个ECU系统,其中的代码有几亿行,随着使用时间的增长,电子元器件发生故障的可能性也越来越高,更不用说由上亿行代码构成的复杂系统带来的不可预知的风险。因此功能安全的目的并不是为了彻底消除风险,而是把风险降低到一个可接受的范围。
3、功能安全分析方法
功能安全分析需要在概念设计阶段,根据相关项定义的功能,分析其功能异常表现,识别其可能的潜在危害(Hazard)及危害事件(Hazard Event),并对其风险进行量化(即确定ASIL等级),导出功能安全目标(Safety Goal)和ASIL等级,以此作为功能安全开发最初最顶层的安全需求,也就是所谓的为HARA(Hazard Analysis and Risk Assessment),具体流程如下图:
在HARA过程中,以及从SG到FSG都需要进行安全分析,一般有归纳分析法和演绎分析法两种方法,其中FMEA(Failure mode and effects analysis,即失效模式与影响分析)和FTA(Fault tree analysis,即故障树分析)是归纳和演绎最具代表性的分析方法,也是功能安全开发最常用的安全分析方法。
(1) FMEA
失效模式与影响分析(Failure mode and effects analysis)是一种自下而上的故障分析方式。对构成产品的子系统、部件逐一进行分析,找出潜在的失效模式,并分析其可能的后果,从而预先采取必要的安全措施。从多个个别事物中获得普遍规律的方法。
(2) FTA
故障树分析(Fault tree analysis)是一种自上而下的故障分析方式。从追溯失效开始,辨别出导致故障的情况或事件,从而找出导致故障的根本事件或原因。从已知定律经过逻辑推演得到新的定律的方法。
评估出风险的ASIL等级后,需要采取一定的安全措施把风险降低到可以接受的范围。当达到这个目标后,此系统可以称为具有相应的ASIL功能安全等级,也就是说功能安全等级是和风险的等级相对应的。
相关文章:

汽车功能安全
前言 近些年来,功能安全在汽车传统底盘域和动力域的应用已较为成熟,各大汽车企业功能安全意识也逐渐增强。在辅助驾驶和自动驾驶爆发式增长的大趋势下,现代汽车的功能安全在目前尤为复杂的电子电气系统中就显得更为重要,功能安全…...

【Python】数据分析与可视化实践:收支日统计数据可视化的实现
Python数据分析与可视化实践:收支日统计数据可视化的实现 Author:萌狼蓝天 Date:2023-5-7 数据读入与基本处理 上图是原始数据的一部分,存放于excel中,首先使用pd读入数据。读入数据后,删除不是收入&#x…...
Halcon 中_xld算子的概念与应用? select_shape_std 和 select_shape_xld区别?
文章目录 1 halcon中XLD的概念与应用1.1 halcon中什么是XLD?1. 2 XLD相关算子1.2 XLD的应用1.2.1 生成XLD的操作1.2.2 选取特定xld1.2.3 3.3 XLD的合并操作2 select_shape_std 和 select_shape_xld区别2.1 select_shape_std 算子介绍2.2 select_shape_xld算子介绍2.3 select_s…...

[pgrx开发postgresql数据库扩展]7.返回序列的函数编写(3)多行表序列
前文再续,书接上一回。 上一回我们解析了如何通过pgrx编写srf,返回一个TableIterator,但是在具体应用的时候,我们还是针对一条记录返回了一行数据(多个字段的一行,也还是一行),并没…...

刚入职,就想跑路了...
刚入职一家公司,想离职又怕找不到新工作。 说实话,这个问题还是蛮常见的,很多时候,入职的公司并不是自己最满意的,即使是最满意的,入职后总会遇到各种各样的不顺心,公司制度不规范啊࿰…...

如何让技术架构师具有预知未来业务发展的能力
大家好,今天我们来分享业务架构,但是我们并不是以产品经理角度讲述一个业务架构是什么以及如何做?而是以一个技术架构师的角度,讲述如何承接业务架构或在没有业务架构的时候,如何判断业务变化趋势而对系统架构提前做出…...

卷麻了,新来的00后实在是太卷了...
在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…...

单片机--实战练习
目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 编辑编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习:实现LED灯闪烁…...

Go Etcd 分布式锁实战
1 分布式锁概述 谈到分布式锁,必然是因为单机锁无法满足要求,在现阶段微服务多实例部署的情况下,单机语言级别的锁,无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized,golang的Mutex等 对…...

Windows环境下pcl点云库 安装配置教程
本文为Windows配置点云库pcl步骤,具体win10、visual studio 2019、pcl1.11.1。 【1】下载安装包 Releases PointCloudLibrary/pcl GitHub 其中,AllInOne是一个包含了PCL库所有模块的单独下载包,方便快速获取整个PCL库,而pdb则…...
岗位分析与可视化系统(三)
五、可视化 5.1薪资页面 在views,编写薪资分析的代码 def salary(request): uname = request.session[username] userInfo = User.objects.get(username=uname) edus, workexps = getSalary.getPageDt() defaultedu = 不限 defaultworkexp = 不限 if request.G…...
unity进阶学习笔记:json和xml
1早期的数据格式 在早期程序开发中一个简单且常用的数据格式为CSV。该格式单纯依靠逗号来分割数据。目前windows的office依然支持CSV解析,我们可以试着新建一个txt文件,在里面加入逗号分隔的信息: a, 1, 15, 30, true 将txt文件后缀改为csv&…...

数据结构之初识树与堆
前言:前面学习了顺序表,队列,栈,链表,我们知道他们都是一种线性表,是一种线性结构,而除此之外,仍有许多我们还没认识的结构,比如树形结构,不同于线性结构&…...
虚拟化技术 — VirtIO 虚拟设备接口标准
目录 文章目录 目录VirtIOVirtIO 虚拟设备接口标准VirtIO 的前后端分层架构标准VirtIO 的数控路径分离架构标准VirtIO 的传输层标准VirtIO 标准在 Linux 中的实现VirtIO VirtIO 由 Rusty Russell 开发,最初是为了支持自己开发的 lguest Hypervisor,其设计目标是在虚拟化环境…...

Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)
Dubbo——原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用,显然这种方式肯定是非常麻烦的,因此我们这里就讲如何使用SpringBoot去集成Dubbo将这些配置简化。 生产者服务 添加配置文件 dubbo:applicat…...

高并发系统的三把利器
目录 1.限流 2.缓存 2.1.缓存的使用场景 3.降级 3.1.什么是降级? 3.2.服务降级方式 4.其他高并发手段 4.1. 集群 4.2.拆分 4.2.1 应用拆分 4.2.2 数据库 4.3. 静态化 4.4.削峰 4.5.限流 5.总结 参考 保护高并发系统的三大利器:限流、熔…...
AppiumWinAppDriver自动化测试 Failed to locate opened application window with appid问题
问题产生原因:1.期望能力选项参数丢失 例如:capabilities.setCapability("appWorkingDir", "C:\\Program Files (x86)\\Tencent\\app")) 某些app需要设置目录属性才可以启动。 问题产生原因:2.访问权限不足 例如&…...

渗透测试--6.1.aircrack-ng破解wifi密码
目录 1.Aircrack-ng简介 1.1 airdump-ng 1.2 aireplay-ng 1.3 aircrack-ng 2.Deauth攻击 3.aircrack-ng工具破解无线网络密码 步骤一:虚拟机连接实验需要用到的网卡 步骤二:设置网卡为监听模式 步骤三:使用wlan0mon网卡扫描附近wif…...

C++中的继承、以及赋值兼容转换。
一、继承的概念及定义 继承可以使代码复用,允许在保持原有类特性的基础上进行扩展。 举个例子:就好比我现在要封装老师、学生等这些人的属性和方法,但是这些人都有重复的属性和方法,比如name、age、sex等等,那么我可…...
js浏览器实现简单的实时扫一扫功能
描述:利用vue-qrcode-reader插件实现h5/wap端简单的扫一扫功能 参考文档:https://gruhn.github.io/vue-qrcode-reader/demos/Validate.html官方文档 安装插件 npm i --save vue3-qr-reader 或 yarn add vue3-qr-reader 注意项目运行必须在https下&…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...