APP下载

基于XCP协议的ECU标定工具研究与实现

2023-08-24刘通张良王祥杨金新

专用汽车 2023年8期
关键词:CAN总线

刘通 张良 王祥 杨金新

摘要:国内汽车电子领域研发工具国产化替代趋势近年来变得愈来愈明显。通过分析国内外标定工具的发展现状,基于标定工具的基本特点和功能需求,采用业界ASAM-MCD标准和XCP标定协议,使用CAN总线进行数据传输,设计并实现了一种基于XCP协议的ECU标定工具。该工具使用C#图形化编程语言开发,实现了上位机进行系统配置、A2L参数管理、数据监测以及参数标定的功能。首先验证了上下位机之间的正常通信功能,其次导入相应数据文件验证了A2L文件解析功能,最后选择监控量和标定量进行了参数监控,并成功实现了不同类型变量标定的功能。试验结果表明,所研发的标定工具能够稳定地运行,各项功能模块均能够满足测量和标定的使用要求。

关键词:ECU标定;测量与标定;CAN总线;XCP协议

中图分类号:U463  收稿日期:2023-04-18

DOI:10.19999/j.cnki.1004-0226.2023.08.027

1 前言

现代汽车发动机是汽车的核心部件,其性能的好坏对整车的动力性、经济性和排放性有着直接的影响。为了确保发动机性能的满足要求,现代发动机通常采用电子控制单元(ECU)对电气参数进行标定。通过修改控制系统的参数,我们可以实现发动机的精准控制和管理。

随着电控系统数量的不断增加,标定工作量也随之急剧增加,导致标定成本大幅提高。因此,一款操作便捷、高效的标定工具对于标定来说至关重要。使用标定工具可以大幅降低标定成本,提高标定效率,从而实现更快速、更准确的电控系统标定。标定工具可以监控发动机运行时参数的变化,包括电气参数和机械参数等,了解发动机的实时状况,为发动机的优化控制提供精准的依据。使用标定工具,可以在线修改ECU内的控制参数,对发动机的控制策略进行优化,使其以最优性能进行工作。通过这种方式,能够大幅提高发动机的驾驶体验,同时减少了排放和油耗,最大程度地提高了发动机的性能和可靠性。

在汽车电控领域,外国标定工具已有成熟的商业产品。这些标定工具可以使用不同的通信协议进行标定,如基于CAN总线的KWP2000或CCP或XCP协议、基于K线或FlexRay协议等,这使得它们具有多功能性、灵活性、可扩展性和易用性等特点。但是,它们大部分只支持特定的通信设备硬件,并且需要专门的培训进行使用和维护,其中一些商业软件集成了标定部分,价格较高,可能并不适合个人用户或小型企业使用。

近年来,我国在发动机标定系统的研究方面主要集中在研究所和高校[1-6]。为了缩小与发达国家在汽车电控技术方面的差距,国家科技项目近年来不断支持和推进国内汽车电控技术的新发展,发动机标定系统作为一个重要的研究方向受到了越来越多的重视。国内开始不断出现商业化标定工具,它们通过消化吸收國外成熟产品的理念进行设计研发,并逐渐成为了汽车电控技术的重要组成部分。

总体而言,基于CAN总线的CCP协议是当前车载ECU标定技术所使用的主要标定协议。标定系统应着重关注其通用性和移植性,以提高标定和开发效率。研究和开发符合国际主流标准的标定工具可以提高汽车产品的竞争力,推动我国在汽车电子领域的创新和技术升级。

2 关键技术研究

2.1 ASAM标准

随着电控系统数量的增加和复杂度的提高,标定工作量也会急剧增加,导致产品开发的时间成本和人力成本的大幅提高。因此,如何提高标定效率和准确性是当前电控系统研发领域面临的重要问题。为了解决这个问题,自动化及测量系统标准协会(Association for Standardization of Automation and Measuring system,ASAM)制定和推广了MCD系统标准[7]。MCD标准的主要目标是自动化测量、标定和诊断系统,以提高效率并确保标定的一致性和精度。ASAM-MCD标准对ECU开发过程中的软件接口、参数描述格式和通信协议进行标准化,为标定工具的开发提供了标准化的基础。ASAM-MCD标准规定的测量与标定系统三层结构如图1所示。

其中,ASAM MCD-1MC定义了ECU与应用系统之间的物理和逻辑接口标准,确保不同系统之间的兼容性; ASAM MCD-2MC定义了电子控制单元内部数据描述文件的规范,即A2L文件格式,为标定工具提供了重要的参数描述信息;ASAM MCD-3MC定义了标定系统与自动化系统的接口规范,可用于远程台架自动化测试和标定。

2.2 标定协议

标定协议通过对ECU与PC标定工具的接口进行标准化,实现了测量、标定等服务的标准化。在标定协议中,CCP协议是最早根据标准定义的标定协议[8-10]。在CCP协议下,标定工具通过CAN总线与ECU进行通信,进行数据读取、写入及校准等操作,为标定工程师提供了一种快速高效地进行标定工作的途径。XCP协议是在ASAM标准体系中的ASAP MCD-1MC标准中,由CCP2.1版本发展而来的标定协议。与CCP协议相比,XCP协议最大的特点在于可以同时支持多种传输层作为标定系统上位机和ECU之间的传输介质。传输层可以是CAN、USB、SxI、FlexRay和Ethernet等多种不同的物理层[11-13],这使得XCP协议极大地提高了标定过程的灵活性和可扩展性。

2.3 CAN驱动通信

在基于标定协议的测量与标定系统中,采用XCP数据包进行上位机与下位机之间的实际数据通信,XCP数据包可以通过CAN数据包进行传输。在整个测量与标定系统中,CAN驱动模块是其基础通信模块之一,用于实现上位机与下位机之间数字信号的传输。PC端标定工具与ECU间的CAN接口进行通信,需要借助CANUSB转接设备。本文选用CANUSB接口卡支持Win7/10等操作系统,可以基于二次开发函数库编写软件,该设备接口库以基于Windows系统的动态链接库(DLL)的方式提供,可实现设备打开、配置、报文收发、关闭等功能,主要开发流程如图2所示。

2.4 XCP协议栈

XCP协议作为实现测量与标定系统中标定协议的重要一环,可以完成XCP數据包的封装和解析,实现在线修改ECU中控制参数和获取运行数据,从而减少标定工程师的重复性工作。

XCP协议传输的数据主要分为两大类:运行状态数据和系统控制命令参数及配置参数。这些数据需要按照XCP协议规定的格式和协议进行封装和传输。在XCP协议层中,CAN数据帧被用来传输XCP数据包,通过传输控制字符和数据控制字符的正确设置,确保数据的完整性和准确性。

XCP协议的相关命令主要分为逻辑连接与断开、数据监测和参数标定三大模块。逻辑连接与断开模块主要用于建立和断开上下位机之间的连接,数据监测模块即DAQ功能模块,完成下位机数据的周期性上传和监测。参数标定模块的主要功能是完成对下位机应用程序中重要控制参数的修改,在实际操作中,它还可以分为参数下载和在线编程两个阶段。

2.5 A2L解析

ASAM MCD-2MC标准是一种对ECU中参数信息及其逻辑关系进行规范化描述的标准[14]。在测量与标定过程中,工程师需要对ECU中的参数信息进行调整和修改。为了方便管理和使用这些参数信息,A2L文件被广泛应用于测量与标定系统中。A2L文件是一份包含了ECU中所有参数及其相关逻辑关系的文本文件,采用规范化的方式描述参数信息,在A2L文件中,参数信息和逻辑关系都会被以关键字的形式进行描述,这样就可以方便地解析和管理参数信息。A2L文件的解析模块主要负责对规范化的A2L文件进行解析,生成参数列表,供工程师在测量与标定过程中使用,从而使工程师的工作更加高效和准确。图3所示为文件组织结构与模块描述。

3 系统设计与实现

3.1 标定工作流程

标定系统的整体工作流程如图4所示。首先由PC标定工具对标定过程中的发动机转速、供油时间、喷油压力、点火时间等参数进行采集,然后送至ECU进行计算,再由ECU把计算结果以控制信号的形式发送至 CAN总线网络上,由CAN总线把计算结果发送给PC标定工具,对传感器输出的数据进行实时采集和存储。通过PC标定工具对标定过程中的各种参数进行实时监测和控制,可以通过总线将故障信息实时反馈给操作人员,以便操作人员及时了解发动机运行情况,并根据故障信息调整标定参数。

3.2 标定系统架构设计

标定系统的设计需考虑到系统的可靠性、可扩展性和易用性等方面。标定系统需将PC端上位机、ECU端下位机、通信转换设备CANUSB和A2L数据库文件等组成部分(图5)进行合理地组合和管理,以便实现标定参数的读取、修改和保存等功能。标定系统的设计原则是尽量保证各功能单元模块化、层次化,降低各功能模块间的耦合度,方便后续对软件的升级和针对不同平台进行移植。为实现这一目标,标定系统需采用统一的通信协议和数据格式,以实现标定工具和ECU之间的统一管理和控制,使标定系统更加易用、可靠和有效。

在具体实现时,标定系统的各个功能单元需要采用模块化和层次化的设计,以便实现各个单元之间的信息共享和功能拓展。对于不同的应用场景和不同的平台,标定系统的设计也应该具备一定的灵活性和可移植性。通过采用通用的接口和协议,方便地移植到不同的硬件设备上,实现对不同的标定工具和ECU类型的支持,从而满足不同用户的需求。

3.3 标定工具功能实现

标定工具一般运行在PC机上,能够通过上下位机之间的通信介质与发动机ECU实现数据信息交互,它主要实现的模块及功能如图6所示。

a.用户界面功能模块。主要包括系统配置、参数管理、数据采集、数据存储、参数标定和其他辅助功能。这些功能模块为用户提供了一个集成化的平台,实现ECU和PC机之间的数据信息交互。

该模块所包含的具体功能如下:

①系统配置。标定工具可配置的内容包括系统参数、总线参数、通信参数设置、硬件信息以及其他系统环境参数等。在标定工作过程中,可通过标定工具对系统参数进行配置,以实现对整个系统的管理和调节。所有可配置的内容都可以被读取、保存并重新载入使用,以实现系统的运行灵活性。

②参数管理。标定系统通过解析A2L文件获取所需标定的参数信息,此解析过程需要标定系统具备高度的规范化。只有系统解析A2L文件的过程准确无误,才能保证ECU参数标定的准确性和可靠性。

③数据采集。标定工程师需通过对ECU运行过程中的各种信号进行采集和分析,来实现精准的控制策略和参数优化调节。因此,具备实时采集ECU信号的系统和上位机软件交互界面成为了标定工作必不可少的重要组成部分。这套系统可以实现实时采集ECU运行的各种信号,并在上位机软件的交互界面上予以同步显示。这样的设计方便标定工程师对比ECU控制策略中涉及的各个参数的具体数值和控制效果之间的关系。此外系统中需提供多种不同的形式来显示这些参数,如数值窗口、曲线窗口、三维图窗口等,不同的显示形式能够满足不同标定工程师的需求,以便在实时控制策略调整时更加方便地进行参数分析。

④数据存储。该系统需动态记录测量监测数据并保存记录,保存修改完成的标定数据,同时具备导入导出功能,实现文件存储和能够从磁盘文件中加载读取数据至当前试验窗口中,提供可靠的数据源和高效的数据管理工具。

⑤参数标定。在线修改处于连接状态的ECU特定控制参数,能够方便地进行参数优化和性能调整,而不必刷写整个ECU控制程序。这种方法最大的优点之一是可以在不中断ECU连接的情况下进行参数优化。因此,标定工程师可以直接对比控制参数修改前后系统各项性能指标所受到的影响,并快速优化参数。这种方法可以在线修改处于连接状态的ECU特定控制参数,同时避免对整个ECU控制程序的刷写。它能方便工程师对比修改前后的系统性能指标影响,进行参数快速优化。

b.通信及标定协议模块。包括XCP协议栈和CAN通信驱动模块。XCP协议栈负责完成将人机交互界面数据封装并生成XCP数据包,同时按照具体传输层要求生成XCP数据包。CAN通信驱动模块进一步封装符合CAN传输层格式的XCP数据包,并生成对应的CAN数据帧。最后,利用CANUSB通信转换装置将标定命令或数据从上位机传输到CAN总线上。通过这种方式,可以实现与ECU的通信,以便标定工程师进行参数优化和性能调整。

4 功能验证

4.1 上下位机通信

首先需验证CAN驱动程序的正确性,以确保ECU能够通过CAN总线与上位机的标定工具进行通信。在通信过程中,需要对ECU反馈的报文进行分析,以验证返回的数据域内容是否符合XCP协议栈的报文格式。本文使用致远电子提供的配套总线分析软件ZCANPRO监测CAN通信状态。通过手动编写包含命令码和数据包,封装到CAN数据帧中发送到ECU。在接收到ECU反馈的CAN报文后,分析其是否符合规定的XCP报文ID。分别进行了CONNECT、GET_STATUS以及DISCONNECT命令的测试,测试的结果如图7所示。试验表明,ECU反馈的报文ID为0XFF开头,符合XCP协议规定要求。

4.2 参数管理

对上位机功能进行验证时,首先需要验证A2L文件解析功能的正确性,确保上位机标定工具能正确解析A2L文件,生成对应的标定量和监控量解析列表。首先,在上位机标定工具界面点击数据库,在文件选择窗口中添加A2L文件,确定后解析A2L文件,将其中的参数和预先的标定量取出并存储到数据库中。对于标定量还需要能按照VALUE、CURVE和MAP等不同类别进行筛选,方便根据数据类型找到所需要的参数,解析测试参数列表如图8所示。试验结果表明,标定工具可以正常进行不同类型变量解析。

4.3 数据采集和参数标定

在标定工具图形用户界面,选择相应的监控量后,点击确定,该监控量便可以在试验窗口进行显示,如图9所示。建立上位机和下位机成功通信后,标定工具便可以发送封装SET_MTA命令的数据包,指定选择的监控量在ECU中存放的地址,在获取ECU反馈后,再继续发送封装了UPLOAD命令的数据包,从而获取ECU内部对应地址上的数值。为了满足实时数据监测的功能,需要采用DAQ通信模式,选择监控参数,配置DAQ列表,设置DAQ列表的定时上传周期,实现连续数据监测。采用DAQ通信模式后的CAN报文交换过程如图10所示,试验表明,本文设计的标定工具中的数据监测模块能准确完成对选定参数的读取和上传功能。

测试人员在标定工具界面选择需要标定的参数作为标定对象,显示界面如图11所示。标定主要进行获取标定页、设置数据操作地址和下载数据操作,该过程CAN报文交换如图12所示。试验结果表明,该程序能够实现对ECU控制参数进行在线修改,并改变控制对象的工作状态。为了实现控制参数的标定匹配,可以结合数据监测窗口反馈的数据进行分析和调整。

5 结语

本文研究了国内外标定工具的发展现状,并总结了标定工具的基本特点和功能需求。本文采用ASAM-MCD标准和XCP标定协议,并利用CAN总线进行数据传输,设计并实现了一种基于CAN总线和XCP协议的ECU标定系统,其中PC端标定工具使用C#语言进行图形化界面开发。该系统实现了数据监测与参数标定模块、XCP协议栈模块、CAN通信模块和A2L文件解析模块,并且可以通过界面進行参数设置、参数管理、数据监控、数据存储、参数标定等多项功能。本文最后对该标定工具进行了测试验证,验证了上位机与ECU间的正常通信、数据监控、不同类型变量标定的功能。实验结果表明,该标定工具可以稳定可靠地运行,满足日常测量与标定工作的使用要求。

参考文献:

[1]杜江,戴海峰,魏学哲.基于CAN总线的HCS12汽车ECU在线标定系统设计[C]//2007年APC联合学术年会论文集,2007:353-357.

[2]温泉,张广秀,张建.基于ASAM标准的汽车电控系统匹配标定系统设计[J].汽车实用技术,2012(5):40-46.

[3]谢江浩.符合AUTOSAR架构的XCP标定系统研究与实现[D].成都:西华大学,2017.

[4]倪春燕.基于CCP协议的测量标定系统研究与实现[D].武汉:武汉理工大学,2017.

[5]陈鹏.基于CCP协议发动机标定系统应用研究[D].武汉:武汉理工大学,2014.

[6]刘运潇.基于CCP的通用型ECU标定系统研究和设计[D].上海:上海交通大学,2013.

[7]李计融,钟再敏.车载控制器匹配标定ASAP标准综述[J].汽车技术,2004(10):1-4.

[8]李丽,董昌兴,尹欣欣.基于CCP协议的ECU标定系统上位机设计[J].汽车电器,2021(11):54-56.

[9]侯翔.CCP协议通用标定系统在防爆柴油机开发中的应用[J].山东煤炭科技,2021,39(8):142-145.

[10]蔡燕飞.基于CCP协议的ECU标定系统上位机设计[J].汽车工程师,2012(8):53-55+59.

[11]熊婉仪,吴志红,朱元.基于CAN总线的XCP标定协议研究[J].信息通信,2015(9):19-20.

[12]冯占军,丁锋,谭啟寅.基于XCP协议的ECU控制器标定系统开发[J].上海汽车,2013(11):16-18.

[13]段延喜,彭宇,朱青.基于XCP协议的通用型ECU标定软件的开发[J].微计算机信息,2012,28(5):69-71.

[14]宋维群,杨世春,李明,等.基于ASAM标准的标定数据库逻辑分析与编程实现[J].汽车技术,2012(1):10-13.

作者简介:

刘通,男,1995年生,硕士,研究方向为汽车网联系统。

猜你喜欢

CAN总线
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
利用MC9S12(X)单片机构建CAN总线网络的研究
基于CAN总线的智能微喷灌监控系统中下位机的硬件电路组成与设计
基于CAN总线的变电站通讯网络设计
一种航空交换机中CAN总线的自动化测试方法