基于功能安全的车载计算平台开发:系统层面

news2024/9/28 5:28:36

相对于功能安全概念阶段,系统阶段更专注于产品的详细设计,涉及系统工程、安全工程和架构设计等不同技术领域。同时,系统阶段也经常扮演着供应链上、下游功能安全的DIA交互阶段,是功能安全中非常重要且考验技术水平的阶段。

01 应用环境

车载智能计算平台,作为自动驾驶的主要部件,其应用环境参考如图。

图片

车载智能计算平台应用环境参考示意图

车载智能计算平台的应用环境主要包含用于环境感知(如摄像头、激光雷达、毫米波雷达、超声波雷达等)和位置定位(如GNSS、高精度地图等)的传感器,整车底盘域、动力域以及车身域的执行器,人机交互的HMI,以及外部互联与通信的T-Box和OBD等。随着自动驾驶等级的不断提高,车载智能计算平台对应用环境中的传感器、执行器、人机接口和外部互联通信有更高的功能要求及功能安全要求。

02 功能划分

车载智能计算平台按照功能可以分为传感器接入及管理、AI计算、通用计算、通信、存储和车控等。不同的功能依赖不同的系统模块实现。传感器接入与管理单元提供丰富的软硬件接口,使能传感器接入及管理。AI计算提供深度神经网络算法加速计算能力。通用计算主要是指面向常规算法的计算能力。车载智能计算平台内部通信提供车载智能计算平台内部各个要素之间通信能力。V2X通信提供车载智能计算平台连接车辆外部设备能力。存储功能提供诸如高精度地图存储及服务能力。车控提供车控下发能力,对接车辆执行器。

图片

车载智能计算平台功能单元参考ASIL等级

**
**

03 安全分析

系统安全分析的目的是识别功能或系统设计中存在的违背安全目标的失效(包括单点失效或异常)和相关性失效(如共因失效和级联失效)等。ISO 26262对此提及两种安全分析方法:

归纳分析(Inductive analysis):是一种以自上向下的分析方式,从已知影响结果入手逐步向下分析找到失效原因的方法;

演绎分析(Deductive analysis):是一种以自下而上的分析方式,从已知的失效原因入手推导出影响结果的方法。

演绎分析方法是针对ASIL等级为C/D的功能安全开发所使用的方法,具体常用的方法有故障树分析(FTA)、可靠框图(RBD)、系统理论与过程分析(STPA)等。归纳分析方法是针对所有ASIL等级的功能安全开发都强烈推荐使用的方法,具体常用的方法有失效模式与影响分析(FMEA)和事件树分析(ETA)等。

另外,安全分析包括定量分析与定性分析,在系统阶段的安全分析用于辅助系统设计,因此,这个阶段定性的安全分析就足够了。在系统阶段的安全分析过程中,除了上面提及的分析方法,还包括危险和可操作性分析(HAZOP)、接口安全分析(ISA)。

04 安全策略

自动驾驶功能目前的系统安全策略大体分为两种,即Fail-Safe(失效-安全)以及Fail-Operational(失效-可操作)。Fail-Safe要求系统监控关键的部件以达到失效后系统关断的目的。但是对于L3及以上的功能,驾驶员处于脱眼、脱手的状态,系统的关闭并不能保证可靠地完成驾驶权的转移。例如,高速公路场景中,车辆紧急停止在本车道是一种潜在的风险状态,很容易发生高速追尾。Fail-Operational安全策略解决了这一问题,即使在主功能系统失效的情况下,仍然有备份系统可以保证车辆进行降级操作,让车辆转移到安全区域。

**
**

05 系统设计

系统安全架构,业内常使用的是E-Gas三层监控架构。E-Gas监控概念源于奥迪、宝马、戴姆勒、保时捷、大众等成员一起通过工作组的形式开展的针对复杂车载控制系统的安全监控架构设计指导性文档,涉及系统架构、软件和硬件的设计理念,广泛应用于传统燃油车和新能源汽车监控与诊断设计领域。

E-Gas监控概念的核心是三层安全架构设计。整体设计分为Level1、Level2和Level3,其定义如下:

图片

E-Gas三层安全架构(带锁步核)

**Level1:**功能层,包括扭矩的解析、功能的诊断等,最直接的理解就是能够实现设计基本功能的软件及相关硬件资源的组合;

**Level2:**功能监控层,负责监控功能层的输出结论,简单理解来看,就是软件的冗余校验,但是,由于不想消耗太多资源及避免算法共因,所以基于功能结果的监控;

**Level3:**硬件监控层,负责确保Level1和Level2的运行的硬件环境是正常工作的,异常的运行环境会导致Level2的设计起不到很好效果,因此,Level3在整体的监控架构中作用是不可替代的。

车载智能计算平台的安全策略可以是独立的监控模块或冗余的系统设计。独立的监控模块实时监控功能实现模块的软硬件故障,一旦检测到有安全相关故障,车辆即进入安全状态,如需要可先进入紧急运行模式(Emergency Operation)。例如,功能降级、当前车道停车、安全地点停车等。

冗余的系统设计是指两个或多个功能模块互为备份。例如,车载智能计算平台可以采用“主处理单元+辅处理单元”双处理架构,以确保L3及以上自动驾驶车辆的安全。在该架构下,主处理单元对车辆的运动轨迹进行规划和控制,辅处理单元的作用是监控主处理单元。同时两个单元不断地进行交叉检查,当两个通道在规划轨迹和控制策略存在较大偏差时,系统就会进入降级模式。主处理单元和辅处理单元可以按照ASIL-B设计开发,仲裁模块可以按照ASIL-D设计开发。

在系统阶段进行设计时,需要考虑不同系统单元的故障以及对应的处理策略,具体包括传感器接入能力失效,比如丢帧、乱序等;通用计算能力或AI计算能力失效,比如代码跑飞、执行超时等;内部或V2X通信能力失效,比如超时等;存储失效,比如高精度地图数据损坏等;车控失效,比如非预期发送车控等;电源失效;时钟失效。

06 技术安全概念

技术安全概念是车载智能计算平台系统设计中安全策略与安全设计的集合。技术安全概念的内容主要包含基于系统架构的功能安全分析,基于上级功能安全要求与功能安全分析导出的技术安全要求,最终集成安全设计的系统架构,以及后续生产过程中需要采取的安全措施。技术安全要求需要定义具体的安全机制并分配到相应的架构要素中,以确保在下一级的开发过程中,安全机制可以被进一步细化与实施。在车载智能计算平台的开发过程中,技术安全概念可能针对于某一系统或子系统,因而技术安全要求涉及的架构层级可以不止一层。

功能安全概念规定了系统的安全目标,以及系统所需要的安全功能以实现这些安全目标。而技术安全概念则需要实现以下两部分内容:

①进一步细化安全概念提出的安全功能,也就是从做什么转化为怎么做,得出安全功能的实现技术方案;

②分析安全功能的实现路径,找到系统或技术方案中引起安全功能失效的单点故障、潜伏故障和多点故障,并提出安全措施或安全机制来覆盖这些故障。

具体而言,从功能安全需求(FSR,Functional Safety Requirement)/功能安全概念(FSC,Functional Safety Concept)导出到技术安全需求(TSR,Technical Safety Requirement)以及技术安全概念(TSC, Technical Safety Concept)的步骤如下:

步骤1:针对每一条FSR/FSC,详细制订该条FSR/FSC的实现技术方案,也可以理解为FSR/FSC在系统初始架构要素中的功能执行路径,从传感器→控制器→执行器的实现路径;

步骤2:FSR/FSC的实现技术方案为对象,进行FTA或FMEA分析,识别出该实现技术方案中违背该条FSR/FSC的单点故障和双点故障;

步骤3:针对单点故障,设计相应的具体诊断机制或安全措施;

步骤4:针对双点故障,设计相应的避免潜伏故障的诊断机制或安全措施;

步骤5:汇总上述技术实现方案、针对单点的诊断机制和避免潜伏的诊断机制,形成TSR;

步骤6:将导出的TSR分配到具体实现要素如硬件和软件,优化系统架构设计,即TSC;

步骤7:针对较复杂或多层系统,可重复步骤1—6过程进行迭代设计,直至完成整个系统的TSR/TSC开发。

在车载智能计算平台的技术安全要求中,若采取多层次的技术安全要求,其基本原则不变,即技术安全要求要与架构层级相映射并最终被分配到软件与硬件中,以保证软件与硬件的功能安全开发有明确和完整的输入。

07 测试验证

系统测试内容与方法从软硬件层面、系统层面与整车层面提出了要求,相应的测试内容、测试方法以及ASIL等级要求如表。

图片

系统测试内容与方法列表

车载智能计算平台在功能安全概念阶段开发或假设了上层的安全目标和功能安全要求,安全要求在之后各个阶段被逐渐细化和实现。最终完成硬件层面及软件层面开发和集成的车载智能计算平台能否正确实现安全要求,以及是否存在非预期的功能,需要通过系统层面的集成测试进行验证。系统层面的测试验证,一方面需要确保安全要求能够被正确地使能,另一方面还需要确保车载智能计算平台不会因为安全要求非预期使能而导致系统可用性降低。

制定有序的系统层面测试计划,并进行持续的过程跟踪管理,是保障车载智能计算平台测试验证工作有序可靠进行的必要途径。开发测试团队应重点考虑项目整体时间计划、测试验证的人员安排与责任分工、测试方法、测试环境、测试工具等方面的内容,综合评估和确认之后形成测试计划。

基于SEooC模式开发的车载智能计算平台实际应用到目标车型时,系统集成测试和整车集成测试是发现系统性故障不可或缺的安全活动。在系统集成测试和整车集成测试活动中,需重点验证目标车型的功能安全要求是否得到正确实现,集成真实的传感器和执行器等其他其它要素之后的系统响应是否满足安全机制的要求,车载智能计算平台与目标车型其他要素之间的接口与交互过程是否正确,以及安全要求在外界严苛的环境条件和运行工况下能否正常实现。

08 系统开发常用工具介绍

依据ISO26262的要求,为实现系统设计满足如图所示的原则,一般可使用半形式化如SysML语言+自然语言实现。行业内用得比较多的、支持系统设计的工具有Medini Analyze、IBM Rhapsody和Enterprise architect等。Medini Analyze与ISO 26262要求更加契合,IBM Rhapsody和Enterprise architect的系统工程建模则更加强大。

图片

系统设计原则

a、Medini Analyze

Medini Analyze是Ansys公司开发的一款支持ISO26262开发活动的工具,它提供一系列绑定在模型化环境中的先进分析方法,包括:

  • 针对电子电气系统和软件控制功能的安全分析和设计,以及适用于ISO26262、IEC61508、ARP4761和MIL-STD-882E的特定模板;
  • 将架构/功能设计与质量、可靠性和功能安全分析方法进行集成;
  • 可支持运行情境分析、危险与风险分析(HARA)、功能性风险评估(FHA)、FTA、FMEA、FMEDA、FMECA概率可靠性分析以及硬件失效指标;
  • 依照SAEJ1739、VDA质量手册、AIAG等标准进行产品设计及相关流程的质量分析;
  • 完整的端到端可追溯功能;
  • 工作成果和文档的定制化生成;
  • 团队协作支持,包含模型化高级对比和合并技术;
  • 集成Ansys SCADE Architect、IBM Rational DOORS、IBM Rational Rhapsody、Enterprise Architect、MATLAB/Simulink、State flow、PTC Integrity、Microsoft Office、Tortoise SVN、IBM Rational ClearCase、Jama Software等工具。

图片

Medini Analyze驱动集成安全分析

b、IBM Rhapsody

IBM Rhapsody是IBM公司基于UML/SysML的模型驱动开发集成环境,用于嵌入式和实时系统的系统设计开发工具。Rhapsody的主要功能如下:

  • 使用行业标准建模语言:UML、SysML、DoDAF等;
  • 支持可视化模型仿真;
  • 支持C、C++、Java等语言开发环境,做到模型平台无关性;
  • 支持常用的嵌入式实时操作系统,如VxWorks、嵌入式Linux、Android、OSEK、QNX等;
  • 基于Jazz平台与DOORS、RTC、RQM无缝集成。

c、Enterprise architect

Enterprise architect是Sparx Systems公司的旗舰产品。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析、使用案例需求、动态模型、组件和布局、系统管理、非功能需求、用户界面设计、测试和维护等。该工具特点:

  • 高价值、端到端的建模,支持软件和系统工程的完整的建模生命周期;
  • 建模、管理和跟踪需求;
  • 强大的文档生成能力;
  • 源代码的生成和反向工程;
  • 先进的模型驱动架构,包括C#、DDL、EJB、Java、Junit、NUnit、WSDL、XSD的建模转化;
  • 支持SysML系统工程和仿真;
  • 业务流程建模;
  • 基于UML2.4.1语言;
  • 高效的项目管理;

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

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

相关文章

微服务框架 SpringCloud微服务架构 8 Gateway 网关 8.6 过滤器链执行顺序

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构8 Gateway 网关8.6 过滤器链执行顺序8.6.1 过滤器执行顺序8.6.2 总结8 Gat…

【毕业设计】大数据房价数据分析可视化 - python

文章目录0 前言1 课题背景2 数据爬取2.1 爬虫简介2.2 房价爬取3 数据可视化分析3.1 ECharts3.2 相关可视化图表4 最后0 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两…

深度讲解风险策略的调优|附实操案例

量化风控审核过程中的通过率在贷前策略中是一大重要的内容,另外一个是逾期率。二者之间的因果关系就是通过率高低变化决定了逾期率风险的走势,通过率决定了逾期率的结果,而逾期率又对通过率起到了一个制衡的作用。 我们在本周早前详细谈过这个…

先验 后验 似然估计

一、完备事件组 设E是随机试验,Ω是相应的样本空间,A1,A2,...An为Ω的一个事件组,若 (1)AiAj(ij) (2)A1A2...AnΩ 则称A1A2...An为样本空间的…

web安全之MySQL手工注入的原理讲解和实验分析

目录 前提知识 靶场搭建 手工注入 高权限注入 sql注入之文件读写 基础防御 前提知识 数据库及sql语句知识,web相关知识。union合并查询的两个特征:前后查询互不干扰,前后查询的字段可以不同但是数量必须一致。order by 通过测试来猜解表…

解决SpringBoot整合Mybatis和Mybatis-Plus不能公用(版本兼容性问题)

1 前言 虽然Mybatis-Plus很好使,可以帮助我们生成CRUD的接口,但是有的情况下我们需要联合其他表进行多表查询,这时候Mybatis可以手写SQL的优势就体现出来了,一般在开发中,很多项目都是Mybatis和Mybatis-Plus公用的&am…

Markdowm使用手册

Markdown使用手册 目录Markdown使用手册一、基础语法1.1 书写各级标题1.2 字体加粗/斜体1.2.1 字体加粗1.2.2 字体倾斜1.3 线条使用1.3.1 删除线1.3.2 高亮线1.3.3 下划线二、插入工具2.1 插入代码2.1.1 插入某一行的代码2.1.2 插入整块的代码2.2 插入链接2.3 插入数学公式2.4 …

1546_AURIX_TC275_CPU子系统_指令耗时以及程序存储接口

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这里接触到了几种测试的方式。其中一个是反复执行同一个命令,看看执行之间的间隔。执行的时候,命令是有一定顺序的。这样,有时候流水线等特性会导致效率…

【Java并发入门】03 互斥锁(上):解决原子性问题

原子性问题的源头是线程切换 Q:如果禁用 CPU 线程切换是不是就解决这个问题了? A:单核 CPU 可行,但到了多核 CPU 的时候,有可能是不同的核在处理同一个变量,即便不切换线程,也有问题。 所以&a…

C++代码基本内存操作及原理

文章目录前言操作系统内存地址空间基本数据类型sizeof运算符指针运算内存分配与回收堆与栈malloc/new与free/delete基本类型的指针操作类定义中的内存使用前言 ​ C凭借其指针变量可以直接操作内存而得到了非常高的效率和程序性能,在一种编程语言里独树一帜。当然&…

网络变压器工厂:了解POE POE+ 网络变压器(网络隔离滤波器)

Hqst盈盛(华强盛)电子导读:这一节给大家分享:POE POE POE 网络变压器(网络滤波器,网络隔离变压器)的相关知识--poe poe 与POE简介及相关标准; 一、网络变压器 POE、 POE 与POE简介 POE 是Power …

Day17-购物车页面-收货地址-把address信息存储到vuex中

1.将address信息存储到vuex中: 我的操作: 1》在 store 目录中,创建用户相关的 vuex 模块,命名为 user.js: ①:新建user.js文件 ②:为user.js编写内容 2》在 store/store.js 模块中&#xff0c…

typora安装和配置PicGo图床

typora安装和配置PicGo图床typora安装和配置PicGo图床typora安装安装picgo图床配置picgo图床图床服务器picgo配置七牛云typora安装和配置PicGo图床 typora安装 windows安装typora 参考:https://www.bilibili.com/read/cv19476097/ m1 mac安装typora比较简单&…

数据结构-栈ArrayDeque的实现

优雅,实在是太优雅了 能把复杂的东西简单化就是功底。 我为何有如此感慨,了解ArrayDeque的实现你就知道,今天我们要讲的是以栈为思想而实现的ArrayDeque,我们都知道栈是先进后出,和队列相反,如下图&#x…

二叉树的中序遍历三种解法(递归+迭代+线索化)

文章目录递归迭代线索二叉树解法传送门: 添加链接描述 给你一颗二叉树,让你实现中序的遍历 递归 递归没什么好说的,直接无脑递归即可,时间复杂度:O(n),空间复杂度:O&am…

搭建环境AI画图stable-diffusion

目录简介环境准备安装conda(方式1)安装conda(方式2,推荐)验证conda安装成功安装stable-diffusion的环境简介 本文旨在记录过程,偶然看见一个AI画图的,体验看看。 stable-diffusion是一个输入简单图片,输出…

【Java难点攻克】「Guava RateLimiter」针对于限流器的入门到实战和源码原理分析

限流器的思路和算法 如果让你来造一个限流器,有啥想法? 漏桶算法 用一个固定大小的队列。比如设置限流为5qps,1s可以接受5个请求;那我们就造一个大小为5的队列,如果队列为满了,就拒绝请求;如…

JRebelXRebel的配置和使用(进阶篇)

JRebel&XRebel的配置和使用嘚吧嘚设置JRebel快捷键XRebel使用嘚吧嘚 之前简单介绍了JRebel&XRebel的安装和使用,不了解的朋友可以补补课😆。 JRebel&XRebel这款插件不仅仅可以用来热部署,所以继续分享一下这款插件的相关使用&a…

12月2日(第四天)

使用myabtis自动生成的时候&#xff0c;发现xml文件只会merge不会覆盖&#xff0c;这时候需要使用插件&#xff1a; <plugin type"org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />MyBatis Generator配置文件context元素的defaultModelType属性…

封装window10-21H1踩的坑,无法分析或处理pass[specialize]应答文件

最近在研究封装镜像&#xff0c;无奈公司不给用win11&#xff0c;只能封装win10 2022年全新Windows11系统封装图文教程&#xff08;一&#xff09;定制母盘 - 小鱼儿yr系统 (yrxitong.com) 坑1&#xff0c;封装好出现无法分析或处理pass[specialize]应答文件 解决办法&#x…