编辑推荐: |
本文主要介绍了系统架构设计相关内容。希望对您的学习有所帮助。
本文来自于微信公众号凯文的汽车之旅,由火龙果软件Linda编辑、推荐。 |
|
1 系统架构介绍
法规GBT 34590 Part4
part10定义的软件要求、设计和测试子阶段之间的关系(其中的3-7个人建议翻译为初始架构设计更合理
)
系统架构的作用(借鉴 MUNIK)
架构模型
根据ISO26262中的定义,相关项由一个或者多个系统组成,而一一个系统应该至少包括1个传感器、1个控制单元和1个执行器,如下所示。
1、传感器部分 (借鉴 AUTO世代)
首先,我们在系统中融入传感器部分安全机制,需要注意的是,此处的传感器代表广义的输入信息,可以是具体传感器信号,也可以是其他类型通讯信息,例如CAN,SENT等。
传感器的硬件冗余(当然传感器必须独立供电)多适用于对于ASIL等级要求非常高的信号,如ASIL C,
D,尤其是D,其主要目的是为避免传感器硬件随机失效,通过信号相互校验,增加系统输入信息可靠性。
这里的传感器硬件冗余采集,可以是利用相同的两个传感器,对同一信号进行重复采集(例如,踏板信号),也可以是利用不同类型传感器,对强相关的两个信号分别进行采集(例如,制动踏板位置和压力信息等)。
当然,传感器输入冗余信息,在控制单元中,必须进行多路采集,除传感器本身提供诊断信息外,还需要对其信号有效性进行检验,包括数值有效范围检测,在线监控,Test
Pattern,输入对比,相关性,合理性检测等。
2、控制单元
控制单元属于整个系统中最重要的部分,控制单元相关的安全机制其实很大程度上决定了系统安全架构和系统复杂程度。
提到控制单元相关的安全机制,很多朋友第一反应是,控制器软件分层,控制器硬件冗余(双控制器,Dual
Core LockStep双核锁步等),看门狗,程序流监控等。
虽然这些都是控制单元常用的安全机制,但从系统角度而言,它们相对过于具体,只是针对某一类故障而设计的软件或硬件安全机制,需要在系统安全架构基础上具体明确。
接下来我们从系统角度,先看看系统级别安全架构,后续无非就是将具体的软件和硬件安全机制逐步应用于系统架构当中去。
一般来说,所有的安全机制本质上都服务于两类安全架构:
• Fail to safe
• Fail to operational
Fail to safe
Fail to operational
3、执行器
4、通信安全
在一个系统中有几种经典的架构,通常会见到这几个名词faii-safe、fail-silent和fail-operational。画个图来简单示意下这几种架构设计的相
互关系。如下图所示,Fail-Safe包含:fail-operational和fail-silent两种,它们都属于是安全的失效。
Fail-Safe:该架构通常芯片设计层级使用较多,当芯片发生error时,芯片会执行POWER
down、Reset、紧急运行等的操作。或者当程序轮询监控到对应的寄存器有问题时请求MCU判断执行后续操作(MCU的操作要在合理的FTTI之内完成才有效),从而使得IC进入安全的静默(silent)状态。
Fail-Operational: 该架构通常整车层级和系统层级使用较多,该架构通常应用MooN(D)架构可以实现不同形式的fail-operational架构。简单的Fail-
Operational可以理解为当通道1失效后,作为冗余的通道2还可以接替它的工作,使得整个系统处于安全的状态。
举个域控制器中我们实际研发的例子让大家感受下MOON(D)的概念。
1oo2D域控制器架构示例:
此架构方案由并联的两个通道组成,在其中一个失效后,启用另外一个。冗余的传感器可以是雷达模组或者其他传感器的系统。对于该系统而言在MCU检测出main
SOC出问题时启动fullback 的SOC并关闭main SOC(前提是两个SOC的设计不会发生DFA的相关性失效)以此来保证系统的正常运行。
系统架构层级的相关安全机制梳理
上文NO2.1开头提到一个系统的简单组成至少包括:一个传感器、一个处理器和一个执行器,那么在系统层级我们来分析下它都有哪些安全机制。
3个模块之间少不了有通讯或者系统层级需要有程序的烧录等情况出现,模块可能会通过CAN,CAN-FD,UART,I2C,SPI,PHY等进行片内或片外、板内或板外的通讯或者程序的烧录,下面以串口UART举例说明通讯模块的安全机制都有哪些。
注释:以上是基于ISO26262标准及经验的总结,仅供参考,具体项目还需实际分析及动态调整。
对于软件层级(Auto sar)来说它的核心安全机制可以分为以下几类供大家参考:
(1)内存分区
(2)逻辑监控
(3)E2E 保护
(4)Timing Monitor
(5)CRC等
fail-safe、fail-operational、fail-secure、fail-silent介绍(借鉴知乎WF.WANG)
fail-safe — 失效安全
fail-operational — 失效可运行
fail-silent — 失效静默
fail-secure — 失效安保
MooN — N选M架构
Designated architecture — 指定架构
E-GAS 监控架构【功能安全】E-GAS架构设计
架构模型
fail-safe 架构
fail-operational 架构
fail-operational架构涉及到冗余,由于冗余的方式多种多样,所以这种架构的表现形式也是多样化的,通常应用MooN(D)架构可以实现不同形式的fail-operational架构,所以这里我们就谈谈不同MooN(D)架构模型。
在讲这些架构模型之前,我们先了解下可靠性框图中操作模式/模型概念
> 串联模型
> 并联模型
>混联模型
MooN(D) 之 1oo1 — 一选一架构
MooN(D) 之 1oo1D — 一选一诊断架构
MooN(D) 之 1oo2 — 二选一架构
MooN(D) 之 2oo2 — 二选二架构
由上面描述可知,1oo2架构能够降低系统发生危险失效(fail positive)的概率,2oo2架构能够降低系统发生安全失效(fail
negative)的概率(即降低误停率)。简单讲,1oo2架构让危险失效发生的难度加大,2oo2让安全失效发生的难度加大,它们都只能对单一的可靠性指标进行改进。
MooN(D) 之 1oo2D — 二选一诊断架构
MooN(D) 之 2oo2D — 二选二诊断架构
MooN(D) 之 2oo3 — 三选二架构
02 投票逻辑架构介绍
在安全仪表系统(SIS)中,1oo1、1oo2、2oo2和2oo3是常见的投票逻辑架构,用于提高系统的可靠性和安全性。以下是对这些架构的详细解释:
1oo1(One-out-of-One):
这是最简单的投票逻辑,只有一个通道。它没有冗余,因此无法提供故障容错能力。这种架构适用于对安全要求不高的场景,但成本最低。
1oo2(One-out-of-Two):
这种架构使用两个通道,其中一个通道发生故障时,另一个通道可以继续工作。它提供了基本的冗余,减少了误动作的概率。1oo2架构的硬件故障容忍度(HFT)为1,即一个通道可以故障而系统仍能正常工作。
2oo2(Two-out-of-Two):
这种架构使用两个通道,要求两个通道都正常工作才能输出信号。它提供了更高的安全性和可靠性,因为即使一个通道发生故障,系统也不会误动作。2oo2架构的HFT为0,即两个通道都必须正常工作。
2oo3(Two-out-of-Three):
这种架构使用三个通道,要求至少两个通道正常工作才能输出信号。它提供了最高的安全性和可靠性,因为即使两个通道发生故障,系统也不会误动作。2oo3架构的HFT为1,即一个通道可以故障而系统仍能正常工作。
这些投票逻辑架构的选择取决于系统的安全完整性等级(SIL)要求和成本考虑。例如,对于高安全要求的场景,通常会选择2oo3架构,而对于成本敏感的场景,可能会选择1oo2或1oo1架构。
在实际应用中,这些架构的性能可以通过可靠性框图计算推导出的平均失效概率(PFDavg)来评估。例如,1oo1结构的PFDavg较低,而2oo3结构的PFDavg较高,但误动作率也较低。
1oo1、1oo2、2oo2和2oo3是根据不同的安全需求和成本考虑设计的投票逻辑架构,每种架构都有其特定的应用场景和性能特点。
03 SIS架构
基本SIS架构
1oo1——这种单输出电路能够安全地断开开关,使设备断电并停止工艺过程。所谓安全的失效就是触点在没有原因的情况下打开了,虽然此类事件对于整个过程设施仍旧具有负面的经济影响,但是我们还是将其定义为误触发。危险失效就是在确实有安全关断的原因时触点无法打开,这种情况可能由触电过热熔接导致。此类事件被定义为无法按需动作。
1oo2——这种方法将两个输出(1oo1)串联,构成常闭带电的安全关断电路。任何一个SIS动作都会导致电路断开。当然,采用两个1oo1电路也会引入双倍误触发的可能,有可能对整个工艺过程带来高昂的损失。但是,这种方法确实更加安全,因为只需要一个触点动作就可以实现关断,无法按需动作的危险失效的可能性低得多。不管是1oo1还是1oo2都无法消除误触发的隐患。
2oo2——这些系统的输出并联设置,两个触点同时动作才能将过程关断。由于触点是并联的,所以误触发的可能性降低了,但是明显的缺点就是危险失效的可能性加倍了,系统的安全性降低。
可以看到,1oo2和2oo2系统都无法有效满足安全性和误触发的要求。但是,如果能够增加诊断功能就能够获得更高的可用性了,这就是所谓的1oo2D(带诊断功能的1oo2)。
高级SIS架构
2oo3或者三重模块冗余(TMR)安全关断系统通常被用于燃气涡轮机、压缩机和加热器,也常被用于精炼厂中的独立过程单元,例如焦化单元。
正如本文下页开关图所示,在2oo3配置下,只要有两个通道同时触发,即使第三个通道并未触发,那么输出动作也会被触发。如果只有一个SIS的两组触点被触发了,那么有一条引线仍旧处于闭合状态,所以过程继续工作。在现实世界中采用表决机制来确定2oo3架构的输出,而第三个信号被忽略,允许容错配置。
2oo3三重化冗余系统
每一个三重化冗余系统都包含三个主处理器(MP)A、B和C。每一个MP控制独立的通道并与其他两个MP并行工作。每个MP上的专用I/O控制处理器对MP和I/O模块之间的数据交换进行管理。在系统主板上使用I/O总线电缆将每一列I/O模块连接起来形成三重化的I/O总线。
I/O控制处理器选择输入模块,并将输入数据发送给MP。MP随后将输入数据制表存储到内存当中,用于选择过程使用。使用三重化总线将每一个MP当中的输入表转移给相邻的MP,转移之后就可以进行选择。三重化总线采用具有直接读取内存功能的可编程器件,在三个MP之间完成数据的同步、传输和比对。
如果有不一致出现,那么就以2oo3表格的信号结果为准,然后MP根据结果校正第三个表格中的相应数据。由于采样时间不同所导致的差异能够通过信号模式的不同区分出来。MP在本地存储器中保存经过必要更正的数据。内置的故障分析器会将不一致的数据做出标识,并在每一次扫描之后使用这些标识用于判断是否在特定模块中有故障存在。
2oo4四重化冗余系统
四重化模块冗余(QMR)架构基于2oo4D(D代表内置诊断功能)表决方式,每一个QPP(四处理器组,系统的处理模块)都采用双处理器技术。这意味这种方法具有极高的自我诊断功能和故障冗余能力。
四重化冗余系统架构通过冗余控制器实现。冗余架构包含两个QPP,也就是四重冗余,为安全性提供了双故障冗余能力。2oo4表决机制通过在每一个CPU和每一个QPP的内存上采用1oo2表决机制来实现,两个QPP之间也具有1oo2表决功能。表决机制在两个层面上进行:在模块层面上表决以及在QPP之间表决。
04 ADS域控制器架构设计
自动驾驶标准
系统设计思考
1、安全目标
在设计自动驾驶系统的功能安全时,通常会根据不同的自动化及别设置相应的安全目标。一般而言:
L0到L2级别的自动驾驶系统需要满足ASIL B级的安全要求。
L3到L5级别的自动驾驶系统需要满足ASIL D级的安全要求。
2、功能安全架构
A. Fail-operational架构:
Fail-operational架构是L3到L5自动驾驶系统基本的功能安全架构,其中有几种主要的设计选择:
a) 1oo2D架构:
功能描述:该架构采用两个到诊断(Diagnostic)的通道并行工作。如果其中一个通道故障,则停止该通道输出,并切换到正常的通道输出。
降级操作:当出现一次故障时,系统仍能降级到1oo1D工作
b)2oo2D架构:
功能描述:该架构同样采用两个到诊断的通道并行工作。如果其中一个通道故障,则停止该通道输出,正常的通道继续输出。
降级操作:当出现一次故障时,系统仍能降级到1oo1D工作。
c)2OO3架构:
功能描述:该架构采用三个通道并行工作,按照少数服从多数原则,当至少两个通道一致时才进行输出。
降级操作:当出现一次故障时,系统仍能降级到1oo2工作。
B. Fallback 系统:
针对驾驶系统,可以设计一套专门满足 L2+ 级别自动驾驶要求的Fallback系统。当主系统发生故障时,Fallback
系统接管控制,并将车辆控制至最小风险状态。
C. 典型的 L4 自动驾驶系统功能架构:
典型的L4级自动驾驶系统如下图,包括:传感器冗余,通信冗余,域控通道冗余和执行器冗余。
传感器冗余:
通过对传感器类型的冗余设计,包括摄像头、激光雷达、毫米波雷达、超声波雷达、GNSS 和 IMU 等传感器,以及每种主要传感器的冗余设计,确保这些冗余传感器分别接入冗余通道上。另外,还可以通过Bypass通道将传感器Bypass到其他通道上,以确保某个通道失效时,其他通道上的传感器仍能正常工作。
通信冗余:
在传感器、域控、执行器和其他相关控制器之间的通信通道和控制信号上需要具备冗余通道。这样,当单个通信通道发生故障时,系统能够通过冗余通道通信,或通过Fallback
系统进入最小风险状态。
域控通道冗余:
根据1oo2D或 2oo2D架构进行安全分解,实现每个通道的 ASIL B(D) 功能,每个通道保持独立性,功能算法采用异构设计,避免共因失效。带有仲裁模块,当某个通道失效时禁止该通道的输出,切换到其他通道运行。
* SOC(System on Chip)功能安全:
根据厂家的安全手册,实现 SOC 的安全假设,主要包括错误引脚监控,独立电源,独立时钟和潜伏故障的监测。
* MCU(Microcontroller Unit)功能安全:
采用符合 ASIL D 标准的安全芯片,实现对 SOC 错误引脚、供电电压、温度、外部传感器模块、执行器模块以及安全路径上的安全相关芯片故障的监控,同时满足MCU安全假设。
* 电源冗余:
设计双电源系统,当一路电源失效时,系统能够通过降级或切换到 Fallback 系统进入 MRC。双电源之间保持独立性,避免单点故障,并支持每路电源的电压过压、欠压和过流监测。当电源故障时,可通过开关切断整个域控电源。
执行器冗余:
对转向、刹车和动力执行器进行冗余备份系统设计,通过总线通信监测执行器的潜在故障。
以上是针对 L4 自动驾驶系统的典型功能安全架构和冗余设计示例。这些设计旨在提高系统的安全性和可靠性,以应对不同级别的自动驾驶需求。
系统层面常见的安全机制
示例
电动汽车的核心部件整车控制器 VCU系统为例
在汽车的行驶过程中,VCU执行了多项安全相关的控制任务:例如采集加速踏板信号、制动踏板信号及其它车辆信息、电池状态,并做出合理的逻辑判断之后给各执行器部件动作输出控制命令,来实现整车驱动、制动、能量回收、挡位切换、高压上下电管理、整车热管理等功能。
示例:EPS系统
Symmetric 1oo2D的架构,常见于支持Fail-Operational 的电子助力转向EPS系统
如上图所示,该EPS系统包含两套完全对称的镜像功能链路,提供了转向功能必备的供电、通讯、传感、控制与执行部分。对于每条功能路径的容错设计,则与Fail-Safe类似,具备独立的自我诊断与监控功能。与此同时,两条功能链路均正常工作时才能提供完整的转向功能,当其中任何一条功能链路失效,另外一条功能链路仍能提供部分转向力,而不会导致系统直接停止,从而影响系统转向需求的功能安全。
而Asymmetric 1oo2D的架构,常见于需要支持Fail-Operational 的ADAS/
AD控制系统中(如上图)。
|