基于AUTOSAR架构的电动汽车VCU软件功能设计

2019-05-14 06:06潘志前
国防制造技术 2019年1期
关键词:单元测试架构高压

潘志前

(上海蔚兰动力科技有限公司,上海,200050)

0 前言

截至2018年9月,全国机动车保有量达3.22亿辆[公安部数据],2017年,全国机动车四项污染物排放总量初步核算为4359.7万吨,机动车的尾气排放成为空气污染的首要因素。电动汽车具有零排放、零污染的优点,受到相关国家部门的推广。VCU作为电动汽车的整车控制器,相当于电动汽车的大脑,跟电池控制器、电机控制器、底盘控制器等通过CAN总线进行通讯,控制车辆安全平稳的运行。

1 ATUOSAR简介

AUTOSAR是AUTOmotive Op en System Architecture(汽车开放系统架构)的首字母缩写,由汽车制造商,供应商以及工具开发商联合开发。截止到2018年,成员中有9大核心成员,200多其他成员。

随着汽车软件开发的复杂度不断增加,软件代码量的急速上升,硬件的多样化,导致对软件可移植性的依赖越来越强。AUTOSAR具有标准化的接口,通过配置可以任意移植应用层到不同的硬件上,不但可以提高代码质量,而且大大缩短了软件的开发时间。

1.1 AUTOSAR架构

AUTOSAR架构将底层软件和应用层软件通过RTE层进行分离,再将底层分为微控制器抽象层、ECU抽象层、服务层和复杂驱动。见图1。微控制器抽象层是底层软件的最底层,主要包括微控制器驱动、MEMORY驱动、通讯驱动、I/O驱动等;ECU抽象层处在底层软件的中间层,将ECU硬件抽象化,主要是作为微控制器层驱动的接口,也包含外部设备驱动;服务层是底层软件的最高层,主要包括操作系统,网络管理、内存管理、诊断服务、ECU状态及模式管理、监控管理等;复杂驱动是在AUTOSAR里面未被定义,具有很高时序限制的驱动。

1.2 AUTOSAR方法论

图1 AUTOSAR分层架构

图2 V型开发流程

AUTOSAR具有一整套的方法进行软件开发,即方法论。整个方法分为三个阶段,即系统配置阶段、ECU配置阶段及生成代码阶段。系统配置阶段包括软件组件描述、ECU资源描述及系统限制描述。软件组件描述主要包括该SWC用到的操作和数据、对架构和硬件的要求、所使用的资源、运行机制等;ECU资源描述主要包括使用了哪些硬件,比如传感器、执行器、存储器、处理器、外部设备、引脚分配等;系统限制描述主要包括网络拓扑、协议、通讯矩阵、波特率等。系统配置阶段主要包括将端口数据映射到通信矩阵,并将SWC映射到ECU;ECU配置阶段主要包括将runnable映射到task中;最后进行软件集成,利用工具将各个软件模块生成的代码进行集中编译,最后生成可执行的代码。

2 VCU软件功能开发

VCU软件功能的开发严格按照V型架构开发,如图2所示。

VCU相当于电动汽车的大脑,收集来自于驾驶员需求的加速踏板信号、刹车信号、档位

信号,还有来自于底盘控制器、车身控制器、人机交互等信号,来自于电机控制器的MCU的信号,来自于电池控制器BMU的信号等其他控制器的信号,见图3。VCU综合这些信号进行判断,最终输出命令到其他控制器,从而达到车辆的安全平稳运行。

VCU的功能主要包括整车高压上、下电管理、扭矩管理、驱动系统热管理、高压能量管理、低压能量管理、充电管理、诊断管理等,下面简要介绍一下各个功能模块。

2.1 整车高压上、下电管理

该模块主要负责整车高压的上电和下电时序。上电时,VCU被唤醒,唤醒后VCU进行自检,自检完成后接着唤醒其他动力系统控制器,如BMU、MCU等;所有控制器唤醒后,VCU发送上高压请求,BMU进入预充,预充完成后闭合主继电器,完成上高压的流程。下高压时,VCU发送下电请求,接下来进入电池、电机的绝缘检测阶段,绝缘检测完毕后,VCU请求BMU打开主继电器,BMU打开主继电器后,进入电机主动放电阶段,放电完成后,完成下电操作。

图3 VCU控制系统

2.2 扭矩管理

该模块采集加速踏板、刹车踏板、档位、巡航等信号,经过处理后反应了驾驶员对车辆的需求,期望加速、减速还是巡航等,然后对需求的扭矩进行滤波,保证驾驶的平稳性。最后对来自于底盘控制器、电机控制器、电池控制器等的扭矩进行仲裁,仲裁后输出需求扭矩到电机控制器。

2.3 动力系统热管理

该模块主要负责动力系统的热管理工作,包括电池和电机的热管理。热管理模式主要包括主动冷却模式、被动冷却模式、大小循环、远程预加热等,VCU根据电池SOC、电机工况、电池温度、电机温度、环境温度等条件判断需要何种热管理模式,保证电池、电机处于高性能区域。同时,当在低温环境下,热管理还针对远程请求对电池进行预加热,以保证客户用车时电池性能不受限制。当车辆的慢充枪插入且低温时,还能对电池进行保温管理,维持电池在合理的温度范围内。

2.4 高压能量管理

该模块主要负责高压能量的分配,通过计算电池可用功率、电机功率需求、高压附件的功率需求,分别计算出在放电工况和制动能量回收工况下的能量,再根据电池的能力进行能力分配。当车辆在充电工况时,根据充电枪能力、电池SOC、电池温度、环境温度等要素综合考虑高压能量的分配,比如电池加热或制冷需要的能量、乘员舱加热或制冷需要的能量等。

2.5 低压能量管理

该模块主要负责整车的低压能量管理,主要包括休眠时唤醒VCU使能DCDC给低压电池充电和整车电压负载的管理。当低压电池SOC或电压低于阈值时,低压电池通过通讯发送信息唤醒VCU,从而使能DCDC给低压电池充电;另外,将低压电压分为三级,在不同的电压等级下,根据负载的优先级,会卸载不同的负载,以保证低压电的稳定。

2.6 充电管理

该模块主要负责交流慢充,当车辆处于休眠时,可通过插枪信号唤醒VCU,VCU根据当前车辆档位、充电口温度、是否有其他故障等综合判断是否具备充电条件,如果不具备,则终止,如果具备,则唤醒OBCM、DCDC、BMU等控制器,并完成上高压准备,然后VCU请求闭合S2和慢充继电器,进行慢充充电。在充电过程中,持续监控电池的状态和其他控制器的状态,当电池充满或客户终止时或有过温、过流、过压、绝缘等故障时,VCU进行下电请求,以保证安全。

2.7 诊断管理

该模块按照UDS的规范要求,对电动汽车动力系统及其相关系统进行诊断,包括零部件的对地短路、对电源短路、开路、性能等故障进行时时在线诊断外,还包括出现故障后的安全处理,一方面保证人员的安全,另一方面保证车辆的安全。另外,诊断管理还对产线EOL进行测试,以保证车辆零部件能够正常工作。

3 VCU软件集成

软件集成工具采用的是ETAS提供的ISOLAR-A和Matlab,主要集成步骤包括以下几步:

1.生成AUTOSAR接口文件,文件格式为.ARXML;

2.将AUTOSAR工程添加到ISOLAR-A工具中;

3.添加软件组件SWC的输入和输出接口;

4.生成软件组件SWC;

5.连接软件组件SWC的接口;

6.代码生成;

7.进行预编译、编译和后编译;

8.生成 Hex 和 A2l。

整个集成主要包括上述的8个步骤,如图4所示。

4 VCU软件测试

软件测试是软件开发环节中必不可少、至关重要的环节,主要包括单元测试、MIL测试及HIL测试。

单元测试是软件开发中最小集合的测试,包括收集软件需求、制定单元测试计划、设计单元测试用例、进行单元测试、输出单元测试报告、评审单元测试结果等活动,见图5。单元测试可在Matlab/Simulink测试环境下进行,输入测试用例,输出测试报告。

MIL(Module In Loop)测试,顾名思义,测试环境也是在Matlab/Simulink下搭建的,将所有VCU模型或部分模型联系在一起进行测试,亦可搭建驾驶员输入模型、电机模型、电池模型等,尽可能模拟真实环境,得出的测试结果也更接近实际情况。MIL测试过程类似单元测试。

HIL(Hardware In Loop)测试是软件开发最后一环测试,我们采用的是ETAS测试台架,将VCU外围硬件,如踏板、刹车、慢充继电器、档位等接入台架,在ECU-TEST上根据测试用例进行自动化测试。

5 总结

AUTOSAR架构具有很多的优点,也是目前主流厂商开发软件采用的方法。VCU软件的开发基于此,具有软件的移植性、替代性、兼容性等优点,本文就是在AUTOSAR架构上进行了VCU多种功能的开发,并对开发的软件进行集成、测试,以达到整车功能的需求。

图4 软件集成流程

图5 测试流程

猜你喜欢
单元测试架构高压
基于FPGA的RNN硬件加速架构
一种耐高压矩形电连接器结构设计
功能架构在电子电气架构开发中的应用和实践
基于云服务的图书馆IT架构
反腐高压震慑!这些官员选择自首
WebGIS架构下的地理信息系统构建研究
2015年全国两会最高检、最高法2014年成绩单
一年级上册第五单元测试
一年级上册一、二单元测试
第五单元测试卷