宋炳雨, 张兴达, 鲁 艳, 王 丰
(潍柴动力股份有限公司, 山东 潍坊 261061)
在典型的汽车嵌入式软件开发过程中,同一版ECU控制程序通常可以通过数据标定,满足不同的平台使用需求,其中,查表数据MAP即是其中一类常见的可标定数据,尤其是在发动机ECU控制系统软件中,使用尤为普遍,但对于常规的查表数据MAP,通常只能修改其内部数据,而无法对其维数进行标定和修改。
本文基于Simulink及ASAM标准,对可变维数查表功能进行研究与嵌入式软件功能实现,并使用ETAS公司开发的INCA软件进行功能测试与数据标定,使用这种设计方法,可以使ECU控制系统软件具有更好的可扩展性、可维护性以及通用性。
Simulink查表模块 (Simulink Lookup Table) 是一种常用的Simulink模块,其使用数据数组将输入值映射到输出值,来对数学函数进行逼近;如果指定输入值,Simulink则执行查找操作,从表中检索对应输出值。如果查找表中未定义这些输入值,模块将根据临近的标值估算输出值[1]。
Simulink提供了各种类型的查表模块,每个模块专门针对一种特定的应用,根据不同的应用场景,用户可以选择适合的查表模块[1]。图1为两个最为常用的Simulink查表模块,也为查表模块编辑器。通过查表模块编辑器,可以对查找表的数据初始值进行查看与编辑。

图1 查表模块编辑器
ASAM是自动化及测试系统标准协会 (Association for Standardization of Automation,ASAM) 的简称,其为整个汽车电控系统的测量、标定提出了一套行业标准,主要包含ASAM MCD-1MC (XCP,CCP) 标准,ASAM MCD-2MC(ASAP2) 标准以及ASAM MCD-3MC标准。该标准主要规定了标定平台与硬件之间的通信协议与接口标准、硬件与软件的描述标准以及标定平台与其他测试设备之间的接口标准。……