基于FlexECU平台的发动机ECU快速原型开发
2017-05-22胡俊勇虞卫飞杜成磊李杰
胡俊勇,虞卫飞,杜成磊,李杰
(安徽江淮汽车集团股份有限公司,安徽 合肥 230601)
概述
进入21世纪,我国汽车工业在产销规模、产品开发、市场开拓、对外开放、结构调整等方面取得了相当大的成就。“十一五”以来,国内市场持续火爆,产销量迅速攀升,2009年已跃居世界第一位,2016年乘用车销量首次超过2400万辆,增幅比上年明显提升[1]。
市场需求的迅速释放加速了汽车电子市场的增长,随着近几年来消费者对汽车安全性、舒适性和娱乐性的需求不断增加,引发整车装备电子设备的热潮。至2011年我国汽车电子市场规模占全球的比例已经超过 25%,预计2020年,电子系统占整车成倍50%。这其中动力总成电子系统占整个市场25%~30%,但其中大部分被外资企业所掌控,这就需要自主品牌在电子系统自主研发上提高能力以降低成本,进而在汽车行业中立于不败之地。而软件开发则是整个汽车电子产品开发的核心,软件开发品质好坏直接决定了产品的品质,因此开发出稳定可靠的软件是汽车电子产品开发中的中之重。
按照传统的软件开发方法,目标软件往往要等到木已成舟之后才交由用户认可,此时由于规格说明难以完善、需求的变更、以及通信中的模糊和误解,成为软件开发顺利推进的障碍。开发人员往往会对目标软件提出诸多修改,造成人力、物力上的巨大浪费。控制器的开发人员,往往面多两大难题:
1)控制策略开发人员无法将(如 Matlab/Simulink)开发的控制算法软件在硬件上快速实现,以验证与实际控制对象之间连接时,控制算法的功能实现与性能;并且,无法对控制算法进行快速反复的修改验证,找到合适的控制方案[2]。
2)由于工程并行设计的原因,当产品型控制器硬件生产出来后,控制对象还处于研制阶段或被控对象并没有实现,测试工程师无法在早期完成独立的控制器测试。
为提高产品开发效率,减小上市风险,同时也为了减轻工程师的工作量,缩短开发周期,降低开发成本,汽车电子系统开发急需要一种很好的开发模式,将控制策略与底层软件、硬件以及硬件驱动、通讯协议等有效的分割开,让主机厂更多的投入到控制策略算法当中。所以汽车电子系统开发提出了基于模型的V模式的开发流程,并以此来完成从需求定义到最终产品的全过程。
基于以上原因,催生了快速控制原型的开发方法。它的基本原理是利用快速原型控制器硬件来代替产品的控制器硬件,在建模仿真平台上搭建并修改系统模型,通过自动代码生成工具自动生成模型源代码并将其经过编译链接后下载到快速原型控制器中,进行算法仿真和验证,快速原型技术能缩短研发周期,降低研发成本,提高电控系统的质量。自动代码生成技术是快速原型开发中的关键环节,控制模型源代码通过代码生成工具自动生成,无需手动编写系统的控制程序[3]。
本课题选用的是ETAS 公司的FlexECU快速开发原型,通过使用 Simulink完成控制策略与算法的开发设计,使用ETAS EHOOKS软件将软件策略对应FlexECU自动生成可执行代码,并通过INCA,将其刷写到ECU中,并进行标定调试。
1 快速原型
快速原型FlexECU以Bosch量产的MED17作为平台,Infineon TriCore控制器,增加ETAS ETK功能,并通过ETAS EHOOKS(信号旁通)开放其全部软硬件接口给上层应用,可以方便快捷的将Sumulink/ASCET的模型下载到其中,实现控制功能,而无需关心操作系统与底层驱动,因此可以对控制策略模型进行快速的验证工作。
FlexECU原型是用于 ECU开发的完成开发环境,基于集成的软硬件系统,与 MATLAB/Simulink等建模工具无缝组合,是用于发动机台架或整车测试的理想测试工具选择,非常是用于现有ECU上的旁路开发技术。
ETAS的EHOOKS是一种软件工具,有助于将旁路挂钩高效插入ECU软件中。EHOOKS用户无需了解软件细节,即可以旁路挂钩直接放入 HEX&A2L文档中——无需访问ECU源代码或ECU软件创建环境。
先进的挂钩插入技术提供精确、可靠的结果。支持多种挂钩类型,提供适用于标定、软件测试、软件开发以及功能开发的可升级解决方案。
ETAS EHOOKS是一种易于使用的软件工具,用于将旁路挂钩插入ECU软件中,无需其他ECU信息,即可将旁路挂钩直接放入HEX & A2L文档中。
表1
本文以已经量产的 1.5L四缸自然吸气汽油发动机作为控制目标,进行电控系统改造,首先需要对电控系统零部件进行参数匹配。由于FlexECU的开发ECU硬件接口几乎涵盖了目前常用的传感器与执行器元器件,所以该发动机的大部分传感器与执行器予以保留,由于所采用的快速原型FlexECU没有内置点火线圈驱动电路,故需要采用外驱点火线圈的设计方案,如图1所示,其他电控零部件沿用。
图1 带驱动点火线圈
目标发动机的传感器与执行器与 FlexECU匹配完成后.需对原发动机进行信号采集同时对功能进行测试,记录的信息将会应用在发动机控制策略的位置管理及故障管理等模块中,也是台架试验发动机点火成功的基础工作之一。
FlexECU为其开发ECU提供了ETK通讯接口、至PC的接口硬件,以及完整的线束,系统开发平台的搭建过程中要完成控制器接口与外部硬件的匹配和线束定义工作。至此系统开发平台的准备工作已经完成。
2 系统开发
2.1 系统建立
系统建立的首要工作是根据需求建立系统构架。该部分最为基础但很关键,ECU软件涉及发动机控制、零部件和电路诊断、排放监控、安全监控和通讯协议等功能,功能覆盖面广,模块数量多。1.5L四缸自然吸气汽油发动机原来所匹配的量产ECU软件共有431个模块,包括扭矩计算、气路控制、喷油控制、点火控制、排放控制、故障诊断、ETC监控、接口协议等功能。
本项目开发目标为基础发动机控制软件,使用Simulink[4]进行应用层软件(模型)开发,初期开发具备扭矩计算、气路控制、喷油控制、点火控制等基本功能即可。分为6个主要功能:
1)AS(进气系统Air System);
2)ES(排放系统Exhaust System);
3)ETS(扭矩控制Engine Torque Structure);
4)FS(燃油系统Fuel System);
5)IS(点火系统Ignition System);V
6)EH(整车需求Vehicle functions );
2.2 模型开发
2.2.1 模型库开发
a)模型接口库:17个模型接口单元,包含全部模型用到的输入输出接口;
b)基本运算库:包含基本运算(加减乘除等)、开关选择、判断、位选择等运算逻辑;
c)查表模块
d)子集封装模块
e)触发子系统
f)延迟
g)时钟
h)低通滤波
i)PID
j)其他
2.2.2 ECU模型
模型累计搭建76个;软件整体分为进气、扭矩、点火、喷油等几大模块,围绕台架点火为主要开发目标进行搭建。
图2 Simulink ECU软件模型
VEH子系统,该系统功能是将油门踏板的电压信号转换为开度信号,其中包括校验、滤波等;
图3 VEH子系统
ETC子系统,该子系统是扭矩计算模块,驾驶员扭矩需求计算及变化限制、协调扭矩干预、气路协调扭矩干预、发动机转速限制、怠速控制扭矩储备、怠速控制名义发动机转速、怠速控制的运行条件、怠速控制扭矩控制器、名义扭矩的名义空气质量、额定点火正时的扭矩计算、发动机扭矩计算、扭矩接口基本计算、计算最大指示扭矩、发动机扭矩协调最小值、扭矩:发动机转速稳定、发动机扭矩损失;
图4 ETC子系统
AS子系统,进气系统计算模块,负责将传感器的电压信号计算为进气压力,从而计算为充气效率;
图5 AS子系统
FS子系统,喷油基本功能、起动后和暖机喷油、起动喷油、Lambda协调、混合气控制、喷射角的计算、相对燃油质量rk计算喷油脉宽ti、喷油关断协调;
图6 FS子系统
IS子系统,计算点火角度、基本点火角、计算最大点火推迟限制、点火角计算、点火提前和延迟限制后的点火角计算、点火线圈闭合时间计算,初期可固定值。
图7 IS子系统
2.3 输入/输出部分
输入/输出部分的任务是将所有传感器和执行器信号与ECU接口硬件进行匹配。当特定数据源类型取决于硬件时,Matlab默认数据类型为double而此平台ECU默认处理的数据类型为 32位单浮点[5],输入为 lO位 A/D转换器,对应unitl6数据类型,所以在信号处理环节应加人数据类型转换模块。如图4所示,在输入部分加入相应传感器变量的监测(Probe)模块,并进行组别的设置。当代码刷人FlexECU控制器后,通过标定软件便能快速找到相应的变量,大大方便了数据管理和变量的监测。
此系统传感器包括:进气温度、进气压力、节气门位置、爆震传感器、氧传感器、油门踏板位置、曲轴转速和位置、凸轮轴位置传感器、水温传感器。
输出部分与之匹配的主要执行器为4个带驱动的高压点火线圈、4个电压驱动型的喷油线圈、1个H桥驱动的电子节气门电机,根据执行器特性和参数选择相应输出接口并进行匹配。
由于FlexECU开发平台采用汽车产品级硬件,故省却了大量的输入/输出信号调节和接口匹配的工作。
3 模型集成与刷写
图8 FlexECU 的库函数
使用 simulink 进行应用层软件(模型)开发,应用层软件调用FlexECU 的底层接口时,需要调用FlexECU 的库函数,采用EHOOKS工具对模型进行集成设计。
EHOOKS 配套的 Simulink 集成包提供了用于对 EHOOKS进行配置的 Simulink 模块,包括编译配置模块、函数调用模块、数据读取模块等。集成设计完成之后的模型见图9。
图9 模型编译配置
EHOOKS 编译配置模块需要放置在模型的最顶层,并且在使用其他的配置模块时,必须对编译配置模块进行设置。
1)将EHOOKS 编译配置模块拖拽到simulink 模型中。
图10 ECU模型EHOOKS配置
2)选择对应的编译配置文件
图11 编译文件建立
3)编译文件配置
图12 HEX与A2L文件配置
图13 变量配置
EHOOKS集成了编译器,当系统模型建立完毕后编译器会将模型自动生成可供刷写的HEX文件,同时生成 A2L文件以标定使用 。用INCA将HEX文件刷入ECU,调入生成的A2L文件,使用ETAS ES581硬件连接器可快速完成代码刷写的过程。
4 标定工作
FlexECU支持ETK协议,采用DAQ变量测量模式进行标定。系统组成如图5所示。且与ETAS INCA无缝对接。本系统采用ETK标定软件,硬件连接器采用ETAS公司的ES581产品。
标定的主要任务为对数据库中的变量进行优化调整,变量包括冷起动时控制修正、快怠速节气门电机步进控制修正、点火/喷油提前角修正、PWM主控频率量等。
5 结论
1)电控系统的开发是一项复杂的过程,本文以整个开发流程着手。基于FlexECU快速原型开发平台。尝试在Matlab/Simulink环境中以图形化的语言完成了从确定设计要求至标定的一系列工作。
2)基于此开发平台,整个开发过程的主要工作集中在应用程序的编写和策略仿真。快速实现了目标发动机的电控系统改造的前期工作。
3)通过标定基本上实现了四缸汽油机的控制功能,整个开发过程为后续的系统优化和产品化积累了大量的工作经验。
参考文献
[1] 高海字,陆文昌,商哲,甄腾.基于MotoTron平台的发动机ECU快速原型开发[J]. 柴油机设计与制造,2008,15(3):16-20.
[2] 李儒龙,陈卫方,张凡武.基于 Simulink的电子节气门控制策略开发[J].2011,(6):14-18.
[3] 章健勇,吕世亮,陈林,尹 琪.基于快速原型系统 的汽油机控制策略开发[J].,2011,(2):25-28.
[4] The Mathworks,Inc,Real-Time Workshop Embedded Coder User SGuide,20l0.
[5] The Mathworks,Inc,Stateflow User'S Guide,2010.