一种兼容16BIT的处理器的CCP标定系统转让专利

申请号 : CN201710269750.2

文献号 : CN106896803B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓文宋波钟伟贾雷徐浩

申请人 : 成都雅骏新能源汽车科技股份有限公司

摘要 :

本发明提供一种兼容16BIT的处理器的CCP标定系统,该系统包括标准的CCP标定协议和改进的CCP标定协议,当针对最小存储单元为8BIT的处理器进行标定时,通过标定类型开关切换为标准的CCP标定协议,当针对最小存储单元为16BIT的处理器进行标定时,通过标定类型开关切换为改进的CCP标定协议。本发明既能匹配最小存储单元为8BIT的处理器,也能匹配最小存储单元为16BIT的处理器;本发明还能进行离线标定;本发明能匹配多种CAN卡硬件。

权利要求 :

1.一种兼容16BIT的处理器的CCP标定系统,包括标准的CCP标定协议和改进的CCP标定协议,当针对最小存储单元为8BIT的处理器进行标定时,通过标定类型开关切换为标准的CCP标定协议,当针对最小存储单元为16BIT的处理器进行标定时,通过标定类型开关切换为改进的CCP标定协议,其特征在于,所述改进的CCP标定协议是在标准的CCP标定协议上通过以下方法得到:将标准的CCP标定协议里的数据部分从字节合并为字,同时将数据的长度变为原有长度的一半;

更改对参数读写寻址有影响的相关命令,把标准的CCP标定协议里以8BIT寻址操作的地方更改为以16BIT寻址操作;

改进的CCP标定协议与标准的CCP标定协议之间各个命令代号不变,只更改相关的数据大小,以及驱动程序对参数的字节或字的处理。

2.根据权利要求1所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,具体的更改包括:对标准的CCP标定协议里的数据下载命令进行更改;对标准的CCP标定协议里的6字节数据下载命令进行更改;对标准的CCP标定协议里的数据上传命令进行更改;对标准的CCP标定协议里的数据短上传命令进行更改;对标准的CCP标定协议里的编程命令进行更改;对标准的CCP标定协议里的6字节编程命令进行更改。

3.根据权利要求1所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,在对标准的CCP标定协议里的DAQ模式下,限制一个ODT列表最多包含3个元素。

4.根据权利要求1所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,该系统能对被控设备的控制器进行离线标定和在线标定。

5.根据权利要求4所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,离线标定的具体方法为:上位机通过A2L描述文件解析出存放被控设备的本体参数的数组空间存放的地址;

上位机解析Hex程序文件;

上位机根据解析出的数组空间存放的地址找到Hex程序文件中存放这个数组空间的数据段,再通过离线标定将要写入的匹配好的对应被控设备的本体参数写入这个连续的数组空间;

离线标定完成后,上位机根据Hex文件的生成格式生成新的Hex程序文件;

上位机连接下位机,通过程序烧写模块将新的Hex程序文件烧写到下位机。

6.根据权利要求1所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,该系统在进行上位机和处理器连接的时候,通过交换站标识符命令和获取CCP协议版本命令来校验上位机和处理器的CCP驱动是否一致。

7.根据权利要求1所述的一种兼容16BIT的处理器的CCP标定系统,其特征在于,该系统通过申请密钥命令来获取标定的权限,防止未经允许的人员对处理器进行标定操作。

说明书 :

一种兼容16BIT的处理器的CCP标定系统

技术领域

[0001] 本发明涉及车辆ECU标定领域,尤其是涉及一种兼容16BIT的处理器的CCP标定系统。

背景技术

[0002] 在汽车电子高速发展下,在开发车辆ECU(电子控制单元)过程中,由于ECU涉及的参数太多和参数在不同环境的不确定性,所以对ECU的参数标定成了一个必不可少的环节。目前汽车上的总线分布基本都是基于CAN总线的,CCP是一种基于CAN总线的ECU标定协议,该协议已经在汽车电子领域广泛应用。实现该协议需要在下位机实现CCP驱动程序,还需要在上位机实现CCP协议,作为标定工具。
[0003] 在电动汽车的发展下,作为电机的驱动单元电机控制器,目前采用最多的是TI C2000系列的DSP作为处理器;TI C2000系列的处理器的最小存储单元为16BIT,这与传统汽车上采用最小存储单元为8BIT的处理器的ECU是不一样的。而目前的主流标定工具只适用于最小存储单元为8BIT的处理器,下位机采用的标准的CCP协议驱动程序也是基于最小存储单元为8BIT的处理器开发的,如果将现有标准协议移植到最小存储单元为16BIT的处理器(如TI C2000系列的处理器),并强行采用此类标定工具在最小存储单元为16BIT的处理器上进行CCP标定,那么在标定多字节参数或者连续的数组参数时,由于标准的CCP协议里在操作地址自增时是以8BIT为最小单元自增的,那么会产生实际标定的参数地址与期望的参数地址不对,从而造成程序里的参数意外被修改,从而造成意想不到的程序错误等问题。
[0004] 目前的车用电机控制器厂商的电机控制器多数采用的是TI的C2000系列处理器,但其并没有采用CCP协议的方式对电机控制器里的TI C2000处理器进行标定测量,而是采用自定义的协议来修改和观察电机控制器的参数。自定义的协议驱动程序本身可能会比较繁琐,而且当下位机的参数有增加或者改变时,又必须需要修改上位机的通信协议才能进行正确的参数标定和测量。另外每个厂家的协议都不一样,也不符合汽车行业的行业规范性。
[0005] 当控制器需要针对不同的被控对象而修改控制器软件参数时,需要将该被控对象对应的本体参数修改匹配后重新写入控制器,例如:当电机控制器匹配不同的电机时,需要将电机的本体参数(如功率、扭矩、转速等)信息写入电机控制器。目前的做法大致有两种,一种是通过上位机通信将电机本体参数一个一个的写入电机控制器的存储器。该方法存在操作繁琐,耗时长、重复劳动易出错的缺点;另一种是在源程序里修改参数的初始化值,再编译生成程序文件,再通过烧写软件烧写到控制器。该方法存在操作繁琐,耗时长、程序版本过多,不易管理等缺点。

发明内容

[0006] 本发明的目的在于:针对现有技术存在的问题,提供一种兼容16BIT的处理器的CCP标定系统,解决现有主流标定工具无法对最小存储单元为16BIT的处理器进行标定的问题。
[0007] 本发明的发明目的通过以下技术方案来实现:
[0008] 一种兼容16BIT的处理器的CCP标定系统,其特征在于,该系统包括标准的CCP标定协议和改进的CCP标定协议,当针对最小存储单元为8BIT的处理器进行标定时,通过标定类型开关切换为标准的CCP标定协议,当针对最小存储单元为16BIT的处理器进行标定时,通过标定类型开关切换为改进的CCP标定协议。
[0009] 作为进一步的技术方案,所述改进的CCP标定协议是在标准的CCP标定协议上通过以下方法得到:将标准的CCP标定协议里的数据部分从字节合并为字,同时将数据的长度变为原有长度的一半;更改对参数读写寻址有影响的相关命令,把标准的CCP标定协议里以8BIT寻址操作的地方更改为以16BIT寻址操作;改进的CCP标定协议与标准的CCP标定协议之间各个命令代号不变,只更改相关的数据大小,以及驱动程序对参数的字节或字的处理。
[0010] 作为进一步的技术方案,具体的更改包括:对标准的CCP标定协议里的数据下载命令进行更改;对标准的CCP标定协议里的6字节数据下载命令进行更改;对标准的CCP标定协议里的数据上传命令进行更改;对标准的CCP标定协议里的数据短上传命令进行更改;对标准的CCP标定协议里的编程命令进行更改;对标准的CCP标定协议里的6字节编程命令进行更改。
[0011] 作为进一步的技术方案,在对标准的CCP标定协议里的DAQ模式下,限制一个ODT列表最多包含3个元素。
[0012] 作为进一步的技术方案,该系统能对被控设备的控制器进行离线标定和在线标定。
[0013] 作为进一步的技术方案,离线标定的具体方法为:上位机通过A2L描述文件解析出存放被控设备的本体参数的数组空间存放的地址;上位机解析Hex程序文件;上位机根据解析出的数组空间存放的地址找到Hex程序文件中存放这个数组空间的数据段,再通过离线标定将要写入的匹配好的对应被控设备的本体参数写入这个连续的数组空间;离线标定完成后,上位机根据Hex文件的生成格式生成新的Hex程序文件;上位机连接下位机,通过程序烧写模块将新的Hex程序文件烧写到下位机。
[0014] 作为进一步的技术方案,该系统在进行上位机和处理器连接的时候,通过交换站标识符命令和获取CCP协议版本命令来校验上位机和处理器的CCP驱动是否一致。
[0015] 作为进一步的技术方案,该系统通过申请密钥命令来获取标定的权限,防止未经允许的人员对处理器进行标定操作。
[0016] 与现有技术相比,本发明具有以下优点:
[0017] 1、本发明既包含针对最小存储单元为16BIT的处理器(采用改进的CCP协议)的标定测量应用,又包含针对最小存储单元为8BIT的处理器(采用标准的CCP协议)的标定测量应用,用户可根据实际情况进行选择切换;
[0018] 2、本发明中的上位机标定工具可以对Hex程序文件进行离线标定,并可将Hex程序文件烧写到控制器,通过本发明的方法对下位机处理器的程序初始化参数进行修改,具有方便、快捷、不易出错,不用修改源和不用编译代码等优点;
[0019] 3.本发明中的上位机标定工具不约束于CAN卡硬件(主流厂商的标定工具价格贵,而且必须要配指定的CAN卡),当需要使用不同的CAN卡,只需自己添加对应的驱动程序就行,成本很低。

附图说明

[0020] 图1为本发明的系统框图;
[0021] 图2为本发明的系统功能框图。

具体实施方式

[0022] 下面结合附图和具体实施例对本发明进行详细说明。
[0023] 实施例
[0024] 本发明提供一种兼容16BIT的处理器的CCP标定系统,如图1和图2所示,该系统包括标准的CCP标定协议和改进的CCP标定协议,当针对最小存储单元为8BIT的处理器进行标定时,通过标定类型开关切换为标准的CCP标定协议,当针对最小存储单元为16BIT的处理器进行标定时,通过标定类型开关切换为改进的CCP标定协议,用户可根据实际情况进行选择切换。上位机与处理器(即下位机)的两种协议模式需要相互对应。
[0025] 改进的CCP标定协议是在标准的CCP标定协议上通过以下方法得到:
[0026] 1、当下位机采用的处理器为最小存储单元为16BIT的处理器(如TI C2000系列处理器)时,存储器地址每加一相当于最小存储单元为8BIT的处理器的存储器地址加2。由于每帧CAN报文数据由8个字节组成,所以需要将标准的CCP标定协议里的数据部分从字节合并为字,同时数据的长度变为原有长度的一半。
[0027] 2、主要更改对参数读写寻址有影响的相关命令,把标准的CCP标定协议里以8BIT寻址操作的地方更改为以16BIT寻址操作。
[0028] 3、标准的CCP标定协议的各个命令的代号不变,只更改相关的数据大小,以及驱动程序对参数的字节或字的处理。
[0029] 具体的更改包括:
[0030] (1)对标准的CCP标定协议里的数据下载命令(DNLOAD命令)进行更改。
[0031] 标准的CCP标定协议的DNLOAD命令的CRO数据场格式如下:
[0032]位置 类型 描述
0 字节 命令代码=0x03(DNLOAD)
1 字节 命令序号=CTR
2 字节 下载数据大小(字节个数)
3~7 字节 下载数据(最多5个字节)
[0033] 标准的CCP标定协议的DNLOAD命令的DTO数据场格式如下:
[0034]位置 类型 描述
0 字节 Packet ID:0xFF
1 字节 命令返回代码=ERR
2 字节 命令序号=CTR
3 字节 MTA0偏移量(自增后)
4~7 双字 MTA0地址(自增后)
[0035] 更改后的DNLOAD命令的CRO数据场格式如下:
[0036]位置 类型 描述
0 字节 命令代码=0x03(DNLOAD)
1 字节 命令序号=CTR
2 字节 下载数据大小(字个数,最多2个字)
3~6 字 下载数据(最多2个字)
7 字节 无效
[0037] 更改后的DNLOAD命令的DTO数据场格式与标准的CCP标定协议的DNLOAD命令的DTO数据场格式相同。
[0038] 另外下位机CCP驱动程序对下载的字个数进行判断,并对下载的数据从字节到字进行转换。
[0039] (2)对标准的CCP标定协议里的6字节数据下载命令(DNLOAD6命令)进行更改。
[0040] 标准的CCP标定协议的DNLOAD6命令一次性可以下载6个字节,更改后一次性下载3个字,标识符更改为DNLOAD3。同理,下位机CCP驱动程序对下载的字个数进行判断,并对下载的数据从字节到字进行转换。
[0041] (3)对标准的CCP标定协议里的数据上传命令(UPLOAD命令)进行更改。
[0042] 同上DNLOAD命令,将更改后的UPLOAD命令的CRO数据场中位置2的下载数据大小(字个数)限制到最多2个字。
[0043] 更改后的UPLOAD命令的DTO数据场格式的位置3~6表示上传的数据,最大为2个字,位置7为无效。
[0044] (4)对标准的CCP标定协议里的数据短上传命令(SHORT_UP命令)进行更改。
[0045] 更改方式同UPLOAD命令。
[0046] (5)对标准的CCP标定协议里的编程命令(PROGRAM命令)进行更改。
[0047] 更改方式同DNLOAD命令。
[0048] (6)对标准的CCP标定协议里的6字节编程命令(PROGRAM6命令)进行更改。
[0049] 更改方式同DNLOAD6命令。
[0050] 标准的CCP标定协议的PROGRAM6命令一次性可以下载编程6个字节,更改后一次性下载编程3个字,标识符更改为PROGRAM3。同理,下位机CCP驱动程序对下载的字个数进行判断,并对下载的数据从字节到字进行转换。
[0051] (7)在CCP标定的DAQ模式下,限制一个ODT列表最多包含3个元素。
[0052] 标定时,本发明的上位机通过加载A2L描述文件,解析出参数的变量名称和地址,对被控设备的控制器进行在线标定和测量;通过加载Hex程序文件对Hex文件进行离线标定。通常在对被控设备的控制器(如电机)的初始化参数(一般数据类型是一个固定长度的数组)进行批量修改时,可直接对Hex文件进行离线标定,离线标定完成后再将程序文件通过烧写软件烧写到控制器。对Hex程序文件的离线标定具体方法如下:
[0053] 当被控设备的控制器匹配不同的被控设备时(如电机控制器匹配不同的电机时),需要在控制器初始化被控设备(如电机)的本体参数,这些参数被存到程序的一个连续的数组空间里。上位机通过A2L描述文件解析出这个数组空间存放的地址,上位机解析Hex程序文件,上位机根据解析出的数组空间存放的地址找到Hex程序文件中存放这个数组空间的数据段,上位机再通过离线标定将要写入的匹配好的对应被控设备的本体参数(如电机的本体参数)写入这个连续的数组空间,离线标定完成后,上位机根据Hex文件的生成格式生成新的Hex程序文件。然后上位机再连接下位机,通过程序烧写模块将新的Hex程序文件烧写到下位机。这样就实现了不更改不编译源代码的情况下,方便的更新下位机的程序。
[0054] 另外,上位机的标定模式必须与下位机的CCP驱动程序一一对应,也就是说当上位机选择目标处理器为最小存储单元为16BIT的处理器时,下位机的处理器必须是最小存储单元为16BIT的处理器,同时下位机的CCP驱动程序为最小存储单元为16BIT的模式;当上位机选择目标处理器为最小存储单元为8BIT的处理器时,下位机的处理器必须是最小存储单元为8BIT的处理器,同时下位机的CCP驱动程序为最小存储单元为8BIT的模式。
[0055] 离线标定所用的Hex程序文件必须与A2L描述文件来自同一个下位机程序,这样才能保证所写入的数据格式正确并存放在正确的地址。
[0056] 为了保证上位机的标定模式与下位机的CCP驱动程序一一对应,在进行上位机和下位机连接的时候,通过交换站标识符(EXCHANGE_ID)命令和获取CCP协议版本(GET_CCP_VERSION)命令来校验上位机下位机的CCP驱动是否一致。另外还可以通过申请密钥(GET_SEED)命令来获取标定的权限,防止未经允许的人员对控制器进行标定操作等。
[0057] 本发明通过对标准CCP协议中的部分命令进行修改,让协议的地址寻址按最小存储单元为16BIT寻址,并对某些指令的操作参数长度进行限制等,并在上位机以同样的方式更改协议的部分指令,这样上位机通过导入下位机的A2L描述文件对下位机的参数变量和地址进行解析,从而能对进最小存储单元为16BIT的处理器行标定和测量。另外,在满足对采用最小存储单元为16BIT处理器的改进的CCP协议外还需保留标准的CCP协议程序,以此兼容最小存储单元为16BIT的处理器和最小存储单元为8BIT的处理器的标定。
[0058] 通过本发明,当被控设备的控制器(如电机控制器)下位机程序里的参数在更新时,我们只需要更新A2L描述文件,然后用上位机导入描述文件即可进行标定和测量。这样就避免了再次修改上位机程序,这种方式简单省时,出错率低。另外上位机里的CCP协议驱动程序保留了标准的CCP协议,这样在对最小存储单元为8BIT的处理器进行标定时,只需切换一下模式就能进行标定。通过CCP协议进行标定符合汽车行业的规范。
[0059] 本发明中的上位机标定工具重点对标定和测量功能进行设计,完全满足控制器的标定和测量功能,本发明中的标定工具无需注册、成本很低。
[0060] 本发明采用上位机加载Hex程序文件,对Hex程序文件进行离线标定,将被控设备的本体参数(如电机本体参数),一次性写入指定位置,生成新的Hex程序文件,再将新的Hex程序文件烧录到控制器即可。被控设备的本体参数的一般数据类型是一个固定长度的数组。采用本发明的方法对于匹配一种被控设备(如电机),只需要标定一次,用时短,不存在重复标定易出错的风险,并且生成的新的Hex程序不用更改源代码,方便管理,就实现了不更改不编译源代码的情况下,方便的更新下位机的程序。
[0061] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。