数据标定方法及系统与流程

文档序号:11620494阅读:1321来源:国知局
数据标定方法及系统与流程

本发明单片机技术领域,特别涉及一种数据标定方法及系统。



背景技术:

控制器的随机存取存储空间对程序的运行起着重要作用,目前对于控制器的数据标定主要是基于ccp(cancalibrationprotocol,基于can总线的ecu(electroniccontrolunit,电子控制单元)标定协议)实现,即在对控制器的数据进行标定、测量和刷写前,在控制器内部实现支持ccp协议的程序,使控制器能够接受并发送符合ccp规范的cro(commandreceiveobjective,命令接收对象)与dto(datatransferobject,数据传输对象),并能够对收到的cro命令进行解析并执行,这部分程序即为ccp标定协议下位机软件驱动。其中底层驱动包括can驱动、caninterface驱动、flash驱动,上位机采用inca进行标定、观测及刷写。

其中,对于标定数据的刷写,由于标定数据定义在flash地址区间,只能通过刷写进行更改,所以应该将标定数据的flash地址段映射到对应的ram(randomaccessmemory,随机存取存储器)段,在ram中对标定参数进行操作,得到最优控制后,再将ram中的数据刷写到flash中,以完成标定功能。

在整个标定工作过程中,需要在上位机配置相关的文件。例如包括:a2l文件、s19文件、dll文件和prof文件等。其中,a2l文件采用asap2标准对控制器功能和接口及标定信息进行标准和规范化的描述。freescale系列芯片的程序文件,不同的控制器编译链接产生的文件格式不同,例如hex文件。dll是一种磁盘文件,它由全局数据、服务函数和资源组成,在运行时被系统加载到进程的虚拟空间中,成为调用进程的一部分。dll实现了代码封装,dll的编制与具体的编程语言及编译器无关。prof文件是具体项目中对控制单元进行配置的flash编程工具。在flashprogramming操作时,需要调用prof文件执行刷写流程。prof文件结构包括:.ini文件(prof脚本安装信息)、菜单文件、.cnf文件(配置信息文件)、.prm文件(刷写流程)。在配置信息文件中,通过设置erase_mem_area(擦除存储区域)、dest_mem_area(目标存储区域)、关于source_mem_area(源存储区域)这三个存储区域都设置为标定数据的存储区域。

上述的标定机制例如通过图1所示的示例进行描述。如图1所示,上位机与下位机进行交互,在初始化时,上位机向下位机发送握手指令,下位机对接收到的指令进行逻辑处理,将处理结果反馈到上位机,在通讯交互期间,将全部标定数据映射到ram中,以为后续的标定工作做准备。当握手成功后,添加观测变量,可实现自动上传。进一步地,图2展示了目前的标定机制标定数据地址映射与刷写的过程示意。

由此可知,目前的标定机制中,ram必须要预留标定数据大小的空间,以实现flash中的数据映射到ram中,而当在上位机进行标定时,往往只对几个标定量进行标定,而其余映射的ram空间则为空闲,因此执行效率低。例如,当标定量数据达到64kb时,此时,ram内存空间必须预留64kb的空间,由于控制器的ram内存较小,一般在几十kb,所以这种情况下很难实现正常标定。在后期的项目开发中,标定数据会逐渐增加,因而所需映射的ram也必须扩大,而芯片本身的ram内存空间有限,外扩ram的成本较高。



技术实现要素:

有鉴于此,本发明旨在提出一种数据标定方法,该方法能够最大限度的释放随机存取寄存器的内存空间,提高了随机存取寄存器的使用率,进而提高系统运行效率,同时节约开发成本,且数据的随机存取寄存器映射空间完全按照标定量的大小,因此灵活性更高。

为达到上述目的,本发明的技术方案是这样实现的:

一种数据标定方法,包括以下步骤:上位机(110)与下位机(120)建立连接,并在连接成功后,所述上位机(110)向所述下位机(120)的随机存取存储器发送标定所需的内存大小指令;所述随机存取存储器(130)根据所述标定所需的内存大小指令分配相应的大小的内存空间,其中,所述内存空间小于或等于所述随机存取存储器(130)的存储空间;所述上位机(110)将所需的标定量对应的参数映射至所述内存空间;以及所述下位机(120)将映射至所述内存空间的标定量对应的参数刷写到flash中。

进一步地,在将映射至所述内存空间的标定量对应的参数刷写到flash中之后,还包括:释放所述内存空间。

进一步地,所述标定量对应的参数包括所述标定量的存储地址、大小及序号。

进一步地,其中,所述内存空间的大小为n,所述所需的标定量的大小为m,所述上位机(110)可同时标定的标定量的个数为n/m,其中,n大于m。

进一步地,所述下位机(120)为整车控制器。

相对于现有技术,本发明所述的数据标定方法具有以下优势:

本发明的数据标定方法,在上位机与下位机握手成功后,上位机向随机存取存储器发送标定所需的内存大小指令,随机存取存储器根据该指令分配相应的大小的内存空间,然后上位机将所需的标定量对应的参数映射至内存空间,最后下位机将映射至内存空间的标定量对 应的参数刷写到flash中。,该方法能够最大限度的释放随机存取寄存器的内存空间,提高了随机存取寄存器的使用率,进而提高系统运行效率,同时节约开发成本,且数据的随机存取寄存器映射空间完全按照标定量的大小,因此灵活性更高。

本发明的另一个目的在于提出一种数据标定系统,该系统能够最大限度的释放随机存取寄存器的内存空间,提高了随机存取寄存器的使用率,进而提高系统运行效率,同时节约开发成本,且数据的随机存取寄存器映射空间完全按照标定量的大小,因此灵活性更高。

为达到上述目的,本发明的技术方案是这样实现的:

一种数据标定系统,包括:上位机(110)、下位机(120)、通讯协议(140)和随机存取存储器(130),其中,所述上位机(110)通过所述通讯协议(140)与下位机(120)建立连接,并在连接成功后,所述上位机(110)向所述随机存取存储器(130)发送标定所需的内存大小指令,所述随机存取存储器(130)根据所述标定所需的内存大小指令分配相应的大小的内存空间,所述上位机(110)将所需的标定量对应的参数映射至所述内存空间,所述下位机(120)将映射至所述内存空间的标定量对应的参数刷写到flash中,其中,所述内存空间小于或等于所述随机存取存储器(130)的存储空间。

进一步的,所述随机存取存储器(130)还用于在将映射至所述内存空间的标定量对应的参数刷写到flash中之后,释放所述内存空间。

进一步的,所述标定量对应的参数包括所述标定量的存储地址、大小及序号。

进一步地,所述内存空间的大小为n,所述所需的标定量的大小为m,所述上位机(110)可同时标定的标定量的个数为n/m,其中,n大于m。

进一步地,所述下位机(120)为整车控制器。

所述的数据标定系统与上述的数据标定方法相对于现有技术所具有的优势相同,在此不再赘述。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有控制器标定机制中上位机与下位机的通讯过程示意图;

图2为现有控制器标定机制中数据映射与刷写过程示意图;

图3为本发明实施例所述的数据标定方法的流程图;

图4为本发明实施例的数据标定方法中标定数据映射过程示意图;

图5为本发明实施例的数据标定方法中标定数据刷写过程示意图;以及

图6为本发明实施例的数据标定系统的结构框图。

附图标记说明:

100-数据标定系统、110-上位机、120-下位机、130-随机存取存储器、140-通讯协议。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本发明。

图3是根据本发明一个实施例的数据标定方法的流程图。

如图3所示,根据本发明一个实施例的数据标定方法,包括以下步骤:

步骤s1:上位机与下位机建立连接,并在连接成功后,上位机向下位机的随机存取存储器发送标定所需的内存大小指令。

其中,上位机与下位机建立连接的方式例如为:初始化时,上位机向下位机发送握手命令,下位机接收到握手指令后,通过内部逻辑处理后向上位机发送通讯成功指令,此时,上位机与下位机连接成功。并且在上位机与下位机进行指令交互期间,不对所有标定数据进行映射到ram的操作。

其中,上位机例如为电脑、pc、云服务器等。下位机例如为整车控制器、发动机控制单元ecu等。

步骤s2:随机存取存储器根据标定所需的内存大小指令分配相应的大小的内存空间,其中,内存空间小于或等于随机存取存储器的存储空间

其中,所需的标定量对应的参数包括该标定量的存储地址、大小及序号。

步骤s3:上位机将所需的标定量对应的参数映射至内存空间。即上位机将所需的标定量对应的存储地址、大小及序号映射至随机存取存储器分配的内存空间中。

换言之,步骤s2及步骤s3即标定数据地址动态映射过程。具体地说,结合图4所示,在下位机底层代码中,在ram区域定义了一块映射的内存空间,当在上位机对data1标定量进行标定时,上位机会发送相应标定结果到下位机底层代码,此标定结果包括该data1标定量的address(地址)、size(大小)及序号,底层代码接收到该标定结果时,会将此标定量结果映射到ram中,替代上位机与下位机握手过程中标定数据copy到ram的操作,此时即可对参数进行标定操作。当上位机对data2标定量进行标定时,同理,下位机会接收上位机发送的data2标定量对应的标定结果,并将该标定结果映射到ram中,映射的内存起始地址在data1映射ram内存地址之后,依次类推,对data3、data4、datan的标定结果动态映射过程亦是如此,例如图4所示,此处不再一一赘述。

步骤s4:下位机将映射至内存空间的标定量对应的参数刷写到flash中。

具体地说,在数据标定完成之后,控制器各项参数达到最优控制,即可进行刷写,将动态映射到ram中的标定量对应的存储地址、大小及序号刷写到flash中,具体刷写流程例如图5所示。

进一步地,在本发明的一个实施例中,在将映射至内存空间的标定量对应的参数刷写到flash中之后,还包括:释放该内存空间。

进一步地,在本发明的一个实施例中,假设随机存取存储器分配的内存空间的大小为n,一个所需的标定量的大小为m,则上位机可同时标定的标定量的个数为n/m。举例说明如下:如果映射的ram的分配的存储空间大小为2kb,即在上位机可以实时标定2kb的标定数据,如果标定量的大小为2byte,则上位机可以同时标定2*1024/2=1024个变量。也就是说,本发明完全可以通过较小的ram空间标定较大的参数,而目前的标定技术,则必须按照所有标定数据的大小来定义同等空间的ram,所以,利用本发明实施例的数据标定方法可以灵活地运用控制器的ram空间。

综上,根据本发明实施例的数据标定方法,在上位机与下位机握手成功后,上位机向随机存取存储器发送标定所需的内存大小指令,随机存取存储器根据该指令分配相应的大小的内存空间,然后上位机将所需的标定量对应的参数映射至内存空间,最后下位机将映射至内存空间的标定量对应的参数刷写到flash中。该方法能够最大限度的释放随机存取寄存器的内存空间,提高了随机存取寄存器的使用率,进而提高系统运行效率,同时节约开发成本,且数据的随机存取寄存器映射空间完全按照标定量的大小,因此灵活性更高。

进一步地,如图6所示,本发明的实施例公开了一种数据标定系统100,包括:上位机110、下位机120、随机存取存储器130和通讯协议140。

其中,上位机110通过通讯协议140与下位机120建立连接,并在连接成功后,上位机110向随机存取存储器130发送标定所需的内存大小指令,随机存取存储器130根据标定所需的内存大小指令分配相应的大小的内存空间,上位机110将所需的标定量对应的参数映射至内存空间,下位机120将映射至内存空间的标定量对应的参数刷写到flash中,其中,内存空间小于或等于随机存取存储器130的存储空间。其中,上述所需的标定量对应的参数包括该标定量的存储地址、大小及序号。

其中,上位机110与下位机120建立连接的方式例如为:初始化时,上位机110通过通讯协议140向下位机120发送握手命令,下位机120接收到握手指令后,进行内部逻辑处理后通过通讯协议140向上位机发送通讯成功指令,此时,上位机110与下位机120连接成功。并且在上位机110与下位机120进行指令交互期间,不对所有标定数据进行映射到ram的操作。

其中,上位机110例如为电脑、pc、云服务器等。下位机120例如为整车控制器、发动机控制单元ecu等。

进一步地,在本方面的一个实施例中,随机存取存储器130还用于在将映射至内存空间的标定量对应的参数刷写到flash中之后,释放该内存空间。

进一步地,在本发明的一个实施例中,假设随机存取存储器130分配的内存空间的大小 为n,一个所需的标定量的大小为m,则上位机110可同时标定的标定量的个数为n/m。举例说明如下:如果映射的ram分配的的存储空间大小为2kb,即在上位机110可以实时标定2kb的标定数据,如果标定量的大小为2byte,则上位机110可以同时标定2*1024/2=1024个变量。也就是说,本发明完全可以通过较小的ram空间标定较大的参数,而目前的标定技术,则必须按照所有标定数据的大小来定义同等空间的ram,所以,利用本发明实施例的数据标定方法可以灵活地运用控制器的ram空间。

综上,根据本发明实施例的数据标定系统,在上位机与下位机握手成功后,上位机向随机存取存储器发送标定所需的内存大小指令,随机存取存储器根据该指令分配相应的大小的内存空间,然后上位机将所需的标定量对应的参数映射至内存空间,最后下位机将映射至内存空间的标定量对应的参数刷写到flash中。该系统能够最大限度的释放随机存取寄存器的内存空间,提高了随机存取寄存器的使用率,进而提高系统运行效率,同时节约开发成本,且数据的随机存取寄存器映射空间完全按照标定量的大小,因此灵活性更高。

需要说明的是,本发明实施例的数据标定系统的具体实现方式与本发明实施例的数据标定方法的具体实现方式类似,具体请参见方法部分的描述,为了减少冗余,不做赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1