离线标定数据覆盖与固化方法

文档序号:6443337阅读:1306来源:国知局
专利名称:离线标定数据覆盖与固化方法
技术领域
本发明涉及汽车发动机电子控制单元领域,特别是涉及一种在汽车发动机电子控制单元控制器软件开发过程中,能快速进行离线标定数据覆盖与固化的方法。
背景技术
当代汽车发动机为了提高其经济性、稳定性和改善其排放性,采用先进的电子控制单元已经势在必行。在发动机电子控制单元(以下简称为发动机电控单元或“电控单元,,)软件开发过程中,各标定变量的标定(最优化调整)工作必不可少。其中,需要在该项工作的各个阶段,将已完成调整的标定变量固化在软件中,为下一阶段的发动机或整车标定工作提供基础。现有的标定变量固化技术,是将电控单元的控制器软件中的标定变量定义在电控单元的Flash (闪速存储器,用于存储电控单元控制器软件)当中,然后通过特制的通讯接口与专用的标定工具(常见的工具有德国ETAS公司提供的INCA/ETK)进行通信,将电控单元的Flash当中的标定变量映射至外扩内存,才能进行标定变量的标定工作。在完成标定变量的标定之后,要保持电控单元处于在线状态,在专用标定工具中再次通过特制的通讯接口与通讯协议,将完成更改的标定变量数据下载至电控单元的Flash当中,完成标定数据的覆盖。该技术的一大缺陷是需要特制的通讯接口,专用的标定工具以及必须与电控单元相兼容的外扩内存,且配置方法复杂,需要开发特殊的通讯驱动程序才能工作,开发与实现门槛过高,周期过长,成本昂贵。

发明内容
本发明要解决的技术问题是提供一种离线标定数据覆盖与固化方法,它实施简单,开发周期短,开发成本低。为解决上述技术问题,本发明的离线标定数据覆盖与固化方法,包括以下步骤:步骤1.在发动机电控单元的控制器软件中,预先将标定变量定义为全局变量,并统一进行分段存放;发动机电控单元上电完成初始化后,所述标定变量即被自动拷贝至发动机电控单元的RAM(随机存取存储器)区域中;步骤2.对发动机电控单元的控制器软件进行编译,从所得到的地址定义文件中,得到上述RAM区域至发动机电控单元的Flash区域的地址偏移量;步骤3.在完成标定变量标定工作后,根据所述地址偏移量进行搜寻和计算,得到所述标定变量的新数值,再将该新数值下载至Flash的经过编译生成的S19 (发动机电控单元控制器软件程序文件)文件中所对应的位置,然后将该新数值直接写入S19文件中,从而完成数据覆盖与固化。本发明的方法将发动机电控单元的控制器软件中的标定变量定义为全局变量并进行统一区域存放,使得电控单元上电后便自动将所有标定变量拷贝至自身的RAM区域,因此即便没有外扩内存,没有传统的特制通讯接口和特殊的通讯驱动程序,用户也可以进行标定变量的标定工作。在标定工作完成后,由于所有标定变量的存放区域统一,对应的RAM至Flash空间的地址偏移量又可以从编译生成的地址定义文件中得到,因此任何一个标定变量在Flash中存放的实际地址都可以通过计算得到,可以将标定变量的新数值写至原有的S19文件,完成数据的覆盖和固化。该过程不需要外扩内存,也不需要传统的专用标定工具、特制的电控单元通讯接口和驱动程序,普通的PC(个人电脑)即可完成,大大降低了开发和实现的门槛,缩短了开发周期,大幅降低了开发成本。以业内目前常用的标定变量固化技术方案实现手段(德国ETAS公司提供INCA/ETK方案)为例,外扩内存ETK硬件成本在10000人民币/个左右,特制的通讯接口使用的驱动程序开发周期,大致需3个人月,其间还需德国ETAS公司提供有偿技术支持服务。使用本发明的方法,不需要带有特制通讯接口的电控单元,也不需要外扩内存,仅使用普通电控单元便可进行标定工作,且开发周期可缩短至2周,亦无须借助国外工具供应商的技术支持。


下面结合附图与具体实施方式
对本发明作进一步详细的说明:图1是离线标定数据覆盖原理示意图;图2是离线标定数据覆盖与固化方法实现流程示意图。
具体实施例方式参见图1所示,所述在汽车发动机电子控制单元的控制器软件开发过程中,能快速进行离线标定数据覆盖与固化方法,其工作原理是:将发动机电控单元的控制器软件中各标定变量定义为全局变量,对电控单元的控制器软件进行编译得到S19文件并将其下载至电控单元的Flashl中,则各标定变量的初始数值即保存在Flash I中的固定区域:第一初始标定变量数值区3。发动机电控单元上电后,自动将第一初始标定数值区3中的数据拷贝至RAM区2中的第二初始标定变量数值区4,此时用户可通过一般标定工具,对该第二初始标定变量数值区4的标定变量进行标定更改操作,并保存在RAM区2中的第一新标定变量数值区5。由于从编译生成的地址分配信息文件中可以得到第一初始标定变量数值区3至第二初始标定变量数值区4区间的偏移量,因此可以通过计算得到第一新标定变量数值区5区间中的所有变量对应于Flashl区间的地址,于是可以将第二新标定变量数值区5覆盖至原S19文件中的对应地址区域,重新下载至电控单元的Flash I中的第二新标定变量数值区6,即固化为新标定变量数值;发动机电控单元再次上电后,如前所述,自动将第二新标定变量数值区6中的数据拷贝至RAM区2的第三新标定变量数值区7,成为新标定变量数值,为下一轮的标定工作提供基础。结合图2所示,所述离线标定数据覆盖与固化方法具体实施过程如下:步骤101、在电控单元的控制器软件中,将所有标定变量定义为全局变量,保证电控单元上电后会将该标定变量拷贝至RAM区间。步骤102、参考电控单元手册,使用电控单元能够支持的关键字定义,将所有标定变量分段分配在统一的区段。步骤103、编译电控单元的控制器软件,得到S19文件。步骤104、使用通用下载工具,将S19文件烧写至电控单元的Flash中。步骤105、电控单元上电,自动将所有标定数值拷贝至其自身的RAM区间,该状态下,用户可以通过标定工具对该区间内的变量(即标定变量)数值进行更改。步骤106、使用标定工具对标定变量进行标定。步骤107、本轮标定工作结束后,从标定工具中导出最新标定变量数据。步骤108、根据编译过程中得到的地址偏移量信息,改写原S19文件,将最新标定变量数据的数值覆盖写入相应地址的区域。步骤109、判断标定工作是否完成,如果没有完成,则返回步骤104,直至完成所有的标定变量标定与固化;如果完成,则执行步骤110。步骤110:如果标定工作完成,则烧写最终状态S19文件,完成全部的标定变量标定数值固化。以上通过具体实施方式
对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种离线标定数据覆盖与固化方法,其特征在于,包括以下步骤: 步骤1.在发动机电控单元的控制器软件中,预先将标定变量定义为全局变量,并统一进行分段存放;发动机电控单元上电完成初始化后,所述标定变量即被自动拷贝至发动机电控单元的RAM区域中; 步骤2.对发动机电控单元的控制器软件进行编译,从所得到的地址定义文件中,得到所述RAM区域至发动机电控单元的Flash区域的地址偏移量; 步骤3.在完成标定变量的标定工作后,根据所述地址偏移量进行搜寻和计算,得到所述标定变量的新数值,再将该新数值下载至Flash的经过编译生成的发动机电控单元控制器软件程序文件S19中所对应的位置,然后将该新数值直接写入发动机电控单元控制器软件程序文件S19中,从而完成数据覆盖与固化。
2.如权利要求1所述的,其特征在于:步骤一所述的统一进行分段存放的方法是,使用电控单元能够支持的关键字定义,将所有标定变量分段分配在统一的区段。
全文摘要
本发明公开了一种离线标定数据覆盖与固化方法,在发动机电控单元的控制器软件中,预先将标定变量定义为全局变量,并统一进行分段存放;发动机电控单元上电完成初始化后,所述标定变量即被自动拷贝至发动机电控单元的RAM区域中;对发动机电控单元的控制器软件进行编译,从所得到的地址定义文件中,得到所述RAM区域至发动机电控单元的Flash区域的地址偏移量;在完成标定变量的标定工作后,根据地址偏移量进行搜寻和计算,得到所述标定变量的新数值,再下载至Flash的经过编译生成的S19文件中所对应的位置,然后将该新数值直接写入发动机电控单元的S19文件中,从而完成数据覆盖与固化。本发明实施简单,开发周期短,开发成本低。
文档编号G06F9/445GK103176812SQ201110442730
公开日2013年6月26日 申请日期2011年12月26日 优先权日2011年12月26日
发明者黎新懿, 童毅, 韩本忠 申请人:联创汽车电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1