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

news2024/11/16 14:23:58

作为车载智能计算平台功能软件与系统软件的载体,硬件的失效可能直接导致功能软件输出不可信任的结果,从而违背安全目标。由于硬件故障在硬件生命周期中发生时间的随机性,在通过改善流程降低系统性失效的同时,ISO 26262功能安全标准在硬件层面重点关注识别安全相关的硬件故障以及采取安全机制诊断相应硬件故障,并发现的硬件故障进行处理(例如进入安全状态),从而将硬件随机失效对安全目标的影响降低到可接受的程度。

01

**************硬件架构设计****************

由于现有关键器件的功能安全能力的局限性与ASIL D系统对单点失效度量的严格要求,硬件冗余是实现高功能安全等级安全目标的常见方式。冗余式硬件架构的主体是通过对冗余计算单元输出结果的相互校验达到提高计算单元硬件故障诊断覆盖率的目的。由于对相互冗余系统的独立性要求,相互冗余的系统需尽可能的避免由同源输入、共用资源、环境影响等因素引起的共因失效。

功能安全在硬件层面,关注硬件器件中的安全相关故障可以通过自检或外部监控的方式被检测到,并在故障容忍时间内实现安全状态。硬件器件实现安全状态的方式多为重启、断电、报错、禁言等,因此单硬件通路的硬件架构可以满足Fail-Safe概念的需求。根据车载智能计算硬件平台所承载功能与功能安全要求分配的不同,AI单元、计算单元与控制单元所选用的芯片可通过单器件或冗余的方式实现相应的功能安全等级。

图片

单硬件通路Fail-Safe抽象硬件架构示例

随着自动驾驶的发展,Fail-Safe的安全策略难以满足高级别自动驾驶的安全要求。基于L3以上自动驾驶功能对系统Fail-Operational的需求,越来越多的车载智能计算平台在主通路实现ASIL C-ASIL D的基础上增加与主通路相互监控的Fail-Operational通路,实现主通路失效情况下硬件层面的失效可操作性,以提高系统的安全性和可用性。需要注意的是,根据自动驾驶功能等级对Fail-Operational系统在主通路失效情况下需要完成的紧急运行模式的不同,Fail-Operational通路所包含的硬件单元可能会有所差异。

图片

多硬件通路Fail-Operational抽象硬件架构示例

诊断覆盖率指的是硬件要素失效率中,由实施的安全机制探测或控制的失效率所占的比例。由该定义直接评估诊断覆盖率,需要基于大量的硬件随机失效事件考察安全机制的有效性,实际操作中很难实现。一般情况下,对诊断覆盖率分为三个等级:Low(60%)、Medium(90%)和High(99%)。基于ISO 26262,提供以下两种较为简单的确定诊断覆盖率的方法。

1、基于能够探测的失效模式

一个典型的系统(包含传感器、控制器、执行器)硬件要素如图所示。

图片

常见系统硬件

对于硬件要素来说,其失效模式分布呈一定的统计规律。基于硬件要素的失效模式分布,能够诊断某些失效模式或失效模式的组合,得出相应的诊断覆盖率(DC, Diagnostic Coverage)。针对图5-20所示系统所含硬件要素,低诊断覆盖率(Low DC)、中诊断覆盖率(Medium DC)和高诊断覆盖率(High DC)三种不同的诊断覆盖率与其所需要能够覆盖的失效模式如表。

系统硬件要素失效模式与诊断覆盖率

图片

A、卡滞是一个故障类型,可以描述为要素针脚上持续的“0” “1”或者“打开”。该故障只针对具有要素层针脚接口的要素才是有效的。

B、直流故障模型包含下列失效模式:卡滞故障、卡滞开路、开路或者高阻抗输出,以及信号线间的短路。这里的意图不是一定需要全面的分析,比如要求对于微控制器内或者来自于一个复杂的PCB板上任何理论可能的信号组合的桥接故障进行详尽的分析。分析着重于主要信号或者在布局层面分析中识别出的高度耦合互连。

C、“软错误模型”:软错误(比如位翻转)是由封装衰变的α粒子或者中子等引起的瞬态故障的结果。这些瞬态故障也就是单粒子翻转(SEU)和单粒子瞬态(SET)。

2、基于采用的安全机制

根据对硬件要素采用的安全机制,ISO 26262同样给出了可供参考的诊断覆盖率。例如:针对传感器,若只采用短电源、短地诊断,诊断覆盖率为Low;若采用双冗余传感器做相互校验,诊断覆盖率为high。

ISO 26262 Part5 传感器安全机制与诊断覆盖率

图片

根据能够覆盖的失效模式与根据采用的安全机制评估诊断覆盖率,双方并无本质的不同。上表中安全机制与诊断覆盖率的关联,其背后逻辑依然是安全机制—能够覆盖的失效模式—失效模式分布。

诊断覆盖率的评估方法适用场景

图片

02

******************随机失效概率量化指标********************

根据硬件故障对安全目标产生影响的不同,硬件故障可分为安全相关故障与非安全相关故障,其中安全相关故障又进一步分为单点故障、残余故障、多点可探测故障、多点可感知故障、多点潜伏故障与安全故障。其中,单点故障和残余故障可以直接导致安全目标的违背。

多点潜伏故障虽然不会单独导致安全目标的违背,但可能会在与其它故障同时发生时导致安全目标的违背。因此用于表示单点故障与残余故障诊断覆盖率的SPFM(Single-Point Fault Metric,单点故障度量),多点潜伏故障诊断覆盖率的LFM(Latent Fault Metric,潜伏故障度量)与PMHF(Probabilistic Metric for random Hardware Failures,随机硬件失效概率度量)是功能安全用于衡量随机硬件失效率是否达到可接受程度的重要衡量指标。针对于不同的功能安全等级,ISO 26262针对上述指标给出了参考性量化目标。下列数值是广泛应用于业界评估安全系统是否满足相应功能安全等级的重要指标。

硬件随机失效度量参考量化目标

图片

“单点故障度量”和“潜伏故障度量”计算示例,如下图的系统在一个ECU中实现了两个功能。

图片

“单点故障度量”和“潜伏故障度量”计算示例

功能1有一个输入(通过传感器R3测量温度)和一个输出(通过I71控制阀2),功能1的表现是当温度高于90℃时打开阀2。

如果没有电流经过I71,阀2打开。

相关联的安全目标1是“当温度高于100℃时关闭阀2的时间不得长于x ms”。安全目标被分配为ASILB。安全状态是:阀2打开。

微控制器的ADC读取传感器R3的值。R3的电阻值随着温度升高而减小。该输入没有监控。控制T71的输出级由模拟输入InADC1(表中的安全机制SM1)来监控。在这个例子中,假设安全机制SM1能够对T71违背安全目标的某些失效模式的探测提供90%的诊断覆盖率。如果SM1探测到失效,安全状态被激活但是没有点灯。因此,声明针对潜伏故障的诊断覆盖率只有80%(驾驶员将通过功能降级获悉失效)。

功能2有两个输入(通过传感器I1和I2生成脉冲来测量轮速)和一个输出(通过I61控制阀1),功能2的表现是当车速高于90km/h时打开阀1。

如果没有电流经过I61,阀1打开。

相关联的安全目标2是“当速度超过100km/h时阀1的关闭时间不得长于y ms”。安全目标被分配为ASIL C。安全状态为:阀1打开。

微控制器读取I1和I2的脉冲值。通过这些传感器给出的平均值计算轮速。安全机制2(表中的安全机制SM2)比较两个输入。它对每个输入的失效探测达到99%的诊断覆盖率。如果出现不一致,输出1设为0。阀1打开(晶体管电压为“0”则打开栅极。I61电压为“0”则打开阀1)。因此,99%可能导致违背安全目标的故障能被探测到并且进入安全状态。当安全状态被激活时,灯L1点亮。因此,这些故障是100%能被察觉的。剩下的1%的故障是残余故障而不是潜伏故障。

控制T61的输出级被模拟量输入InADC2(表中的安全机制SM3)监控。轮速由该传感器给出的平均值计算得到。

微控制器没有内部冗余。如果不具备关于复杂元器件的安全故障比例的详细信息,可假定安全故障的保守比例为50%,并假定通过内部自检和外部看门狗(表中的安全机制SM4)达到对违背安全目标的总体覆盖率为90%。看门狗通过微控制器的输出0得到喂狗信号。当看门狗不再被刷新,其输出变低。SM4(看门狗和微控制器自检)提供的故障探测把这两个功能切换到它们的安全状态并点亮L1。因此,针对潜伏故障的诊断覆盖率声称是100%。

L1是仪表板上的一个LED灯,当探测到多点故障(其中只有一部分可以被探测到)时点亮它,并提示驾驶员功能1(打开阀1)的安全状态已被激活。

安全目标1中,安全机制对硬件要素的给定失效模式的覆盖率,称为“失效模式覆盖率”。

安全目标1

图片

安全目标1被分配为ASIL B,对于ASIL B,单点故障度量推荐为≥90%,以及潜伏故障度量推荐为≥60%。单点故障度量的计算值为93.2%,表明此度量已被满足,同时潜伏故障度量的计算值为90%,表明潜伏故障度量也被满足。

安全目标2

图片

安全目标2被分配为ASIL C,其中,单点故障度量要求≥97%;潜伏故障度量建议≥80%。单点故障度量的计算值为96.5%表明此度量未被满足,同时潜伏故障度量的计算值为91.6%表明潜伏故障度量得到满足。

03

****************关键器件的选型与集成******************

车载智能计算平台的硬件主要由AI单元、计算单元与控制单元组成。根据不同的架构需求,上述单元可由一个或多个芯片组成,芯片的种类可能包含GPU/FPGA/ASIC、SoC、MCU等。

芯片多采取SEooC开发模式。安全相关芯片供应商在提供产品的同时会提供给车载智能计算平台的系统集成者相应的安全使用手册。安全使用手册一般包含芯片供应商对系统功能安全要求的假设,可支持的最高功能安全等级,集成的安全机制以及实现承诺功能安全等级需要满足的假设条件。

车载智能计算平台选用的安全相关器件需要满足分配到该器件的技术安全要求。芯片通常会对内部处理单元、存储单元、通信总线、接口等元件提供相应的安全机制以满足安全相关故障的诊断覆盖率要求。除此之外,由于芯片的正常性能表现受限于一定的条件约束,保证时钟、温度、供电等在可操作范围内的安全机制也对功能安全的实现极为重要。车载智能计算平台需要按照各芯片厂商提供的安全手册搭建安全芯片外围电路和配置内部参数,确保芯片的安全内外部安全机制正常运行,从而在出现故障时能够及时进入安全状态。确保每个芯片正确集成的同时,还需确保集成后的硬件架构满足所有安全目标的随机失效概率量化指标要求。

处理单元

图片

04

********************供电系统设计**********************

电源是整车电子电气架构中最基础的共用资源。如若电源系统发生失效,则可能导致车载智能计算平台的所有功能失效,对于L3及以上自动驾驶系统是不可接受的风险。车载智能计算平台的供电系统需要满足Fail-Operational的要求,通常会采用双电源供电的方式。需要考虑双路电源供电有足够的隔离措施,确保一路供电出现故障(电压过高、过低甚至出现短路)时,另外一路供电不受影响。

为满足车载智能计算平台系统ASIL D的要求,车载智能计算平台的供电系统需要能够监控电源输入和输出是否存在异常,尤其是电源系统输出的监测和控制。若电源系统出现输出电压过高或过低故障时,车载智能计算平台内部的主芯片有可能会因为供电电压不稳而导致运算结果异常,最终导致违反安全目标。因此,电源系统需在输出电压异常时,及时关断对应的主芯片供电,确保车载智能计算平台输出为确定状态。

电源

图片

05

**********************通信系统设计************************

车载智能计算平台作为L3及以上自动驾驶的运算核心,通常通过专用的通信通道传输外界环境信息,而车载智能计算平台实现融合决策和车辆控制之后,将车辆运动控制指令通过通信总线发送至车辆的纵向和横向控制执行器。总线通信通道可能因为线束破损、外界电磁干扰和其他节点损坏等因素导致通信失效,包括报文丢失、报文延迟和报文篡改等多种类型的失效模式。采用多种安全监测工具的组合可以满足高诊断覆盖率的要求,但此种方法只能满足Fail-Safe的要求,即发现通信故障,但无法维持系统正常工作。为了实现L3自动驾驶功能Fail-Operation的要求,可采用硬件冗余的方式,一方面提高了诊断覆盖率,另一方面可满足Fail-Operation的要求。通信通道的冗余设计需要考虑二者的独立性,例如采用不同类型的通信协议(如CAN-FD和FlexRay),避免发生共因失效。

通信总线(串行,并行)

图片

06

************************硬件测试**************************

车载智能计算平台的硬件集成完成后,需要对硬件的安全性做全面的测试。硬件测试用例的导出方法包含硬件安全要求分析、内部及外部接口分析、等价类生成和分析、边界值分析等。硬件测试需要涵盖功能测试、故障注入测试、电气测试等测试方法来验证硬件安全要求的正确性和完整性,另外还需要涵盖最恶劣情况测试、超限测试、EMC测试和ESD测试等测试方法来验证车载智能计算平台硬件的鲁棒性和耐久性。测试完成后需要输出全面的测试报告作为硬件安全的佐证。

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

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

相关文章

Mysql的时间类型选定:Datetime,Timestamp,Bigint

1. 基本区别: 2. 其他特性: 1. TIMESTAMP是以utc格式存储,会自动检索当前时区对时间进行转换,而DATETIME不会。 2. 存入null时,TIMESTAMP会自动存储当前时间,而DATETIME存储null值。 3. 时间计算: DATETIME翻译为汉语即"时间戳",它是当前时间到 Unix元年(1…

RabbitMQ_消息的TTL与死信队列

什么是消息的TTL? TTL time to live,消息的TTL 消息的存活时间或过期时间 什么是死信队列? 当队列中的消息到达存活时间或过期时间后,若未设置死信队列,则该消息将被抛弃,反之则转入死信队列 死信队列 配置类 死…

Polygon zkEVM R1CS与Plonk电路转换

1. 引言 前序博客有: Polygon zkEVM的pil-stark Fibonacci状态机初体验Polygon zkEVM的pil-stark Fibonacci状态机代码解析rank-1 constraint system R1CS 由上图可知,zkEVM会借助SNARK来“验证((验证STARK证明)的SN…

博安生物再次冲刺港交所上市:负债规模高企,持续出现亏损

11月30日,山东博安生物技术股份有限公司(下称“博安生物”)再次向港交所递交招股书,准备在港交所主板上市。据贝多财经了解,博安生物曾于2022年5月13日递表,现已“失效”。 相较于此前招股书,博…

【图像分割】基于神经气体网络的图像分割与量化(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

了解抖音小程序的评级。为什么我的抖音小程序申请不了某个功能?

目录前言评级评级运营规范评级周期查看评级评级对应的权益小程序评级审核驳回场景信用分常见问题为什么我的小程序不能挂载短视频?前言 小程序评级体系是衡量小程序整体质量的参照,也是小程序获取对应权益的指南,旨在推动、鼓励开发者提升小…

matlab如何从信号中去除60 Hz Hum电源线噪声

美国和其他几个国家的交流电流以60赫兹的频率振荡。这些振荡经常会破坏测量值并且必须减去。 最近我们被客户要求撰写关于信号去噪数据的研究报告,包括一些图形和统计输出。 在存在60 Hz电源线噪声的情况下研究模拟仪器输入端的开环电压。电压以1 kHz采样。 lo…

C/C++内存管理(malloc/calloc/realloc/free/new/delete/operator new/operator delete)

目录 C语言中动态内存管理方式:malloc/calloc/realloc/free C内存管理方式:new/delete operator new与operator delete函数 new和delete的实现原理 malloc/free和new/delete的区别 (用法上和底层) 内存泄漏 C/C中程序内存区域划分: 1. 栈又叫堆栈…

Linux C简单服务器模型解析及完整代码

Linux C简单服务器模型解析及完整代码1.服务器端流程及解析2.服务器端代码3.客户端流程及解析4.客户端代码5.不足之处(注:流程解析可结合相应代码处一起理解)1.服务器端流程及解析 服务器端做的事情: 1.创建监听的套接字。 int s…

JAVA培训之数据库表关联关系

数据库表的关联关系有如下三种: 一对多 一对一 多对多 一对多的关系比较常见,我们在之前练习的都是一对多的关系操作,因此这里就不再重复介绍了。 1.一对一关系 在现实生活中,丈夫与妻子之间的关系就是一对一的关系&…

参数估计(1)-参数的点估计

为了考察总体X 的分布,我们将在2.4 节给出经验分布函数,并在总体X为连续型情形下绘制了频率直方图从中可大致看出总体的分布情况或分布形式,但总体分布中包含的参数往往不知.如何根据抽样对未知参数进行估计,就是本章讨…

pandas分组与聚合groupby()函数详解

一、groupby分组与聚合 分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况 DataFrame.groupby(byNone, axis0, levelNone, as_indexTrue, sortTrue, group_keys_NoDefault.no_default, squeeze_NoDefault.no_default…

基于docker部署实现接口自动化持续集成

01 jenkins介绍及docker部署 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成 1、创建网络 2、下载并运行 docker:dind镜像…

思科路由器地址转换配置

思科路由器地址转换1.端口复用(PAT)2.配置PAT1.端口复用(PAT) 复用地址转换也称为端口地址转换(Port Address Translation,PAT),首先是一种动态地址转换。路由器将通过记录地址、应用程序端口等唯一标识一个转换。通过这种转换&am…

Linux 负载均衡介绍

Linux 负载均衡介绍 LB LB:Load Balancing,负载均衡(增加处理能力),有高可用能力,但不是高可用集群负载均衡集群,是以提高服务的并发处理能力为根本着眼点 负载均衡设备分类 1.软件负载均衡设备 (1)LVS&…

肝病患者关爱与病例管理

国内的肝病患者人数多达3亿人,并且还在逐年增多。 为慢性肝炎患者提供患者教育、病情自我管理、病友交流、医患交流等一系列的关怀行动,为医生提供病例数据管理系统平台推出了“肝病患者关爱与病例管理系统" 用户需求 平台覆盖用户群 中国肝病患者…

Thumbs.db文件取消自动生成及删除方法

一、背景 公司有一台centos服务器作为某个部门内部资料共享用,部署了samba服务。 每个用户具有自己的账户(账户不共用); 用户基本都是通过windows电脑访问samba共享文件; 最近有用户需要删除个别文件夹,发现不能删除Thumbs.db,导致文件夹也不能删除! 二、Thumbs.db是…

Java数据类型详细介绍

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。本文将通过示例详细说说Java中数据类型的转换,感兴趣的可以了解一下 1. Java数据类型 前面说到,程序运行时产生的临时数据我们…

继北极星项目后,又一款低成本AR眼镜开源方案:OpenAR

2018年的时候,Leap Motion(Ultraleap前身)曾开源了一款低成本、简易的AR头显方案:Project North Star(北极星项目)。该方案主要用来帮助爱好者、开发者们快速上手AR开发,而无需购买HoloLens等昂…

Python_文件操作

目录 一、文件编码 二、什么是文件 三、文件操作 1、打开文件 open()打开函数 2、读取文件 3、写入文件 f.write() 使用w模式 4、文件追加 类比文件写入,只是将‘w’-->‘a’ 5、文件操作综合案例 一、文件编码 Thinking: 计算机只能识别 0和1,那么文本文件 如何…