作者:唐沙南,英飞凌功能安全专家,汽车电子事业部系统应用高级工程师。
曾在国际一级供应商担任功能安全E-GAS软件架构开发、功能安全经理等职务,在动力总成、智能驾舱等功能安全应用领域积累了近十年的丰富经验。
摘要
在汽车行业迈向电动化的进程中,整车架构也发生了翻天覆地的变化:传统的发动机变速箱动力总成组合被电动机总成替代,能源供给也从燃油变成了电池。随着越来越多的电子电气设备被引入替代传统的机械系统,相关系统的故障失效也成为了工程开发过程中必须考虑的重要要素,为此,工程人员常常需要为汽车安全关键性电子电气系统添加额外的故障处理(Fault Handling)功能。这种对系统异常的监控、并调整系统运行状态的特征可以让系统在出现故障后进入安全状态,从而帮助驾驶员和乘客免受系统失效带来的意外危害。
为了确保系统故障处理功能设计的完整性, 一般工程上会从故障容忍(Fault-Tolerant)、故障预防(Fault-Prevention)、故障清除(Fault-Removal)以及故障评估(Fault-Estimation)四个维度考虑。而系统的开发流程则需要遵循汽车功能安全标准ISO26262的规格,并在系统开发的各个阶段通过演练、测试、验证与评审来保证系统生命周期的质量。
本文将以故障容忍(Fault-Tolerant)为出发点,简要讨论如何在汽车安全关键性系统里的设计实施。
故障容忍(Fault-Tolerant)指的是系统在出现故障的情况下仍能保持某种既定的系统功能,在汽车安全关键性应用的场景下,这种容错功能是保证电子电气系统功能安全的一种措施,应当在系统架构设计中尽早考虑,并需要在系统不同层级通过冗余或监控来实现。这些安全设计在电子电气系统架构层面可以体现在如下几个方面:
- 传感器信号的合理性
- 主控单元运行的安全性
- 执行器(包括预驱电路)的反馈校验或备份
- 安全的通讯
- 供电保护与监控
传感器信号的合理性
传感器的信号合理性的校验应包括一般意义上的传感器信号线电气故障的诊断。同时,对于多路传感器输入,则需要检测信号组的漂移、偏移以及卡滞来避免系统性的故障。
主控单元运行的安全性
主控单元运行的安全性则由以下四部分组成:
- 安全的计算: 安全的计算指的是系统架构上应满足在一个安全的计算单元上去执行安全相关的软件程序。安全计算单元通常会采用具备Lockstep的 Dual-Core,来保证CPU指令层级运算结果的冗余从而规避计算单元的永久或暂态的硬件错误,同时应借助基于硬件的MPU(Memory Protection Unit)来确保安全相关的软件执行过程中, CPU不会被非法访问。
- 安全的采集: 安全的采集通常则可以通过多路通道输入处理做比较,或是借助内置test-pattern的通道来确保采集信号的可靠性。
- 安全的输出: 安全的输出则需要对主控单元的输出进行回读,确认一致性和时效性。
- 安全的数据: 安全的数据首先需要在系统设计上识别安全功能和主控单元哪些资源会有关联,从而确认主控单元上哪块Cache/RAM/Flash需要实施ECC来检测或修复数据的错误。如果DMA被用于安全数据的搬运,也应当添加CRC校验来确保传输的数据完整性。
执行器的反馈校验或备份
对于执行器的反馈校验,不同安全相关应用会具备不同形式的反馈,比如电流、电压、位置、扭矩、渲染图像CRC等等。实时的执行器反馈通常需要与一些期待的目标值或是golden value做比较,来判断执行控制是否存在故障,并最终通过物理或时间上的阈值来确认失效是否引起安全目标的违背。而执行的备份,可以是设置冗余的功能执行路径,甚至是添加等效执行的最小子系统,在系统失效后,增加执行进入安全状态的可靠性。
安全的通讯
传感器、 控制器、 执行器之间安全功能相关的数据信息通讯同样需要被监控,以避免错误的信息被用于预期的功能链路。通讯过程中数据信息非预期的重复、 延迟、 掩饰、 崩坏或是丢失,都应当属于被监控的范畴。系统设计方可以通过AUTOSAR定义的 E2E protection pattern或是添加额外的校验机制来确认通讯类的故障。
供电保护与监控
供电的正常是整个安全关键性系统如预期运行的前提条件。任何供电的漂移震荡、过欠压、或者尖峰,都可能引起系统上电子单元的工作异常。相关的失效都应当被保护或是监控,并通过特定的安全措施帮助系统进入安全状态。
根据不同的系统应用场景,容错功能在现代汽车电子电气架构中可分为以下两类:
- Fail-Safe ( 失效安全):在出现一个(或多个)失效之后,系统可以直接进入到安全状态,或是借助一些外部手段进入到安全状态。
- Fail-Operational(失效运行):在出现一个(或多个)失效之后,系统仍然需要维持一定程度的功能,并且在失效清除以后,系统能立即恢复到正常运行状态。
Fail-Safe 架构
对于Fail-Safe的安全关键性汽车电子系统,为了兼顾成本与功能,设计上通常会建议采用1oo1D架构。1oo1D架构设计会先构建一条预期功能路径,然后通过安全分析,去识别预期功能路径上失效影响系统安全的功能组件,再针对相关组件的失效模式去设计添加额外的监控或冗余等安全机制,来确保系统失效后能直接关闭功能,进入安全状态。
下面将以电动汽车的核心部件整车控制器 VCU系统为例,展示Fail-Safe架构的实施:
在汽车的行驶过程中,VCU执行了多项安全相关的控制任务:例如采集加速踏板信号、制动踏板信号及其它车辆信息、电池状态,并做出合理的逻辑判断之后给各执行器部件动作输出控制命令,来实现整车驱动、制动、能量回收、挡位切换、高压上下电管理、整车热管理等功能。
同时,纯电动汽车存在着不同于传统汽车的电安全风险。因配备高压储能用电设备,若在使用过程中发生碰撞,因高压电子电气设备均处于供电状态,受到冲击后可能会发生高压电泄露的系统失效,从而影响驾驶员与乘客安全。为了抑制碰撞后高压电的扩散,Fail-Safe 碰撞断电保护也应当在VCU整车控制器的功能中予以考虑。
首先在VCU系统架构上识别出碰撞断电保护预期功能链路:
- 传感:来自安全气囊控制器ABM(Airbag Module)的碰撞检测信号
- 控制:碰撞断电保护
- 执行:通知电池管理系统BMS执行高压电池主正主负继电器断开的网络信号
- 通讯:VCU与ABM、BMS之间的数据信息交互
- 供电:VCU主控芯片和通讯收发器的供电保护与监控
通过安全分析,会发现断电保护的预期功能链路上的传感/控制/执行/通讯/供电组件中故障都会影响断电控制的正确性,从而影响用车安全。那么以上五个部分都应当成为冗余监控或者设计考虑的对象。以下则是一些简单的设计建议,供参考:
- 传感方面,对于碰撞硬线信号可以选择PWM类型,通过预先设置有效占空比的范围来过滤短路断路等无效信号,并且可以在有效占空比的区间内,分配不同的占空比来表征无碰撞、预碰撞、碰撞中等状态方便后续控制。同时,也可以通过整车网络引入碰撞方位、碰撞加速度、安全气囊是否引爆等信号,用于碰撞断电控制。
- 控制方面,可以在原本的VCU整车下电功能中添加碰撞断电保护监控任务,并在控制任务中设置多路采样通道来仲裁碰撞硬线传感信号的合理性,输入的整车网络信号执行数据完整性校验。而碰撞断电控制本身可以通过碰撞状态、方位、加速度、以及安全气囊是否引爆等信号,来综合决定是否需要提前主动断电,以防车辆碰撞断电不及时而导致的车身带电, 或是碰撞后断电确保高压电无法泄露。至于输出方面, 因为是整车网络信号, 则需要对通讯网络控制器(例如CAN controller) 配置进行保护,并在每次上电时检查。同时,通讯网络控制器的SRAM需要考虑实施ECC/EDC来或检测或修复存取的数据崩坏。此外,为了让接收端识别可能在网络传输过程中产生的数据错误。应用软件应当为每次通过网络控制器发送的高压闭合/断开命令添加CRC/AliveCounter/Data-ID等额外的校验信息。整个主控单元本身运行的可靠性,则可以通过外部的窗口/功能狗来确保执行断电保护控制的时序与逻辑正确。
- 执行方面,为避免高压电池主正或主负继电器卡滞粘连导致继电器无法断开,执行冗余可以考虑让BMS通过高低边开关共同控制高压电池主正或主负继电器。同时,高低边开关高压电的状态可以反馈给VCU,来确认是否完成断电成功。
- 通讯方面,VCU系统则需要对发送端安全相关的网络信号实施端到端的数据保护,以便控制命令可以正确并及时地发出 。同时VCU系统也需要对接收端的网络信号执行数据完整性的校验,防止非预期的断电保护控制触发。
- 供电方面,满足功能安全规格的电源管理芯片通常是最佳选择,这类芯片不仅能支持整个VCU系统安全组件的独立供电与保护,同时也能提供外部窗口/功能狗来监控主控单元的运行状态。
Fail-Operational 架构
Fail-Operational的架构常见于ADAS/AD (高级辅助驾驶系统/自动驾驶) 相关的应用中。当系统组成部分故障引起系统安全相关的功能失效时, 系统仍然需要保持一定的功能,而不能直接停机,来进入安全状态。对于Fail-Operational的容错设计,1oo2D架构(如上图)是一种典型的架构。系统基本架构上会包括两条独立的功能链路,两条功能链路能协同工作,组成一个完整的系统应用(Symmetric 1oo2D);或是某一路负责主功能,另一路只负责保证安全的备份功能运行(Asymmetric 1oo2D)。每条链路上具备自己独立的诊断监控系统, 同时也会互相监控对方链路的健康状态。每条功能链路会要求被设计为Fail-Silent,即出现自我诊断的失效或是被对方检测确认失效后,不会对系统其他正常工作的模块造成影响,同时整个系统应执行正常链路的备份功能,备份功能可以是主功能的降级或是系统执行特定的应急操作来进入指定的安全状态。
上文中提到的Symmetric 1oo2D的架构,常见于支持Fail-Operational 的电子助力转向EPS系统。
如上图所示,该EPS系统包含两套完全对称的镜像功能链路,提供了转向功能必备的供电、通讯、传感、控制与执行部分。对于每条功能路径的容错设计,则与Fail-Safe类似,具备独立的自我诊断与监控功能。与此同时,两条功能链路均正常工作时才能提供完整的转向功能,当其中任何一条功能链路失效,另外一条功能链路仍能提供部分转向力,而不会导致系统直接停止,从而影响系统转向需求的功能安全。
而Asymmetric 1oo2D的架构,常见于需要支持Fail-Operational 的ADAS/ AD控制系统中(如上图)。
在ADAS/AD控制系统架构层级,通常会部署多样化的传感器组合、异构控制器、以及冗余的安全执行系统,来构建非对称的主副功能链路。主功能链路的目标设计是承担ADAS/AD全功能任务,因此相关的Sensor Cluster需要提供较丰富的环境感知信息,控制方面也会部署一个性能强劲的MPU来满足相关功能的高算力需求。而副功能链路更多的是承担ADAS/AD功能中保证行车安全的任务,Sensor Cluster信息只需考虑安全相关的感知信息或是系统降级运行最基本的感知信息,控制方面更偏向于部署一颗高安全等级的MCU,去确保ADAS/AD行车安全功能的可靠, 同时也会作为整个系统运行的管理者,去管理整个系统运行的模式和状态。在系统架构容错设计中,主副功能链路上通常需要构建彼此链路上组件的自我诊断与监控,同时,在运行时应互相监控彼此的健康状态。当其中任何一路上安全相关的组件出现问题时,会进入Fail-Silent模式,并由另一方保证系统Fail-Operational进行功能降级或是进入系统安全状态。例如主功能链路失效时,会启动副功能链路上的安全行车功能,提醒驾驶员接管。而副功能链路失效时,则系统需要保护主功能链路持续工作不受影响,并视故障的严重程度来提醒驾驶员接管,或是在直到系统安全状态满足后,主功能才退出。
主副功能链路都可以独自或协同与外部交互,给相应的执行器提供受端到端保护的控制信号。
在执行器方面, Fail-Operational的安全考虑至少要求系统横纵向功能保证Minimum Risk Maneuver的部分互为冗余。
整个系统建议由一颗满足功能安全规格的电源管理芯片来提供系统的供电管理与监控,并可以由其提供的外部窗口/功能狗来保证安全MCU上高ASIL等级任务运行时序与逻辑的正确,同时该电源管理芯片也可以被用于提供额外的Shut Down Path去控制主功能链路。
无论是Fail-Safe系统或是 Fail-Operational系统,都需要芯片厂商提供符合功能安全标准的各种半导体组件来打造可靠的传感、控制、执行、供电等系统,在智能化、电动化、网联化的趋势下,为愈加复杂的汽车应用保驾护航。
本文转载自: 英飞凌汽车电子生态圈
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。