基于ccp协议的汽车电子控制单元的标定装置及方法

xiaoxiao2020-7-23  7

基于ccp协议的汽车电子控制单元的标定装置及方法【专利摘要】本发明提供一种基于CCP协议的汽车电子控制单元的标定方法,读取第一存储器中的当前S19文件,将中隐性存储的各标定参数映射地址和初始值以显性的方式写入一第二S19文件中;解析所述第二S19文件,获得所述各标定参数所映射地址和初始值,在收到标定命令后,对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值;将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值。实施本发明,可以减少汽车ECU标定系统的复杂性,并降低生产成本及人力成本。【专利说明】基于CCP协议的汽车电子控制单元的标定装置及方法【
技术领域
】[0001]本发明涉及汽车电子控制【
技术领域
】,尤其涉及一种基于CCP协议(CANCalibrationProtocol,CAN总线标定协议)的汽车电子控制单元的标定装置及方法。【
背景技术
】[0002]在汽车设计及制造过程中,常常需要进行标定的步骤。此处所说的标定是指根据汽车整车的各项性能要求:如动力性、经济性及排放等,以达到控制上和经济上最优为目标,对汽车电子控制单元(ElectronicControlUnit,EQJ)的运行及参数进行调整、优化的过程。CAN总线标定协议(CCP)是基于CAN标定协议,因其提供了标准化的接口,提高了标定系统的通用性和实用性。[0003]现阶段基于CCP的标定分为在线标定和离线标定两种,它们的区别在于标定的过程中是否与正在运行的E⑶相连,而在线标定因能根据系统的实时运行状态进行精确调整,其标定结果更为准确而被广泛使用。[0004]在现有【
技术领域
】中,一般是将标定参数在闪存FLASH和随机存储器RAM中各存储一份,在两者形成一个地址映射关系。当标定程序正常运行时,其从FLASH中读取标定参数,进行在线标定时,标定程序从对应的RAM中的相应位置处读取标定量。因为RAM中的数据便于实时修改,故RAM中的标定参数可用标定装置(如,匹配标定工具)通过CAN总线的通信进行修改,从而实现标定过程。具体的实现方法有如下两种:其一、通过软件实现地址映射:在编写标定程序编写时,采用指针访问标定参数,凡是涉及到标定量调用的,通过额外的代码处理,设定指针分别指向FLASH和RAM中的标定参数,达到实现标定时可在FLASH和RAM标定参数之间自由切换的目的。但是,发明人在实施本发明时发现,现有的这种方法的缺点比较明显,需要在编程时就确定标定参数,且需增加相应的代码处理,工作量特别大。特别是,如果代码是由模型自动生成的(基于模型自动生成代码的方法已经十分普及),则无法通过修改代码以来适应CCP的需求。[0005]其二、通过使用支持自动进行地址映射的单片机:在这种标定装置中,当标定参数从FLASH拷贝至RAM后,并开始标定时,单片机自动将取址地址由FLASH切换至RAM,这样就可以无需编写额外的代码处理就能实现标定过程。这种方法优点是编程量较小且适用于基于模型自动生成的代码,但是本发明人发现,这种方法同样存在不足之处:其依赖于单片机的支持,但现阶段只有少数单片机可以实现这种扩展功能;另外,这种实现方式成本高。【
发明内容】[0006]本发明所要解决的技术问题在于,提供一种基于CCP协议的汽车电子控制单元的标定装置及方法,其易于实现,且成本低。[0007]为了解决上述技术问题,本发明实施例的一方面提供一种基于CCP协议的汽车电子控制单元的标定方法,包括如下步骤:读取第一存储器中的当前S19文件,获得所述当前S19文件中隐性存储的各标定参数映射地址和初始值,将所述各标定参数映射地址和初始值以显性的方式写入一第二S19文件中,其中所述映射地址为一第二存储器中的存储地址;解析所述第二S19文件,获得所述各标定参数所映射地址和初始值,将所述各标定参数的初始值存入所述第二存储器中相应的存储地址中,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值;将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值。[0008]其中,所述第一存储器为快闪存储器FLASH,所述第二存储器为随机存储器RAM。[0009]其中,进一步包括:预先为各标定参数分配所对应的映射地址以及初始值。[0010]其中,所述读取第一存储器中的当前S19文件,获得所述当前S19文件中隐性存储的各标定参数对应的映射地址和初始值,将所述各标定参数对应的映射地址和初始值以显性的方式写入一第二S19文件的步骤具体为:从所述当前S19文件的"C0py_table"字段中获得所述各标定参数映射的映射地址和初始值,并以显性的方式写入所述第二S19文件的末端。[0011]其中,所述将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值的步骤具体为:通过编写脚本,将所述经过在线标定处理的各标定参数值回写进所述当前S19文件的"copy_table"字段中,以替换对应的各标定参数的初始值。[0012]相应地,本发明的另一方面,提供一种基于CCP协议的汽车电子控制单元的标定装置,包括:S19文件编译单元,用于读取第一存储器中的当前S19文件,获得所述当前IS19文件中隐性存储的各标定参数对应的映射地址和初始值,将所述各标定参数对应的映射地址和初始值以显性的方式写入一第二S19文件中,其中所述映射地址为一第二存储器中的存储地址;匹配标定单元,用于解析所述第二S19文件,获得所述各标定参数所对应的映射地址和初始值,将所述各标定参数的初始值存入所述第二存储器中所对应的存储地址中,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值;S19文件更新单元,将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值。[0013]其中,所述第一存储器为快闪存储器FLASH,所述第二存储器为随机存储器ram。[0014]其中,进一步包括:设置单元,用于预先为各标定参数分配所对应的映射地址,以及初始值。[0015]其中,所述S19文件编译单元从所述当前S19文件的"COpy_table"字段中获得所述各标定参数的映射地址和初始值,并以显性的方式写入所述第二S19文件的末端。[0016]其中,所述匹配标定单元进一步包括:解析子单元,用于解析所述第二S19文件,从所述第二S19文件的末端获得所述各标定参数所对应的映射地址和初始值;读写子单元,用于将所述解析子单元所获得的所述各标定参数的初始值存入所述第二存储器中所对应的存储地址中;标定子单元,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值。[0017]其中,进一步包括:通信单元,其与汽车电子控制单元通过CAN总线相连,用于与汽车电子控制单元之间通过CCP协议进行通信。[0018]实施本发明,具有如下的有益效果:本发明实施例中标定参数的存储地址及初始值以S19文件(当前S19文件)的形式存储于快闪存储器中,在进行标定时,可以通过实时修改随机存储器中的标定参数的初始值,并可以根据结果更新当前S19文件中的标定参数值,省去了现有技术中繁琐地址映射的步骤,仅通过编写make文件和脚本,即可以完成标定过程并实现保存,且不会出现数据在掉电时丢失的情形;本发明在编程只需很少的编程量,且不依赖于单片机,大大减少了开发和标定费用,从而降低了成本。【专利附图】【附图说明】[0019]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0020]图1是本发明提供的一种基于CCP协议的汽车电子控制单元的标定装置的结构示意图;图2是是本发明提供的一种基于CCP协议的汽车电子控制单元的标定方法的主流程示意图。【具体实施方式】[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0022]如图1所示,示出了本发明一个实施中的一种基于CCP协议的汽车电子控制单元的标定装置。从图中可以看出,该标定装置1包括:第一存储器I2,其为非易失性存储器,在本实施例中为快闪存储器(FLASH),其存储有一S19文件,下称为当前S19文件,在该当前S19文件中隐性存储有各标定参数的映射地址和初始值,其中,映射地址为一第二存储器中的存储地址,该第二存储器15为随机存储器RAM,在一个实施例中,各标定参数的映射地址和初始值是存储在当前S19文件的"copy_table"字段中,由于在现有技术中,S19文件的"coPy_table"字段默认存储的是FLASH的存储地址,故现有的匹配标定工具无法准确识别出当前S19文件中的映射地址为随机存储器(RAM)的存储地址,故需要对当前的S19文件进行相应的处理;S19文件编译单元13,用于读取第一存储器12中的当前S19文件,获得当前S19文件中隐性存储的各标定参数对应的映射地址和初始值,将各标定参数的映射地址和初始值以显性的方式写入一第二S19文件中,具体地,该S19文件编译单元从当前S19文件的"copy_table"字段中获得各标定参数的映射地址和初始值,并写入至第二S19文件的末端;匹配标定单元14,用于解析S19文件编译单元13所生成的第二S19文件,获得各标定参数的映射和初始值,将各标定参数的初始值存入第二存储器15中所对应的存储地址(即映射地址)中,并在收到标定命令后,通过对第二存储器15进行操作以对待标定汽车电子控制单元2进行在线标定处理,获得经过在线标定处理的标定参数值,具体地,匹配标定单元14通过操作(如读取、修改等)随机存储器RAM中各标定参数的初始值,以对与该匹配标定单元14相连的标定待标定汽车电子控制单元2的各对应参数进行标定(读取或修改等);S19文件更新单元18,将第一存储器12中的当前S19文件中的各标定参数的初始值替换为匹配标定单元14所获得的经过在线标定处理的各标定参数值,具体地,将经过在线标定处理的各标定参数值替换当前S19文件"C〇py_table"字段中相应的各标定参数的初始值,对该当前S19文件进行更新;通信单元16,其与待标定的汽车电子控制单元2通过CAN总线相连,用于与待标定的汽车电子控制单元2之间通过CCP协议进行通信。[0023]该标定装置1进一步包括:设置单元10,用于预先为各标定参数分配映射地址以及初始值。[0024]具体地,该匹配标定单元14进一步包括:解析子单元140,用于解析S19文件编译单元13所生成的第二S19文件,从该第二S19文件的末端获得各标定参数所对应的映射地址和初始值;读写子单元142,用于将解析子单元140所获得的各标定参数的初始值存入第二存储器15中所对应的存储地址(即相应的映射地址)中;标定子单元144,在收到标定命令后,通过对第二存储器15进行操作以对待标定的汽车电子控制单元2进行在线标定处理(例如,读取第二存储器15某一或某些标定参数的初始值对待标定的汽车电子控制单元2进行标定,或者根据需要第二存储器15某一或某些标定参数的初始值对待标定的汽车电子控制单元2相应标定参数进行标定,等等),获得经过在线标定处理的标定参数值。[0025]在标定装置1下次上电启动时,即会在第一存储器12中的当前S19文件的的"c〇Py_table"的字段中读取到经上一次在线标定处理后的各参数的标定参数值,以作为本次标定的标定参数初始值,从而开始本次在线标定过程。[0026]可以理解的是,如文所提到的S19文件是通过FreescaleCodeWarrior编译器生成的后缀名为".S19"的程序文件,其可以存储数据及数据地址,更多的细节可以参考现有技术中对S19文件的介绍。[0027]如图2所示,示出了本发明的一个实施例中一种基于CCP协议的汽车电子控制单元的标定方法的主流程示意图。从图中可以看出,本发明的标定方法主要包括如下的步骤:步骤S20,将标定装置与待标定的汽车电子控制单元进行通过CAN总线进行连接,对该标定装置上电启动;此时,读取第一存储器FLASH中存储的当前S19文件,从该当前S19文件的"copy_table"字段中获得隐性存储的各标定参数对应的映射地址和初始值,将各标定参数对应的映射地址和初始值以显性的方式写入一第二S19文件的末端,其中,映射地址为一第二存储器中的存储地址,该第二存储器15为随机存储器RAM;该第二S19文件为一临时生成的S19文件,其在标定完成后会被丢弃;具体地,所述生成第二S19文件的过程可以通过编写一make文件来自动实现。[0028]步骤S22,解析该第二S19文件,获得该第二S19文件末端的各标定参数所对应的映射地址和初始值,将各标定参数的初始值存入所述第二存储器中所对应的存储地址(即映射地址)中,在收到标定命令后,通过对第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值,此处所说对第二存储器进行操作包括对第二存储器中的某一或某些标定参数的初始值进行修改,以修改待标定的汽车电子控制单元中相应的标定参数值。[0029]步骤S24,将上一步获得的经过在线标定处理的各标定参数值,替换第一存储器中各标定参数的初始值,即更新第一存储器中的当前S19文件,具体地,通过编写脚本,将经过在线标定处理的各标定参数值回写进所述当前S19文件的"copy_table"字段中,以替换对应的各标定参数的初始值。[0030]可以理解的是,在软件的编程时,需预先为各标定参数分配所对应的映射地址以及初始值,而在后面的在线标定过程中无需进行该一步骤。[0031]值得说明的是,现有的匹配标定工具只可以识别S19文件中显性存储的数据,而第一存储器(FLASH)中当前S19文件中各标定参数对应的映射地址和初始值是隐性存储,因此需要把隐性存储的这些数据以显性存储的方式添加至第二S19文件中,标定工具就可以识别第二S19文件中显性存储的数据。该操作可以通过编写脚本使其自动处理,如,在当前S19文件中的字段为"c〇py_table"中默认保存FLASH地址的区域,将其复用为保存各标定参数所对应的映射地址(RAM地址)以及初始值等;通过对当前S19文件的"C〇Py_table''的解析,获取各标定参数,并以显性存储的方式添加进第二S19文件的末端,这样形成的第二S19文件将适用于匹配标定工具,使匹配标定工具通过第二S19文件能获取这些显性存储的各标定参数对应的映射地址(RAM地址)以及初始值,从而利用这些参数以及对RAM进行操作实现标定过程。[0032]在本发明中,并没有直接采用在当前S19文件的末端显性存储各标定参数对应的映射地址和初始值,是基于如下考虑:因为当前S19文件是一种已经经过验证的编译程序,其除了用来进行标定外还有其他的功能(例如直接让ECU运行等),如果在当前S19文件末端显性存储各标定参数对应的映射地址和初始值,会改变当前S19文件的结构,其首先需要增加一两次编译过程,另外会提高程序出错的风险。而利用一个临时性的第二S19文件显性存储各标定参数对应的映射地址和初始值,并在标定后丢弃该第二S19文件可以降低该风险。[0033]由于经过在线标定处理的各标定参数值被回写入当前S19文件中,而当前S19文件是存储在非易失性的快闪存储器(第一存储器)中,即使掉电上述参数值也不会丢失,在标定装置下次上电启动时,即会在第一存储器中的当前S19文件中的"copy_table"的字段中读取到经上一次在线标定处理后的各参数的标定参数值作为本次标定过程的标定参数初始值,从而开始本次在线标定过程。[0034]实施本发明,具有如下有益效果:本发明的实施例公开了一种在汽车电子控制单元上实现CCP在线标定功能的方法及装置,其可以很简单地对量产的汽车电子控制单元进行在线标定,大大降低了生产成本及人力成本;本发明实施例中标定参数的存储地址及初始值以S19文件(当前S19文件)的形式存储于快闪存储器中,在进行标定时,可以通过实时修改随机存储器中的标定参数的初始值,并可以根据结果更新当前S19文件中的标定参数值,省去了现有技术中繁琐地址映射的步骤,仅通过编写make文件和脚本,即可以完成标定过程并实现保存,且不会出现数据在掉电时丢失的情形;本发明在编程只需很少的编程量,且不依赖于单片机,大大减少了开发和标定费用,从而降低了成本。[0035]可以理解的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。[0036]以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。【权利要求】1.一种基于CCP协议的汽车电子控制单元的标定方法,其特征在于,包括如下步骤:读取第一存储器中的当前S19文件,获得所述当前S19文件中隐性存储的各标定参数映射地址和初始值,将所述各标定参数映射地址和初始值以显性的方式写入一第二S19文件中,其中所述映射地址为一第二存储器中的存储地址;解析所述第二S19文件,获得所述各标定参数所映射地址和初始值,将所述各标定参数的初始值存入所述第二存储器中相应的存储地址中,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值;将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值。2.如权利要求1所述的一种基于CCP协议的汽车电子控制单元的标定方法,其特征在于,所述第一存储器为快闪存储器FLASH,所述第二存储器为随机存储器RAM。3.如权利要求成1所述的一种基于CCP协议的汽车电子控制单元的标定方法,其特征在于,进一步包括:预先为各标定参数分配所对应的映射地址以及初始值。4.如权利要求1所述的一种基于CCP协议的汽车电子控制单元的标定方法,其特征在于,所述读取第一存储器中的当前S19文件,获得所述当前S19文件中隐性存储的各标定参数对应的映射地址和初始值,将所述各标定参数对应的映射地址和初始值以显性的方式写入一第二S19文件的步骤具体为:从所述当前S19文件的"C〇Py_table"字段中获得所述各标定参数映射的映射地址和初始值,并以显性的方式写入所述第二S19文件的末端。5.如权利要求4所述的一种基于CCP协议的汽车电子控制单元的标定方法,其特征在于,所述将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值的步骤具体为:通过编写脚本,将所述经过在线标定处理的各标定参数值回写进所述当前S19文件的"copy_table"字段中,以替换对应的各标定参数的初始值。6.-种基于CCP协议的汽车电子控制单元的标定装置,其特征在于,包括:S19文件编译单元,用于读取第一存储器中的当前S19文件,获得所述当前S19文件中隐性存储的各标定参数对应的映射地址和初始值,将所述各标定参数对应的映射地址和初始值以显性的方式写入一第二S19文件中,其中所述映射地址为一第二存储器中的存储地址;匹配标定单元,用于解析所述第二S19文件,获得所述各标定参数所对应的映射地址和初始值,将所述各标定参数的初始值存入所述第二存储器中所对应的存储地址中,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值;S19文件更新单元,将所述第一存储器中的当前S19文件中的各标定参数的初始值替换为所述经过在线标定处理的各标定参数值。7.如权利要求6所述的一种基于CCP协议的汽车电子控制单元的标定装置,其特征在于,所述第一存储器为快闪存储器FLASH,所述第二存储器为随机存储器RAM。8.如权利要求7所述的一种基于CCP协议的汽车电子控制单元的标定装置,其特征在于,进一步包括:设置单元,用于预先为各标定参数分配所对应的映射地址,以及初始值。9.如权利要求8所述的一种基于CCp协议的汽车电子控制单元的标定装置,其特征在于,所述S19文件编译单元从所述当前S19文件的"COpy_table"字段中获得所述各标定参数的映射地址和初始值,并以显性的方式写入所述第二S19文件的末端。10.如权利要求9所述的一种基于CCP协议的汽车电子控制单元的标定装置,其特征在于,所述匹配标定单元进一步包括:解析子单元,用于解析所述第二S19文件,从所述第二S19文件的末端获得所述各标定参数所对应的映射地址和初始值;读写子单元,用于将所述解析子单元所获得的所述各标定参数的初始值存入所述第二存储器中所对应的存储地址中;标定子单元,在收到标定命令后,通过对所述第二存储器进行操作以对待标定的汽车电子控制单元进行在线标定处理,获得经过在线标定处理的标定参数值。11.如权利要求6-10任一项所述的基于CCP协议的汽车电子控制单元的标定装置,其特征在于,进一步包括:通信单元,其与汽车电子控制单元通过CAN总线相连,用于与汽车电子控制单元之间通过CCP协议进行通信。【文档编号】G05B23/02GK104216390SQ201310208620【公开日】2014年12月17日申请日期:2013年5月30日优先权日:2013年5月30日【发明者】马逸行,何涛,覃兴琨,夏珩,宫成申请人:广州汽车集团股份有限公司

最新回复(0)