基于ASAM标准的标定数据库逻辑分析与编程实现
2012-09-04宋维群杨世春崔海港曹耀光
宋维群 杨世春 李 明 崔海港 曹耀光
(北京航空航天大学)
1 前言
标定是指依据整车的各种性能要求(如动力性、经济性、排放及辅助功能等)调整、优化和确定整车上各ECU的运行及控制参数的控制算法[1]。在实际的标定系统开发中,为实现软硬件之间数据交换的兼容性,ASAM组织提出了标定诊断系统的3个层次[2]。其中,第1层为硬件交互层,定义标定系统与ECU交互功能及软件实现的标准接口;第2层为标定系统的数据库信息;第3层为标定系统的自动化实现。标定数据库信息层用于定义和标识标定过程中的参数信息,其最终目标是建立标定过程中的数据库体系。
本文分析了标定数据库的基本功能和必要组件,提出并实现了符合ASAM数据库信息层即符合ASAM-2MC标准的标定数据库管理系统。
2 标定数据库功能需求分析
2.1 标定信息的分类
标定工程师的最终目标是对功能性代码和MAP进行修改以实现和优化控制系统的最优运行状况。实现该目标的最简捷方式是对标定信息按类型和功能进行分类,此2种分类方式可满足标定系统的基本功能。
本文提出的标定数据库采用了ASAM-2MC标准中与控制相关的关键字[3]作为按类型进行分类的标准,如表1所列。
表1 ASAM-2MC标准中与控制相关的关键字
关键字CHARACTERISTIC定义了在标定过程中需要进行修改的变量,如VALUE(标定参数值)、CURVE(1 维 MAP)、MAP(2 维 MAP)等,这些变量在FLASH中的存储方式以关键字RECORD_LAYOUT具体给出。
标定人员在标定过程中需要通过监测来确定发动机运行状态的变量,在ASAM-2MC标准中采用关键字MEASUREMENT进行定义。
在ASAM-2MC标准中采用关键字COMPU_METHOD对变量真实物理值与ECU中数据存储形式的相互转化方式进行描述,该关键字必选。
对于功能性分类,ASAM-2MC标准提供了关键字GROUP,该功能类似计算机操作系统中的文件管理。标定人员可根据需要自定义某一控制功能的标定参数组,并分配涉及到的监测变量与标定变量。
2.2 标定数据库同步更新
项目开发的不同阶段(系统设计、软件编程、功能验证等)对控制系统的功能有不同需求,控制系统的功能越复杂对标定系统的功能性要求就越多。任何对ECU控制代码的修改都将引起相应的标定任务。对于控制代码的自动化生成而言,标定数据库应能自动更新标定数据的信息,以保证控制系统功能性代码与数据的一致性。
2.3 标定数据格式
标定数据库的应用将使标定软件在不同实例中的架构保持稳定,标定数据库的标定数据输入与输出以特定的文件格式实现。ASAM-2MC标准采用*.a2l格式的文件来满足标定过程中数据格式的一致性。基于*.a2l文件的格式,使用者可很容易地理解和修改标定系统的整体信息。标定数据采用符合ASAM-2MC标准的格式决定了必须采用符合ASAM其它标准的软件接口。因此,本文在实现该标定数据库的过程中,只使用了ASAM标准中与控制相关的关键字,软件开发者可在此架构上依据相应的软件接口自定义相应的关键字以实现特有的标定数据库。
2.4 标定参数之间的逻辑关系
标定数据库通常以控制系统的标定模块为单元进行层次划分。标定模块的属性应包括名称、接口信息、参数集合与软硬件通信接口等。标定模块中各参数的具体信息是数据库真正要管理的信息,因此相应的属性描述也较详细。标定人员提供的模块参数描述性信息对应ASAM-2MC标准中的关键字COMMENT。为增加参数的可读性并方便标定人员对其做出正确判断,标定数据库存储标定变量与监测变量的物理单位并显示,标定参数在ECU中的存储数值与标定系统实际显示的物理值之间的转化法则以关键字COMPU_METHOD定义,标定参数在FLASH中存储的具体方式由关键字RECORD_LAYOUT给出。
ASAM-2MC标准中提供了不同参数之间内部和外部的逻辑链接,如图1所示。以关键字CHARACTERISTIC为例,依据标准中定义的参数存储模板,“/begin CHARACTERISTIC”(图 2) 关键字表明该参数为可标定参数,标定MAP图对应属性信息“MAP”,参数名称为KF2,双引号中的信息为参数信息的详细描述,十六进制数0x14053表明该标定MAP图在FLASH中的存储单元首地址。_UBYTE标示该标定参数的具体存储方式,其在数据库中的逻辑关系如图2中的连线所示。标定系统根据标定参数的首地址和具体存储信息可准确定位该MAP中所有变量在FCASH中的位置,为标定过程提供所有必要的信息。NO_FORMULA标示标定参数的转换方式,标定数据库中对该信息的描述由关键字COMPU_METHOD属性记录。ASAM-2MCD标准通过嵌套标示关键字AXIS_DESCR实现对MAP图独立坐标轴信息的描述。示例中的MAP图与其它MAP图共享同一坐标轴,因此数据库在进行信息处理时,可根据该MAP图所关联坐标轴的名称(唯一标示)查找相应的信息提供给标定系统使用。
3 标定数据库的编程实现
利用Visual C++6.0作为开发工具,在Windows XP系统平台上实现了标定数据库系统。VC++6.0是微软公司提供的Windows操作系统的C++接口,其中包含对API函数的分类模块MFC,本文采用该编程环境以节省开发时间,并且能够较容易地实现与其它标定系统之间的数据接口。
ASAM-2MC标准中定义了142个关键字以描述在标定过程中需要的信息,其中大部分关键字可以嵌套使用,以表达标定参数之间的逻辑关系[3]。因为基于ASAM-2MC标准的*.a2l文件解析过程比较复杂,所以需要使用自定义的后进先出的数据结构承接相应关键字与嵌套关键字信息,其解析流程如图3所示。在实际编程过程中,可通过VC++中提供的集合来模拟后进先出的数据结构。
4 标定数据库功能性验证
采用某公司的标定数据库描述文件al00.a2l进行标定数据库系统的功能性验证。al00.a2l文件基于ASAM-2MC标准,对其正确的解析能够对所开发的标定数据库系统功能的完整性与可靠性进行验证,验证结果如图4所示。
图4左侧树形图中的Functional子项目对应标定数据库的功能性分类,右侧视图显示相关的参数信息。以加速踏板标定任务组(accped)为例,数据库管理系统右侧视图显示该标定任务组中的参数信息,包括加速踏板开度(AccPed_rChkdVal)、发动机平均转速(Eng_nAvrg)和车速当前值(VSSCD_v)等3项监测参数信息,以及发动机转速阈值(AccPed_nLim_C)、低怠速状态加速踏板开度错误数据替代值(AccPed_nErr_C)等多项标定参数,另外还包括动力总成加速踏板标定MAP图(AccPed_trqEng_MAP)和高级动力总成加速踏板标定MAP 图(AccPed_trqPrp_MAP)等。
动力总成加速踏板标定MAP图在ECU中的存储首地址为0x1CFA9E,相应的数据存储结构定义于Record layout属性Kf_Xs16_Ys16_Ws16信息中,其中X轴、Y轴和MAP图数据依次顺序存在于ECU的FLASH中。数据库提供MAP数据的物理显示单位(N·m),相应的物理数值显示范围为该标定数据的变化极限。
加速踏板标定MAP图采用独立X坐标轴和独立Y坐标轴。标定工程师可选择相应的坐标轴并快速对其进行修改。图4中所示的X坐标轴为标准坐标轴(STD_AXIS),输入参数为监测变量发动机平均转速(Eng_nAvrg)。对标定任务组标定参数或MAP图信息的修改可直接通过编辑对话框实现,对关联独立坐标轴的MAP图可直接通过选择相应的坐标轴信息实现。
功能性验证表明,所开发的标定数据库管理系统可正确读入和输出该公司标定数据库所有项目实体,并成功对其按照标定参数类别与功能进行分类,提供与标定系统的数据接口,实现了标定参数可视化分析与修改。
5 结束语
传统的标定软件编程需要开发者输入必要的标定参数信息,这些工作将耗费大量的时间与精力,并且使用者在不了解标定软件架构的情况下无法对标定数据的信息进行添加和修改。而应用标定数据库可以使标定数据与标定数据信息相分离,并可采用可视化的方式对标定参数的各项信息进行处理。
1 李计融,钟再敏.车载控制器匹配标定ASAP标准综述.汽车技术,2004(10):1~4.
2 ASAM MCD-2MC Measurement and Calibration Data Specification Version 1.6:ASAM e.V., 2009-2-1.
3 汤莎莎.基于CCP协议的通用发动机标定系统研究:[学位论文].江苏:江苏大学,2007.