智能汽车软件安全设计1
基于失效-安全的系统安全设计说明与示例
基于SoC芯片的系统无法直接满足要求,需要在架构方案上进行功能安全考虑和设计。基于功能安全母标准IEC61508的定义,功能安全领域常用的安全架构有一取一(1 out of 1,1oo1)架构、二取一(1 out of 2,1oo2)架构、基于诊断的二取一(1out of 2 with Diagnotic,1oo2D)架构、二取二(2 out of 2,2oo2)架构、三取二(2 out of 3,2oo3)架构5种类型。
1.一取一(1oo1)架构
系统若仅具有一个单通道,即只有一套设备或组件负责实现相应功能,那么当系统内的任何组件发生危险性失效时,相关功能将会受到影响,此时系统需进入安全状态。
2.二取一(1oo2)架构
系统由两个通道构成,形成并联结构,通过故障监测诊断单元来监测每个通道的故障状态,监测结果仅针对被监测的通道,并不直接反馈给1oo2的决策单元。在1oo2架构的决策逻辑中,只要一个通道正常,系统即能正常输出;只有当两个通道均发生危险性失效时,系统才会进入安全状态。
3.基于诊断的二取一(1oo2D)架构
系统由两个通道构成,并通过故障监测诊断单元监测每个通道的故障状况,监测结果会直接影响1oo2D的决策。1oo2D架构的决策逻辑是:在两个通道都未监测到故障时,需要两个通道的运行结果一致,系统才能根据此结果执行相应动作;若监测到其中一个通道故障,则根据另一个通道的运行结果执行动作;若两个通道都发生故障,或两个通道的运行结果不一致而没有监测到故障,系统将进入安全状态。
4.二取二(2oo2)架构
系统由两个通道构成,在物理结构上是并联的,但在逻辑上呈现串联关系。故障监测诊断单元监测各通道的故障情况,监测结果仅针对被监测的通道,不直接影响2oo2的决策。2oo2架构的决策逻辑是,只有两个通道的运行结果一致,系统才会根据这一结果执行相应动作。
5.三取二(2oo3)架构
系统由3个通道构成,并通过故障监测诊断单元监测每个通道的故障情况,监测结果仅针对被监测的通道,不直接影响2oo3的决策。2oo3架构的决策逻辑是,在系统的3个通道中,只要有两个通道的运行结果一致,系统就可以依据一致的结果执行相应动作。以上5种常用的功能安全架构各有特色。在功能安全产品系统设计阶段,我们需要根据行业特点、产品特性选择适用的安全架构进行相应的系统设计。智能汽车领域应用较多的是1oo1、1oo2、1oo2D和2oo2这四种系统架构设计方案,其中1oo1和2oo2方案一般用于失效-安全策略,1oo2和1oo2D方案一般用于失效-可运行策略。而2oo3方案一般在航空、轨道交通等对成本不敏感的领域应用较为广泛。
在智能汽车领域基于失效-安全策略的系统设计方案中,若系统最高需满足ASIL B的安全目标,则在确保系统功能及安全的同时,我们还需考虑成本因素,通常会采用一取一(1oo1)架构。图5-6所示为智能驾驶系统示意图。在这种架构中,SoC和MCU芯片都可以配备独立的故障监测诊断单元。这些单元不仅监测自身的故障情况,还能对传感器输入信息、执行器及底盘执行系统的反馈信息等进行监测,并在监测到故障时进行相应处理。通常情况下,MCU芯片可以作为总体的故障监测与处理。
决策中心,基于系统的各种状态和监测到的故障信息进行综合判断和处理。MCU芯片的安全表决单元可充当1oo1架构的决策单元,根据系统的故障状况决定是否进入安全状态。
在图5-6所示的智能汽车系统中,SoC芯片和MCU芯片既可以是单个芯片,也可以是多个芯片,这取决于系统所需的计算能力、各芯片承担的功能之间所需的独立性以及芯片内部的独立性等因素。在具体的工程实践中,我们应根据实际情况进行设计,同时从功能安全的角度出发,注意到级联失效和共因失效的问题。
备注:以上内容采取自《智能汽车软件功能安全》
