电子说
随着软件定义汽车的趋势日益加强,道路车辆电子电器系统满足功能安全已经成为基本要求。近期,在欧盟车辆型式批准(typeapproval依据部分UNECE法规)和我国车辆的CCC认证中,对采用电子控制的转向、制动、动力电池管理系统等也引入了功能安全要求。高效的软件架构设计显然对功能安全的实施和落地起着引导性作用,所以电子电器系统满足功能安全要求已经成为产品基本属性。
针对软件架构如何满足功能安全要求,业内人士纷纷借鉴了E-Gas架构,E-Gas最先被应用于发动机控制器EMS,由Level1功能层、Level2功能监控层、Level3控制器监控层三部分组成。国内相关论文分别将E-Gas架构应用于各个控制功能中,其中专利、文献、文献、文献、文献都针对功能安全标准设计了整车控制器硬件和软件,但并未涉及Level2软件架构。
因此,为了弥补E-Gas架构未明确提出基于模型开发MBD的Level2软件架构的缺陷,且架构设计要满足高内聚低耦合、合适的分层等功能安全要求,本文针对整车控制器VCU设计了一种Level2功能监控层软件架构,不但符合功能安全架构设计要求,而且可应用于其他ECU功能安全Level2设计中,有助于功能安全设计进一步落地,降低实施难度。
一、VCU模型整体架构
设计整车控制器VCU模型Level1、Level2架构,如图1所示,包括时序调度、输入信号、Level1、Level2和输出信号模块,需满足功能安全可理解性、一致性、简单性、可验证性、模块化、抽象化、封装性、可维修性等架构设计原则和要求。
图1 VCU控制模型架构
Level1被称为功能层,包含整车控制基本功能,如电机扭矩需求、能量回收等,整车高低压电源管理,如高压安全、低压管理等,以及在检测到故障时控制系统的反应。Level2被称为功能监控层,检测Level1功能软件的缺陷过程。例如,通过监测计算的需求扭矩值或车辆纵向加速度,当系统发生故障时,会触发系统反应,进入安全状态。Level1和Level2独立的开发和各自生产代码要运行到不同的分区内,避免共因失效和免于干扰,并且Level2监控层代码要运行到硬件安全核内。
二、Level1功能层软件架构
设计VCU模型Level1功能层架构,如图2所示,Level1进行ECU基本功能实现和应用时,ECU的基础功能必须存在,包括时序调度、输入信号汇总、输出信号汇总、控制功能模块(如整车运行状态控制、扭矩控制、能量管理、诊断处理、加速踏板控制、挡位控制、续驶里程、低压电源控制、仪表显示控制等模块),各模型库均采用模型应用(ModelRefercence)方法引用,方便各模块库维护、复用或移植。
图2 VCU控制模型Level1功能层架
三、Level2功能监控层架构
VCU模型Level2功能监控架构,如图3所示,包括信号校验、Level2过程监控、输出监控三个模块,其作用是对ECU的Level1功能层中实现的设计功能安全相关模块进行监控,属于监控模块,增加该模块可以满足功能安全要求,可以对功能安全进行如下分解:Level1功能安全等级为QM(X),Level2功能安全等级为X(X),其中X可以根据具体功能分为ASILA/B/C/D。
1.Level2信号校验软件架构
(1)输入输出接口
信号校验模块输入输出接口,如表1所示。
表1 Level2信号校验模块接口
(2)安全机制
Level2输入模块对相应的安全相关的信号进行完整性、有效范围、合理性等校验,然后分别输出给Level1和Level2过程监控和输出监控用,具体校验机制和时序图,如图4所示。
图4 信号校验模块架
假设每隔TBDms接收接口1信号,首先对信号进行timeout超时检测,当超过TBD信号周期内没有接收到,判定信号丢失;然后进行CRC检测,当校验没有通过时,判定这帧信号CRC错误;再进行alivecounter检测,当校验没有通过时,判定信号alivecounter错误;最后进行valid和范围检测,当校验没有通过时,判定信号为invalid;检测到以上任意错误时,发送接口3为无效且发送接口2为默认值或上一周期信号给其他模块。
2.Level2过程监控软件架构
(1)输入输出接口
Level2过程监控模块输入输出接口,如表2所示。
(2)安全机制
根据Level1功能层中安全相关功能,其安全信号输出作为Level2监控层的输入,由Level2监控层对Level1进行监控,架构图如图5所示:无论Level1功能层如何,被监控的功能应在Level2监控层中采取冗余异构算法对接口4进行校验,并在出现错误或异常时触发系统反应,将其带入可控状态,即输出接口6、接口7、接口8、接口9。
3.Level2输出监控软件架构
(1)输入输出接口
Level2输出监控模块输入输出接口,如表3所示。
(2)安全机制
Level2对level1的最终的输出结果、CAN收发器或硬线驱动输出,以及执行器最终的执行情况进行闭环实时监控,架构图如图6所示,具体策略分为三个层次,一是模型输出信号监控:Level2采用独立于Level1控制策略对接口10进行监控,避免逻辑错误或输出未连线;二是驱动输出监控:接口10输出给输出驱动,Level2需Debounce一定时间后监控驱动是否正确输出;三是执行器监控:执行器响应接口11信号后,执行动作并反馈接口12,Level2监控其执行状态是否满足预期结果,以上若出现一个或多个监控故障,则需通过接口14发送仪表提醒驾驶员,且通过接口15或16使系统进入安全状态。
四、分析和测试验证
通过在软件架构级别应用安全分析(FMEA和FTA)和DFA相关失效分析,找出失效原因(Fault),以及分析失效影响(Effect)。结果表明Level2软件架构提供监控功能、行为和ASIL等级满足设计要求。
利用静态测试工具MODELINSPECTOR选择功能安全标准和MAB标准进行模型集成静态语句扫描、语义分析、识别软件行为,无需人工设计测试用例,无需运行代码的自动分析过程,直至结果表明满足功能安全架构设计要求;利用动态测试工具MODELVERIFIER,针对Level2模型要素之间特有的集成层次和接口进行测试,人工设计“打桩”代码,在原始码中植入“检测代码”,需要人工设计测试用例,运行代码或测试用例,获取软件运行过程产生的数据,对数据进行安全分析迭代修正,直至测试结果表明集成的软件组件满足其功能安全软件架构设计需求。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !