ISO 26262中的ASIL等级确定与分解

2023-05-16

ISO 26262中的ASIL等级确定与分解

1. 引言
        汽车上电子/电气系统(E/E)数量不断的增加,一些高端豪华轿车上有多达70多个ECU(Electronic Control Unit电子控制单元),其中安全气囊系统、制动系统、底盘控制系统、发动机控制系统以及线控系统等都是安全相关系统。当系统出现故障的时候,系统必须转入安全状态或者转换到降级模式,避免系统功能失效而导致人员伤亡。失效可能是由于规范错误(比如安全需求不完整)、人为原因的错误(比如:软件bug)、环境的影响( 比如:电磁干扰)等等原因引起的。为了实现汽车上电子/电气系统的功能安全设计,道路车辆功能安全标准 ISO 26262[1]于2011年正式发布,为开发汽车安全相关系统提供了指南,该标准的基础是适用于任何行业的电子/电气/可编程电子系统的功能安全标准IEC 61508[2]。
        ISO 26262标准中对系统做功能安全设计时,前期重要的一个步骤是对系统进行危害分析和风险评估,识别出系统的危害并且对危害的风险等级——ASIL等级(Automotive Safety Integration Level,汽车安全完整性等级)进行评估。ASIL有四个等级,分别为A,B,C,D,其中A是最低的等级,D是最高的等级。然后,针对每种危害确定至少一个安全目标,安全目标是系统的最高级别的安全需求,由安全目标导出系统级别的安全需求,再将安全需求分配到硬件和软件。ASIL等级决定了对系统安全性的要求,ASIL等级越高,对系统的安全性要求越高,为实现安全付出的代价越高,意味着硬件的诊断覆盖率越高,开发流程越严格,相应的开发成本增加、开发周期延长,技术要求严格。ISO 26262中提出了在满足安全目标的前提下降低ASIL等级的方法——ASIL分解,这样可以解决上述开发中的难点。
        本文首先介绍了ISO 26262标准中的危害分析和风险评估阶段中的ASIL等级确定方法,然后介绍了ASIL分解的原则,并辅以实例进行说明。
2. 危害分析和风险评估

        依据ISO 26262标准进行功能安全设计时,首先识别系统的功能,并分析其所有可能的功能故障(Malfunction),可采用的分析方法有HAZOP,FMEA、头脑风暴等。如果在系统开发的各个阶段发现在本阶段没有识别出来的故障,都要回到这个阶段,进行更新。功能故障在特定的驾驶场景下,才会造成伤亡事件,比如近光灯系统,其中一个功能故障就是灯非预期熄灭,如果在漆黑的夜晚行驶在山路上,驾驶员看不清道路状况,可能会掉入悬崖,造成车毁人亡;如果此功能故障发生在白天就不会产生任何的影响。所以进行功能故障分析后,要进行情景分析,识别与此故障相关的驾驶情景,比如:高速公路超车、车库停车等。分析驾驶情景建议从公路类型:比如国道、城市道路、乡村道路等;路面情况:比如湿滑路面、冰雪路面、干燥路面;车辆状态:比如转向、 超车、制动、加速等;环境条件:比如:风雪交加、夜晚、隧道灯;交通状况:拥堵、顺畅、红绿灯等;人员情况:不如乘客、路人等几个方面去考虑。功能故障和驾驶场景的组合叫做危害事件(hazard event), 危害事件确定后,根据三个因子——严重度(Severity)、暴露率(Exposure)和可控性(Controllability)评估危害事件的风险级别——ASIL等级。其中严重度是指对驾驶员、乘员、或者行人等涉险人员的伤害程度;暴露率是指人员暴露在系统的失效能够造成危害的场景中的概率;可控性是指驾驶员或其他涉险人员能够避免事故或伤害的可能性。这三个因子的分类在表1中给出。

表1 严重度、暴露率、可控性分类

        ASIL等级的确定基于这三个影响因子,表2中给出了ASIL的确定方法,其中D代表最高等级, A代表最低等级,QM表示质量管理(Quality Management),表示按照质量管理体系开发系统或功能就足够了,不用考虑任何安全相关的设计。确定了危害的ASIL等级后,为每个危害确定至少一个安全目标,作为功能和技术安全需求的基础。

表2 ASIL等级确定

        下面以EPB(Electrical Park Brake)系统为例介绍如何进行危害分析和风险评估。

        EPB较传统的驻车制动器,除了驻车功能,还有动态起步辅助功能、紧急制动功能以及自动驻车功能等。这里我们以驻车功能为例,当驻车时,驾驶员通过按钮或其它方式发出制动请求,EPB系统在汽车的后轮上施加制动力,以防止车非预期滑行。该系统的危害有:非预期制动失效、非预期制动启动。相同的危害在不同的场景下的风险是不一样的,所以我们要对不同的驾驶场景进行分析。为了简化问题,这里我们仅对”非预期制动失效”这种功能故障进行风险评估。表3给出了EPB风险评估表,在该表中我们考虑的驾驶场景是车停在斜坡上,驾驶员不在车上。如果驾驶员在车上的话,驾驶员可通过踩刹车控制汽车滑行,可控性增加,那么所评估的ASIL等级会比表中的ASIL D低,但是对于同一个安全目标,如果评估的ASIL等级不同的话,要选择ASIL等级最高的那个。

表3 EPB风险评估


 

        通过以上分析,得出EPB系统的安全目标为:防止制动失效,ASIL等级为D。
3. ASIL分解原则
        通过上节介绍的危害分析和风险评估,我们得出系统的安全目标和相应的ASIL等级,从安全目标可以推导出开发阶段的安全需求,安全需求继承安全目标的ASIL等级。如果一个安全需求分解为两个冗余的安全需求,那么原来的安全需求的ASIL等级可以分解到两个冗余的安全需求上。因为只有当两个安全需求同时不满足时,才导致系统的失效,所以冗余安全需求的ASIL等级可以比原始的安全需求的ASIL等级低。ISO 26262标准的第9章给出了ASIL分解的原则,如图1所示。
        分解后的ASIL等级后面括号里是指明原始需求的ASIL等级,比如ASIL D等级分解为ASIL C(D)和ASILA(D)等,因为集成和需求的验证仍然依据其原始的ASIL等级。ASIL 分解可以在安全生命周期的多个阶段进行,比如功能安全概念、系统设计、硬件设计、软件设计阶段。而且ASIL等级可以分多次进行,比如ASIL D等级分为ASIL C(D)和ASILA(D),ASIL C(D)还可以继续分解为 ASIL B(D)和ASIL A(D )。

        但是ASIL 分解的一个最重要的要求就是独立性,如果不能满足独立性要求的话,冗余单元要按照原来的ASIL等级开发。所谓的独立性就冗余单元之间不应发生从属失效(Dependent Failure),从属失效分为共因失效(Common Cause Failure)和级联失效(Cascading Failure) 两种。共因失效是指两个单元因为共同的原因失效,比如软件复制冗余,冗余单元会因为同一个软件bug导致两者都失效,为了避免该共因失效,我们采用多种软件设计方法。级联失效是指一个单元失效导致另一个单元的失效,比如一个软件组件的功能出现故障,写入另一个软件组件RAM中,导致另一个软件组件的功能失效,为了控制该级联失效,我们采用内存管理单元,可以探测到非法写入RAM的情况。

图1 ASIL分解原理图
 

        下面以一个例子介绍ASIL 分解的过程。

        假设功能F,其输入信号为S1,S2,S3,这三个信号分别测量不同的物理量,是相互独立的,经过ECU内部的逻辑运算后,发送触发信息给执行器Actuator,功能F的架构示意图如图2所示。假设经过危害分析和风险评估后,功能F的ASIL等级为ASIL D,安全目标为避免非预期触发执行器。那么功能F的各个部分继承ASIL等级,即传感器、ECU、执行器都需要按照ASIL D 等级开发,如图3所示。

图2 功能F架构示意图

图3 ASIL等级在功能F架构上的分配图

        经过进一步的分析发现,当速度V>阈值时,非预期触发执行器,才能造成危险。那么我们在功能F的架构中,加入一个安全机制,安全机制的功能是当检测到速度V大于阈值时,不允许触发执行器。那么功能F的架构变为如图4所示。

图4 加入安全机制后的架构

        功能F和安全机制是冗余安全需求,同时来满足安全目标,因此可以将功能F原来的ASIL等级在这两个需求上进行分解,分解为ASIL D(D)和QM(D),分解后的ASIL等级如图5所示。

图5 ASIL分解后架构示意图

        原来的传感器S1、S2、S3按照QM开发,速度传感器按照ASIL D开发,ECU里面的软件,原来的逻辑按QM开发,安全机制的逻辑按照ASIL D开发,不同ASIL等级的软件存在于一个ECU内,为了保证软件之间的独立性,保证两者之间不相互影响,需要考虑内存保护机制,合适的调度属性来保证存储空间和CPU时间的独立性,这样会增加软件开发的很多成本。那么我们进一步采取硬件上的分离来保证独立性,我们选择一个成本很低的简单的芯片(比如PGA, Programmable Gate Array)来运行安全机制中的软件(如图6所示)。需要注意的是PGA要使用独立的电源和时钟。

图6 改进的ASIL分解后架构示意图

        经过分解后,按照ASIL D开发的功能逻辑简单,使得开发变得简单,整体成本也得以降低。
4. 结论

        本文以EPB为例介绍了ISO 26262标准中安全目标及其ASIL等级确定的方法,安全目标的ASIL等级被开发阶段安全需求继承,如果安全需求的ASIL等级高,那么需要进行ASIL分解以降低ASIL等级,本文以实例介绍了ASIL分解的原则和步骤。ASIL分解并没有在ISO 26262中被强制要求执行,但是我们可以通过对系统进行分析、进而对系统架构进行调整,实现ASIL分解,可以解决因ASIL等级高而带来的开发成本、开发周期和技术要求等方面的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ISO 26262中的ASIL等级确定与分解 的相关文章

  • 嵌入式linux和用stm32进行的嵌入式开发这两者之间有什么关联性吗?

    基于STM32的开发属于微控制器开发领域 xff0c 主要开发工具是keil或IAR xff0c 这种开发更准确的说法是单片机开发或者硬件开发 xff1b 而招聘里所说的嵌入式开发 xff0c 开发环境是基于Linux操作系统 xff0c
  • 【YOLOv4】详细讲解全过程

    目录 1 YoloV4核心基础内容 1 1 网络结构可视化 1 2 网络结构图 1 3 核心基础内容 1 3 1 输入端创新 xff08 1 xff09 Mosaic数据增强 1 3 2 BackBone创新 xff08 1 xff09 C
  • 【Cmake】在Windows下用Cmake构建C++工程项目——cmake 的 helloworld——1

    参考资料 xff1a Cmake 实践 Cmake Practice Cjacker Cmake 实践 xff0c 是在Linux系统环境下讲解的 xff0c 有些地方在Windows下看不到该有的效果 xff0c 而且第一节因为给出的代码
  • OpenCV矩阵cv::Mat通道和位深的整理(CV_8UC1,CV_16UC1,CV_32FC1等等)

    一 数据类型说明 矩阵数据类型 CV lt bit depth gt S U F C lt number of channels gt 1bit depth 比特数 代表8bit 16bit 32bit 64bit2S U F S 代表 s
  • github如何修改repository(仓库)名字

    首先登录你的github 查看你的仓库目录页 xff0c 点击你需要更改的仓库 进入此仓库管理页面 xff0c 点击Settings 进入到设置页面 xff0c 如果你是想要更改名称的话 xff0c 直接在这里改 xff0c 然后点击Ren
  • ROS中tf树,frame未连接的问题。

    今天调节双舵轮的AGV xff0c 一开始无法导航 xff0c 由于学生有些忙 xff0c 没做urdf 我就直接发布静态坐标变换 xff0c odom到basefootprint是里程计自己编写 xff0c 问题是加了laser base
  • The POM for xxxx is missing, no dependency information available

    很久以前用Maven的时候基本都是一个工程 xff0c 后来感觉太落伍了 xff0c 就根据geoserver源码开始分模块对功能进行优化 后来有个新来的同事也碰到了这个问题 xff0c 我就给他解决一下 xff0c 顺便把以前的心得记录一
  • 无人机开发-介绍Mavlink协议的消息组成、如何看懂繁杂的mavlink官网介绍、简单介绍地面站与飞控的通讯流程

    这篇博客主要介绍了mavlink的消息组成和如何看懂繁杂的mavlink官网介绍以及简单介绍了下地面站与飞控的通讯流程 前面已经提到了在mavlink消息帧里最重要的两个东西 xff0c 一个是msgid xff1b 一个是payload
  • 无人机开发-介绍MAVLink代码的大概结构

    可以看到 xff0c 里面有多个文件夹和几个头文件 pixhawk xff0c ardupilotmega xff08 apm xff09 xff0c matrixpilot这类的文件夹里都是各个飞控自己定义的mavlink消息类型 xff
  • 无人机开发-图传技术浅析

    2016年 xff0c 是中国无人机市场的元年 xff0c 无人机能够一跃进入大众视野 xff0c 并迅速在大众市场火热发展 xff0c 是很多人始料未及的 从刚开始的空中摄录 xff0c 到后来的实时摄录 xff0c 方便的无人机图传功能
  • Ubuntu18.04安装ROS+gazebo9+PIX4仿真

    本文仅作安装过程记录之用 1 安装ros Ubuntu18 04选择ROS Melodic 教程网址 xff1a http wiki ros org cn melodic Installation Ubuntu 1 1配置 Ubuntu 软
  • PX4+gazebo仿真给无人机添加摄像头

    1 启动仿真 xff1a cd到Firmware文件夹 xff0c 执行以下代码 roslaunch px4 mavros posix sitl launch 如果启动过程卡住或者很慢 xff0c 下载该链接的压缩包https bitbuc
  • 最全Pycharm教程(10)——Pycharm调试器总篇

    如果觉得这篇文章对您有所启发 xff0c 欢迎关注我的公众号 xff0c 我会尽可能积极和大家交流 xff0c 谢谢 最全Pycharm教程 xff08 1 xff09 定制外观 最全Pycharm教程 xff08 2 xff09 代码风格
  • 关于嵌入式

    学习方向 首先要学习下基础课程单片机 xff0c 汇编和C语言等等 xff0c 然后再学习嵌入式 xff0c 如果说你要想水平高的话 xff0c 最好学习下操作系统 xff0c 数据结构 xff0c 算法及一些硬件方面的知识等等 看你是想在
  • make_unique的使用

    关于make unique的构造及使用例程 xff0c MSDN的讲解非常详细 xff08 https msdn microsoft com zh cn library dn439780 aspx xff09 使用过程中 xff0c 我的理
  • C#学习记录——C#编写串口程序

    因为电气自动化专业出差太多 xff0c 考虑学点其他的看能不能实现转行 xff0c 也没太清晰的路线 xff0c 看网上好多推荐电气自动化转C 上位机开发的 xff0c 也抽时间学习了解下C xff0c 因为非软件专业 xff0c 对计算机
  • the working directory ‘XXX’ does not exist

    积累点滴 今天在idea上重新建了一个项目 xff0c 结果一运行就报了 the working directory XXX does not exist 的错误 明明上一个项目都运行好好的 xff0c 怎么新建一个就出问题了呢 xff1f
  • Git 子模块(Submodule)

    提示 xff1a Git 子模块 Submodule 操作 文章目录 一 Git 子模块 Submodule 是什么 xff1f 二 使用步骤1 创建子仓库2 clone 带有子仓库的git项目 三 子仓库代码的修改和更新 一 Git 子模
  • Java Web项目开发项目经验总结

    一 学会如何读一个JavaWeb项目源代码 步骤 xff1a 表结构 gt web xml gt mvc gt db gt spring ioc gt log gt 代码 1 先了解项目数据库的表结构 xff0c 这个方面是最容易忘记的 x
  • React + TS + Mobx 示例

    一 创建项目 方式一 xff1a create react app todo React ts demo scripts version 61 react scripts ts cd todo React ts demo npm start

随机推荐

  • AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化

    介绍AMD IOMMU driver基于IVRS的硬件初始化情况 1 I O Virtualization ACPI table 2 drivers iommu amd init c 1 I O Virtualization ACPI ta
  • AMD IOMMU与Linux (3) -- DMA

    Linux中DMA会使用硬件IOMMU如AMD IOMMU INTEL VT D xff0c 也会使用软件的SWIOTLB 这篇梳理一下LINUX内核在有AMD IOMMU的情况下 xff0c 是如何做DMA的 xff0c 内容包括如下 1
  • AMD IOMMU与Linux (4) -- Domain, Group, Device

    1 domain的本质是一个页表 xff0c 1对1的关系 2 IOMMU DOMAIN UNMANAGED vs IOMMU DOMAIN DMA a IOMMU DOMAIN UNMANAGED DMA mappings managed
  • 第三篇:知其然,知其所以然-USB音频设备的开发过程

    最近 xff0c 有朋友正好在开发一个USB音频设备 xff0c 所以询问我一些USB音频设备开发方面的技术细节问题 xff1b 也和音响发烧友聊到USB音频设备的实现方式与其优缺点 xff1b 后来 xff0c 也和人谈到实现一个USB音
  • 第七篇:风起于青萍之末-电源管理请求案例分析(下)

    第五篇 风起于青萍之末 电源管理请求案例分析 上 http blog csdn net u013140088 article details 18180249 第六篇 风起于青萍之末 电源管理请求案例分析 中 http blog csdn
  • 第十九篇:USB Audio/Video Class设备协议

    转发请注明出处 随着项目的不断进行 我想在网上查找了一下USB Audio Video的最新资料 看看有没有业内人士的更新 由于我们的项目一直在技术的最前延 而且这个USB IF官方发布的协议 也非常非常新 结果找了半天 都是我这篇文章的转
  • 《网络架构系列2-Http详解》

    不诗意的女程序媛不是好厨师 转载请注明出处 xff0c From李诗雨 https blog csdn net cjm2484836553 article details 104136511 网络架构系列2 Http详解 1 Http的协议
  • 第三十二篇:Windbg中USB2.0调试环境的搭建

    2011年的时候 xff0c 为了开发USB Mass storage UASP USB attached SCSI Protocol 的设备驱动程序 xff0c 从米国买了两个USB2 0的调试小设备 xff08 如下图 xff0c 每个
  • 理解SerDes 之一

    理解SerDes FPGA发展到今天 xff0c SerDes Serializer Deserializer 基本上是标配了 从PCI到PCI Express 从ATA到SATA xff0c 从并行ADC接口到JESD204 从RIO到S
  • 理解SerDes 之二

    理解SerDes 之二 2012 11 11 21 17 12 转载 标签 xff1a dfe serdes it 2 3 接收端均衡器 Rx Equalizer 2 3 1 线形均衡器 Linear Equalizer 接收端均衡器的目标
  • USB3.0的物理层测试探讨

    USB简介 USB Universal Serial Bus 即通用串行总线 xff0c 用于把键盘 鼠标 打印机 扫描仪 数码相机 MP3 U盘等外围设备连接到计算机 xff0c 它使计算机与周边设备的接口标准化 在USB1 1版本中支持
  • ARM SoC漫谈

    作者 xff1a 重走此间路 链接 xff1a https zhuanlan zhihu com p 24878742 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业转载请注明出处 芯片厂商向客户介
  • μC/OS III - 任务调度 Ⅰ:调度过程和调度点

    这是 C OS III任务调度的第一篇文章 xff1a 调度过程和调度点 基于Cortex M系列的处理器 xff0c 从最简单的创建任务开始 xff0c 分析 C OS III的任务调度过程 包括上下文切换的详细过程 任务的栈分配详情 引
  • 使用CANAPE脚本script周期性发送报文

    1 新建一个drive 选择devices选项卡中的device configuration 选择device菜单 xff0c new一个新驱动CAN 名称可自定义 Next 配置通道 xff0c 导入DBC Next 选择CANAPE对应
  • 【图像处理】MATLAB:基本原理

    前言 兜兜转转 xff0c 越发意识到夯实基础的重要性 不积跬步无以至千里 xff0c 想要深入学习图像处理 xff0c 就得安下心来踏实学习 xff0c 掌握基本理论知识 xff0c 切不可再得过且过 吊儿郎当 谨记两个词 刻苦 创新 x
  • 【Kalman】卡尔曼滤波Matlab简单实现

    本节卡尔曼滤波Matlab实现是针对线性系统估计的 xff0c 仅为简单仿真 1 离散时间线性动态系统的状态方程 线性系统采用状态方程 观测方程及其初始条件来描述 线性离散时间系统的一般状态方程可描述为 其中 xff0c X k 是 k 时
  • 安装Airsim并在Airsim仿真环境下进行DDPG DQN强化学习算法无人机训练

    微软开源了基于虚幻4引擎的一款用于模拟无人机飞行的工具AirSim 用户可以用在虚幻引擎下模拟无人机的飞行并进行数据采集 非常适合做视觉算法的测试以及仿真环境的训练等等 xff0c 下面介绍如何快速使用次仿真环境完成project的运行和使
  • Android面试专题 (十一):显式Intent & 隐式Intent

    面试官 xff1a 来 xff0c 说一下Android中的显式Intent 和 隐式Intent吧 xff01 嗯 xff0c 乍一听觉得这么简单你让我说什么呢 xff1f 但是 xff0c 没办法 xff0c 面试往往面的就是基础不是嘛
  • Java设计模式 | 观察者模式解析与实战

    概述 观察者模式是一个使用率非常高的模式 xff0c 它最常用的地方是 GUI 系统 订阅 发布系统 这个模式的一个重要作用就是解耦 xff0c 将被观察者和观察者解耦 xff0c 使得它们之间的依赖性更小 xff0c 甚至做到毫无依赖 以
  • ISO 26262中的ASIL等级确定与分解

    ISO 26262中的ASIL等级确定与分解 1 引言 汽车上电子 电气系统 xff08 E E xff09 数量不断的增加 xff0c 一些高端豪华轿车上有多达70多个ECU xff08 Electronic Control Unit电子