基于XCP协议的快速原型技术*

2014-03-29 05:45梁恒周文华赵俊鹏
机电工程 2014年4期
关键词:旁通油门控制算法

梁恒,周文华,赵俊鹏

(浙江大学能源工程学系,浙江杭州310017)

0 引言

在发动机ECU开发过程中,在对原有算法进行优化或者添加新算法后往往需要对算法进行不断地测试和修正,直至ECU功能测试合格。随着ECU控制系统越来越复杂,以及ECU需要不断更新完善来满足新需求,如果按照传统开发模式将严重耗费人力物力。为加快和简化测试过程、缩短开发周期,快速原型技术在最近几年得到了快速的发展。DSpace,ETAS,Continental等公司都相继开发了用于快速原型的软、硬件系统,其产品已经广泛应用于具有一定实力的汽车企业以及科研机构[1-3]。国内对快速原型技术也进行了深入研究,清华大学开发的多功能动力总成控制器软、硬件平台已应用于汽车控制系统的开发[4],大连理工大学与江奎科技联合开发的“多功能汽车发动机电子控制单元快速开发平台”UECU已经应用于共轨柴油机和氢燃料发动机的开发[5]。

快速原型技术能够在产品硬件完成之前,将新的控制程序放于原型系统上进行硬件实时测试,方便新的ECU开发。另一方面,快速原型也可将一部分ECU控制算法通过bypass方式扩展到原型系统上,开发人员可以更专注地实现对旁通控制模块的开发、验证[6]。目前,ECU与原型系统之间的数据同步主要通过基于双端口存储器和基于标定协议[7]。

本研究基于XCP on CAN协议为接口提出一种成本低廉的快速原型方式,将需要旁通的功能代码通过标定工具加载后放于PC机上运行,以提高快速原型方法的灵活性,减少原有ECU中内存、I/O以及Processor处理能力等的约束。

1 快速原型发展现状

在快速原型方式刚产生时,其主要作用是在硬件产品开发出来之前就可以实时测试所开发的控制程序,以加快项目开发进度。随着技术的发展,基于模型的控制策略开发得到了广泛的应用,其所有的控制策略都利用框图化的基本模块建立起来。这种模块化程序设计环境使得新增或者修改已有的功能模块具有相对独立性。所以快速原型方式开始应用于旁通部分功能模块旁通至原型系统,以实现对新增或修改后的功能模块进行测试。通过这种旁通方式,研究者可以将新开发或者修改过后功能模块程序直接在原有ECU上进行实时测试,极大地缩短了开发周期。

旁通技术的应用如图1所示,部分控制模块(如电子油门控制模块)旁通后在原型机上运行,其余的控制模块、发动机传感器等的底层驱动程序依旧在原ECU上运行。ECU所采集的传感器数据经处理后通过CAN总线发送至原型系统,原型系统接收数据并运算完后将运算结果通过CAN总线发送至ECU。通过这种方式,旁通模块与ECU原有控制模块构成一个整体以控制发动机的正常工作。

图1 旁通技术的应用

2 基于XCP on CAN快速原型原理

2.1 旁通控制模块程序的调用

传统的快速原型方法中旁通控制模块程序一般存储于外部硬件或者原有ECU空余的RAM或ROM中,不过基于特殊实时硬件的解决方案价格昂贵,开发部门中这类设备也可能为数不多;将旁通模块程序存储于原有ECU则要求ECU有足够的内存[8]。

本研究通过vCalitool工具在PC机中加载旁通的控制模块,消除对ECU的内存需求。控制模型由Simulink开发,通过matlab将mdl文件生成dll文件,vCalitool直接加载dll文件以实现对控制算法的调用。其中vCalitool作为XCP主设备,可完成PC上旁通模型与原有ECU之间的数据通信。ECU参数和模型参数都可通过vCalitool进行标定。

2.2 程序运行流程控制

在测试过程中,程序测试人员需要改变控制程序运行流程以完成对指定功能代码的测试。其运行流程的控制通过软件钩来实现。程序开发人员在设计程序时根据需要定义软件钩变量,测试人员根据所提供的标定信息(A2L文件),通过标定工具更改软件钩变量值以完成对程序运行流程的控制。bypass示意图如图2所示,当hook值为0时,ECU代码原始运行流程为A,B,C,D。当测试人员将hook通过标定工具改为1时,ECU代码运行流程为A,F,C,D。相比A,B,C,D功能模块,功能F从ECU中独立出来在PC机上运行。

图2 bypass示意图

2.3 RCP与ECU接口

目前实现ECU与原型系统之间的数据同步的途径主要有两种:基于双端口存储器、基于标定协议。基于标定协议的主要缺陷在于协议传输速率相对较低。但是比起双端口存储器方法,基于标定协议方法也有其优势。如一般ECU支持主流的标定协议,以标定协议作为接口这种方法无需再对ECU进行修改,而双端口处理器方法需要对ECU硬件有所改动;标定协议的方式下数据传输稳定,而双端口处理器在硬件改动后易受振动,电源等外部条件的影响。

随着汽车总线等技术的迅猛发展以及标定协议的逐步完善,其数据传输速率和可靠性得到了很大的提升,基于标定协议实现旁通接口的方式的弊端正逐步减小。如目前在车载网络中得到广泛应用的CAN网络最高性能极限为1 Mbps,FlexRay的网络带宽可以达到CAN网络的20倍;XCP on CAN协议中的数据同步模式中每一数据帧包含的多个变量值,提高了数据传输速率。

由于CAN网络在车载网络中应用最广,本研究选择基于XCP on CAN协议作为旁通接口[9]。bypass示意图如图2所示,支持XCP协议的vCaliTool工具通过DAQ和STIM模式实现与ECU数据同步,输入参数x通过DAQ模式周期性更新至vCaliTool,x经被vCali-Tool调用旁通功能模块程序运算后获得输出参数y,然后vCaliTool将y值通过STIM模式发送至ECU。

2.4 标定系统软实时性要求

将控制模块旁通至PC机时,传感器数据经ECU处理后通过接口发送至vCalitool,vCalitool调用控制模块dll文件后将计算结果更新至ECU。该过程要求vCalitool满足一定的实时性,否则将影响控制系统的快速响应性能。一般标定系统是基于WIN32操作系统运行的,由于操作系统消息处理机制的限制,标定系统难以实现硬实时性要求。因此笔者对标定系统软实时性能进行优化,以满足旁通测试的需要。

为测试标定系统的软实时性,本研究对vCalitool工具的软实时性进行了测试。测试在Window7操作系统上进行,处理器为Intel(R)Core(TM)i5-2310@2.90 GHz,测试时关闭了其他非相关的应用程序。vCalitool工具以10 ms的间隔周期性发送数据至ECU,通过逻辑分析仪测试延迟时间,测试结果如图3所示。在140 000个测试循环中,平均时间延迟为0.77 ms,在0.6 ms~1.0 ms区间中出现频次占总循环数的98.8%以上,0.6 ms~1.2 ms区间内出现频次为占总循环数的99.99%以上。时间延迟最长为7.5 ms,出现了4次。所以对于时间延迟上限大于1.2 ms的BYPASS任务,基于XCP协议的方式能够满足要求。

由图3可知,尽管标定系统软实时性能良好,但是不能排除少数因总线通讯等因素所引起的超时。为保证ECU的安全正常运行,ECU和vCalitool应设置等待超时处理机制。ECU以及vCalitool同时存在一个计时器,在ECU等待vCaliTool的STIM数据包或vCalitool等待ECU的DAQ数据包超过一定的等待时间后,自动将上一周期所收到的数据作为当前周期值。

图3 140000次测试循环时间延迟

3 基于XCP on CAN协议接口实现

目前比较通用的CCP协议主要注重于对ECU的标定的过程,没有考虑到快速原型中数据同步的需要,因此若要将CCP协议应用于数据同步中,需要进行一定的修改。但是由于CCP协议整体框架的限制,经修改后其数据传输速率提升空间有限,而且修改后的CCP因为不是标准的,兼容性不够。

为解决CCP协议在实际应用中出现的缺陷,2003年,自动化及测量系统标准协会(ASAM)基于CCP协议基础上制定了XCP协议[10]。XCP协议中的同步激励模式下,通过DAQ和STIM模式完成一个bypass周期只需要两条命令,而且所要传输的多个变量数据同时被整合到一条DTO中传输,极大地提高了数据传输效率,可以高效、快速地完成ECU与原型系统两者之间的同步[11]。

3.1 驱动事件

发动机控制策略由燃油量控制、喷油正时控制等组成,分别有时间和事件驱动控制任务,因此为更好地实现原型系统与ECU的数据同步、降低CAN总线的负载率,需要有不同类型的中断以触发同步数据帧的发送。在XCP协议中,每个DAQlist对应一个事件通道,测试人员根据不同的变量同步需求选择合适的时间通道。在DAQ及STIM模式开启后,ECU在DAQlist中所设置的事件触发下向vCalitool发送数据,数据接收完毕后vCalitool调用旁通模块程序运算,其运算结果通过STIM模式发送至ECU中。

3.2 数据帧格式

在XCP协议中同步数据传输模式(DAQ和STIM)开启后,标定系统与ECU之间通过同步数据传送体(DTO)完成信息的同步。DTO与ECU内存的关系由ODT建立,ODT中的每个ODT entry包含了每个变量的信息,如变量地址和长度信息,ODT组成如图4所示。在开启同步数据传输模式开启前,需要对所操作的变量选择工作模式(DAQ或STIM)以及触发事件,并初始化ODT[12]。模式开启后,主机和从机会在DAQlist所属的事件触发下,根据ODT描述组织DTO并发送,以完成主、从机中特定变量的数据同步。

图4 ODT组成

4 应用举例

本研究在柴油机高压共轨控制系统基础上旁通了双电位器电子油门控制模块,对vCalitool工具进行了测试。从机ECU微处理器为英飞凌XC2785x-104L80F,通过英特佩斯valuecan3与建立主从机之间CAN通讯。

为方便控制算法的开发与移植,测试的控制算法双电位器电子油门控制算法由Simulink开发,然后通过Matlab由mdl文件生成dll文件。vCalitool工具完成对dll文件的调用,并实现相关参数的读取。为方便标定工具控制ECU程序运行流程,本研究在ECU原有程序中添加byte型的软件钩software_switch,并对ECU原有程序进行相应地改动,以实现通过改变software_switch值就可以选择切换不同的运行流程。

本研究选择双电位电子油门控制算法中的极值故障算法作为被旁通模块进行测试。为直观、方便地监测故障,控制策略设置byte型变量APPCD_stTstTrg1记录故障状态,其各位表征含义如表1所示。

因观察与试验需要,本研究设定油门超下限故障临界值APPCD_uAPP1_SRCMin_C为2 000 mV,超上限故障临界值APPCD_uAPP1_SRCMax_C为4 000 mV,故障确认与恢复时间为2 s。设置DAQLIST0为DAQ模式,其中添加变量APPCD_stTstTrg1,第一路油门传感器A/D采样转化值APPCD_uRawAPP1,第二路油门传感器A/D采样转化值APPCD_uRawAPP2,事件通道为10 ms;设置DAQLIST1为STIM模式,其中添加变量加速踏板大脚油门状态APPCD_stKickDown,过滤后传感器信号APPCD_rFlt以及APPCD_stTstTrg1等故障状态显示量,事件通道为10 ms。实验结果如图5所示。

表1 电子油门第一路传感器极值故障各位含义

图5 极值故障随传感器信号关系图

如图5所示,在13 s左右时,APPCD_uRawAPP1值在2 000 mV~4 000 mV范围内,APPCD_stTstTrg1的值为32(0010 0000B),当油门值超过超上限故障临界值4 000 mV后,APPCD_stTstTrg1的值变为66(0100 0010B),初步判定第一路油门传感器超上限故障,当APPCD_uRawAPP1值超过4 000 mV持续时间超过故障确认时间2 s后,APPCD_stTstTrg1的值变为65(0100 0001B),当APPCD_uRawAPP1值恢复到正常值范围后,APPCD_stTstTrg1的值变为36(0010 0100B),进入故障预恢复阶段,2 s后APPCD_stTstTrg1的值又变为32(0010 0000B),ECU确认故障消失,当APPCD_uRawAPP1值低于2 000 mV时,APPCD_stTst-Trg1的值变为130(1000 0010B),初步判定第一路油门传感器超下限故障,APPCD_uRawAPP1低于2 000 mB持续超过2 s后,APPCD_stTstTrg1的值变为129(1000 0001B),确认超下限故障,当APPCD_uRawAPP1值恢复到正常范围后,如前所述,APPCD_stTstTrg1先进入故障预恢复,然后确认故障消失。本研究根据图5的测试结果,将电子油门控制模块通过XCP协议旁通后,能够迅速将模块输入参数计算后反馈给ECU,对ECU的整体运行没有产生影响。

5 结束语

(1)vCalitool工具通过调用由Simulink导出的dll文件来加载被旁通的功能模块,操作简单迅速。

(2)本研究所开发的vCalitool工具能充分实现BYPASS功能。通过XCP协议的同步激励模式大大提升数据传输速度,迅速同步上位机与下位机数据,能够满足一般功能模块的bypass需要。

(3)虽然vCalitool工具基于Windows系统开发,但是软实时性良好。在140 000个测试循环中,延迟时间在0.6 ms~1.2 ms区间内出现频次为占总循环数的99.99%以上能满足bypass功能需求。

(4)基于XCP协议来实现旁通功能,不需要其他昂贵的硬件设备,成本低廉,测试新开发代码时不需重复烧写ECU全部代码,节省时间,缩短了研发周期。

(5)bypass提高了在ECU设计阶段时的设计灵活性,使设计不受原有ECU的RAM、I/O等条件的限制,更方便快捷地实现对新控制算法以及优化后的控制算法进行验证,缩短了开发时间,节省项目经费。

):

[1]叶险.基于模型的汽油机电控系统快速原型的研究[D].成都:西华大学汽车工程学院,2012.

[2]谢异才.基于LabView的柴油机电控单元快速原型平台的设计与开发[D].昆明:昆明理工大学交通工程学院,2011.

[3]章健勇,吕世亮,陈林,等.基于快速原型系统的汽油机控制策略开发[J].车用发动机,2011(2):25-28.

[4]石琦文,孙晓民.基于Matlab的车用快速原型软件平台的研究与实现[J].系统仿真学报,2005(13):108-110.

[5]孔峰.关于EMS开发系统的研究与多功能发动机电控单元快速原型开发平台-UECU的自主开发[D].大连:大连理工大学能源与动力学院,2006.

[6]ROGERS D,CHURCH M,PATEL U,et al.The Evolution of Rapid Prototyping[N].SAE Paper,2013-01-09.

[7]YACOUB Y,CHEVALIER A.Rapid Prototyping with the Controller Area Network(CAN)[N].SAE Paper,2001-03-05.

[8]PATZER A.标定和测量应用的焦点-XCP[J].汽车零部件,2007(6):42-44.

[9]苏瑜,周文华,竺春狄.一种适用不同通信方式基于XCP协议的ECU标定工具的开发[J].汽车工程,2010,32(1):81-85.

[10]SCHUERMANS R,ZAISER R,HEPPER L E F,et al.XCP-the Universal Measurement and Calibration Protocol Family Version1.0 Part1 Overview[S].Association for Standardization of Automation and Measuring Systems.2003.

[11]SCHUERMANS R,ZAISER R,HEPPER L E F,et al.XCP-the Universal Measurement and Calibration Protocol Family Version1.0 Part2 Protocol Layer Specification[S].Association for Standardization of Automation and Measuring Systems.2003.

[12]SCHUERMANS R,ZAISER R,HEPPER L E F,et al.XCP-the Universal Measurement and Calibration Protocol Family Version1.0 Part 5 Example Communication Sequences[S].Association for Standardization of Automation and Measuring Systems.2003.

猜你喜欢
旁通油门控制算法
驾哥
汽车改装车上装油门的几种控制方法
基于ARM+FPGA的模块化同步控制算法研究
殊途同归好景致举一反三以旁通
导入无定法 触类可旁通——浅谈小学美术课堂教学导入法
集中供暖系统中循环水泵吸入口定压和旁通管定压的应用探讨
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
苏里格气田旁通清管技术研究及应用
一种非圆旋转工件支撑装置控制算法
DI材横向厚差自动控制算法及其应用