SASETECH
是国内首个由汽车安全专家发起组建的技术社区,致力于为汽车安全的从业者提供交流、学习、合作的中立性平台。
引言
EGAS概念及其应用分析
EGAS监控概念提供了一种经典的汽车功能安全系统架构方案,并在行业中得到了广泛应用。本文详解了EGAS概念的架构原理并对其应用进行了简要分析。
➡本文主要内容分为3个部分(约3570字,13钟阅读)
上世纪90年代,电子节气门系统逐步在量产车上得到应用,成为汽油发动机控制系统的核心,由此掀起了了汽车电气化控制的浪潮。与电控系统一并到来的,是人们对电子产品的可靠性的普遍担心–“No software can be bug-free”。由德国汽车工业协会下的几大OEM(如图1所示)组成的EGAS工作组在此背景下诞生。“Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units”即为该工作组的工作成果。
图 1 EGAS工作组成员
从时间上看,EGAS概念的产生是早于ISO26262标准的。ISO26262:2011发布之后,EGAS工作组针对标准对EGAS概念做了更新,于2013年7月发布了Version 5.5版本;2015年再次升级至Version6.0版本,此后再无更新。笔者目前也仅阅读过这两个版本的资料,更早期版本的资料目前未查询到。
根据其系统定义章节的描述,EGAS概念所针对的系统为发动机(包括汽油机和柴油机)控制系统。该系统应用在以内燃机为单一驱动动力源的乘用车上。发动机系统为车辆提供驱动扭矩,同时在车辆减速时通过发动机倒拖提供一定的制动扭矩。
针对此发动机控制系统,EGAS定义了如下安全目标:
SG1:防止非预期加速。其安全等级为ASIL B。
对于非预期减速,非预期加速丢失和非预期减速丢失这三个安全目标,EGAS将其ASIL等级评为QM。显然,这样的评估结果是与内燃机动力系统的特性相关的,对于电动汽车和混合动力汽车的动力系统,这样的评估结果可能是不适用的。
EGAS技术安全概念将整个控制系统分为三层(L1,L2,L3),如下图:
图 2 三层架构概览
相对于5.5版本,6.0版本中引入了自带内部安全机制(如锁步核等)的控制器,主控制器的L3部分包含了更多了安全机制,并带有独立的安全关断路径,如图3所示。
图 3 使用锁步核控制器的三层架构概览
本章节接下来对L1,L2,L3的基本内容进行如下概述。
a) L1
L1被定义为功能层(functional level),其主要作用包含:
● 所有发动机控制功能:
与安全目标相关的主要功能是扭矩控制,即根据油门踏板、发动机转速、巡航控制输入等信号,进行发动机输出扭矩的计算,并输出控制信号给执行器(汽油机的节气门或者柴油机的喷油器和油泵)。
除此之外,L1也承担了大量其他功能,如驾驶平顺性调节、后处理控制、发动机噪声控制等等。
● 与监控概念相关的输入输出信号的诊断。
L1中同时存在一些诊断功能,这些诊断仅涉及到零部件层级,如对油门踏板的信号范围、合理性检查,对节气门执行器的电气线路诊断等;基于这些诊断结果,L1也将执行相应的故障响应。
一般来讲,这些诊断功能隶属于L1中的在线诊断(On Board Diagnostic)模块。L1部署在功能控制器(function controller)中。
b) L2
L2被定义为功能监控层(function monitoring level),其作用包含:
● 监控L1的控制功能。
L2通过冗余的软件逻辑对L1的功能进行监控。EGAS概念中引入了两种主要的L2监控方式,即发动机扭矩比较和车辆加速度比较。
下图为适用于缸内直喷汽油机的扭矩比较策略示意图。一方面,L2根据油门踏板位置等输入信号计算当前需求,并据此得到最大允许扭矩(permissible torque),另一方面通过喷油量,点火正时,空燃比等信号计算当前发动机实际输出扭矩(actual torque),如果实际扭矩超出最大允许扭矩范围,则触发故障。
图 4 缸内直喷汽油机的L2扭矩比较策略示意图
加速度比较策略与上图类似,比较核心由发动机扭矩变为车辆加速度。车辆加速度实际值可以通过对车速信号进行微分计算得到,也可以使用加速度传感器进行测量得到。
除了核心的扭矩比较或者加速度比较,L2也包含了对扭矩和加速度计算的输入信号及执行器反馈信号的诊断。这部分诊断可能是与L1诊断功能类似的,此时L1应将其诊断结果传递给L2,L2将根据L1的诊断响应和自身诊断结果判定是否需要触发独立的故障响应。
● 在L2无法独立执行故障响应时,对L1的故障响应进行监控。
在实际应用中,L2的故障响应可以是关闭发动机扭矩输出或对ECU进行复位,对于此种故障响应,L2是可以独立于L1完成的。同时L2的故障响应也可能是对发动机扭矩输出进行限制,如进入跛行回家(limp home)模式,由于L2并非L1的完整冗余,其仅具备诊断功能而并不具备扭矩控制能力,因此跛行回家模式的实现依赖于L1,此时L2需要对L1跛行回家模式的执行进行监控。
● 配合L3进行程序流监控及内存测试。
L2软件需要布置checkpoint以支持L3进行程序流监控。同时L2程序所涉及的控制器内存需要被L3监控。
c) L3
L3被定义为控制器监控层(controller monitoring level),其功能包含:
● 功能控制器与监控控制器的问答(Q&A)机制
L3包含了一个独立于功能控制器(function controller)的控制器,该控制器被称为监控控制器(monitoring controller),其一般以ASIC的形式实现,具有独立于功能控制器的时钟源。监控控制器定时向功能控制器发送问题(question),功能控制器内的L3软件在规定时间内反馈答案(answer)。功能控制器内的L3软件需要完成以下测试才能得到正确的答案:
1. L2的程序流监控,用于监控L2所有软件模块的执行时序。
2. 功能控制器的指令集测试,用于监控处理器运算故障。在EGAS V6.0中引入了锁步(lockstep)机制作为指令集测试的替代。使用锁步机制时需要对其配置(configuration)进行监控。
L3监控控制器如果得到错误答案,将会重复发送相同的问题并启动故障计数器。为检测监控控制器的潜伏失效,功能控制器会定时发送一个错误答案以测试监控控制器的诊断功能是否正常。
● 内存测试
包含ROM和RAM的测试,可以通过L3的软件功能实现,也可以通过功能控制器的内部硬件检测机制实现。
● 关断路径测试
在每次上电后对L2及L3的关断路径进行测试,测试不通过将禁止发动机运行。
● AD转换测试
对安全相关的ADC模块进行的诊断测试。
● 其他控制器内部硬件监控
包含功能控制器内部外设的诊断机制,安全相关的其他硬件模块的专门诊断机制等。
下图对常见的L3监控及其故障响应做了总结:
图5 带有微控制器内部监控机制的L3监控模块及其故障响应
EGAS概念其在设计时没有明确引入ASIL分解的概念。基于EGAS对L1,L2的定义,在实际应用中可以在L1,L2之间进行ASIL分解,一般采用L2 ASIL B(B)和L1 QM(B)的方案。
对于L1和L2之间的相关失效,EGAS并没有系统性地阐述解决方案。但是从其各个层级的功能定义,可以总结出如下针对L1、L2相关失效的措施:
-
针对L2各个输入信号的诊断措施。EGAS技术安全概念中L1和L2共用了传感器和执行器,同时L2的部分输入信号来自L1,这些因素都是L1和L2相关失效的引发源,需要被适当的安全机制覆盖。具体的诊断包括:传感器信号(如油门踏板开度、发动机速度等)的诊断;执行器反馈信号(如节气门开度、喷油器驱动脉宽等)的诊断;外部网络输入信号(如来自车身稳定控制系统的扭矩请求信号、来自自适应巡航系统的扭矩请求信号灯)的诊断;来自L1的相关变量(如喷油器脉宽的修正量、平顺性调节的扭矩修正量等)的诊断;AD转换器的诊断。
-
针对L2的程序流监控。确保L2程序的运行时序免于L1及硬件因素失效的干扰。
-
针对L2的内存诊断。确保L2程序所用的内存免于L1及硬件因素失效的干扰。
-
L3中实施的其他硬件基础设施诊断,包括处理器双核锁步机制、寄存器检查、控制器时钟频率检查等。
简而言之,EGAS概念虽然没有明确采取物理隔离措施来保证L1和L2的独立性,但是采用了多种诊断机制来覆盖相关失效,以此满足L1和L2独立性的要求。
EGAS概念所采用的的三层架构最初由博世公司提出,随后被欧洲各大主机厂和其他发动机控制系统供应商所采用。随着ISO26262标准的实施,除了发动机控制系统外,很多其他车载控制器也采用了EGAS架构来满足产品功能安全的要求,如电动汽车中的电机控制器,整车控制器,变速箱控制器等。在不同的控制系统上,L1和L2的具体内容因产品功能和安全目标而有所差异。
EGAS概念是基于单核单MCU的硬件基础开发的,虽然V6.0版本中引入了多核机制,但也仅仅提到了使用锁步机制等硬件层面的安全措施来替代原有的软件诊断机制。关于如何在多核MCU上部署软件,EGAS并未给出具体实施方案,仅要求保证不同ASIL等级的核之间需满足免于干扰的要求。现实应用中,一般会将L1和L2功能部署在不同的核上,其中L2通常部署在带有锁步机制的核上。
当然,并不是所有控制器都适用EGAS概念中的三层架构方案。EGAS概念基于发动机控制系统开发,通过L1、L2之间的ASIL分解,将L1的ASIL等级降为QM(X),这对于节省开发成本是大有裨益的,因为L1的功能相当庞大冗杂,且安全相关功能与非安全相关功能相互耦合,不易拆解。对于较小型的控制系统,如果L1功能本身并不复杂,那么直接按照ASIL X的要求来开发L1功能反而更加方便。又或者,如果L1的安全相关功能和非安全相关功能之间没有耦合,那么将安全相关功能按照ASIL X进行开发,并采取免于干扰的安全措施也是一种比三层架构更简便的选择。
EGAS概念的三层架构本质上是一种1OO1D的架构方案,只能满足fail-safe的设计需求。对于需要fail-operational的控制系统,仅采用EGAS三层架构是无法满足需求的,但是3层架构的监控理念仍可在fail-operational架构中得到应用,如在2OO2D架构中分别在两套冗余系统中执行EGAS监控概念。
图 6 包含EGAS概念的2OO2D架构示意图
Arkie / 作者
胡冲 冯亚军 | 校阅
END
免责声明:如涉及侵权请及时与我们联系反馈,我们会在第一时间做更正声明或做删除处理。文章版权及解释权归原作者及发布单位所有,如需转载或引用本文的任何内容,请注明出处。
往 期 精 选
JOIN US
SASETECH致力于推动功能安全在行业内外的影响力,成为国内广有影响力的公益型安全社区。“建立安全生态圈,成为汽车安全的布道者”是我们的使命,“专业创新、开放共享、实事求是”是我们的共同价值观。在过去的半年多时间里,得益于大家的关注和支持,我们的技术社群不断发展壮大,现已有超1000人的加入,3000人的持续关注,覆盖影响了上万名安全从业者,并成功举办了22场线上专家讲坛,3场线下沙龙,8场线上沙龙,公众号精编推文90余篇。在现有工作基础上,未来我们将陆续展开安全行业大型线上WIKI、基础导读文章框架等项目。
SASETECH
(扫描二维码加入交流群)
原文始发于微信公众号(sasetech):特约专栏 | EGAS概念及其应用分析