一种重编程方法、系统、重编程设备及电子控制单元技术方案

技术编号:11868115 阅读:64 留言:0更新日期:2015-08-12 17:09
本申请公开了一种重编程方法、系统、重编程设备及电子控制单元,重编程设备与目标电子控制单元建立连接后,首先重编程设备对目标电子控制单元进行安全访问,在目标电子控制单元由当前的刷写功能状态转变为解锁状态后,重编程设备对目标电子控制单元中的应用程序进行擦除重编程,并在应用程序重编程完成后,利用由编程数据得到的校验和对目标电子控制单元下载数据的完整性和正确性进行校验,并在确定校验和通过后,告知相应的目标电子控制单元。重编程设备和目标电子控制单元信息交互过程采用的命令为CAN标定协议预先定义的命令,因此实现了在基于CAN标定协议的基础上对重编程过程进行完善,解决了重编程功能不完善、操作过程繁琐等问题。

【技术实现步骤摘要】
一种重编程方法、系统、重编程设备及电子控制单元
本专利技术涉及重编程
,更具体的说,涉及一种重编程方法、系统、重编程设备及电子控制单元。
技术介绍
随着汽车电子产业的高速发展,越来越多的电子控制单元被装载到机动车辆上,各电子控制单元之间保持着高速稳定的通信,其中最普遍的通信方式为CAN(ControllerAreaNetwork,控制器局域网络)总线通信。CAN总线在机动车辆上的广泛应用,使得衍生出多种基于该总线的标准协议,比如,CAN标定协议。CAN标定协议主要应用在电子控制单元开发阶段中的标定阶段,在标定过程中,标定工程师经常会携带多个版本的应用程序数据文件,然后根据自己的需要更新相应版本的应用程序。标定过程一般在台架或实车环境,而此时,电子控制单元已经被安装外壳并且装配在执行器上,因此需要通过基于CAN标定协议的重编程方法对电子控制单元进行重编程。由于CAN标定协议本身的一些局限性,使目标电子控制单元无法确认重编程程序是否完整地下载,下载的重编程程序是否正确,因此,亟需一种可靠的重编程方法及系统在基于CAN标定协议的基础上对重编程过程进行完善,以解决因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。
技术实现思路
有鉴于此,本专利技术提供一种重编程方法、系统、重编程设备及电子控制单元,以实现在基于CAN标定协议的基础上对重编程过程进行完善,解决因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。一种重编程方法,包括:向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址;接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;利用安全访问算法计算所述种子对应的密钥;将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;利用校验算法计算编程数据的第一校验和;获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;判断所述第一校验和与所述第二校验和是否相等;若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息。优选的,在若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息之后,还包括:向所述目标电子控制单元发送断开连接Disconnect命令,与所述目标电子控制单元断开连接,所述Disconnect命令中携带有与所述目标电子控制单元对应的逻辑地址。优选的,在向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程包括:将连续的重编程数据作为一个数据段,判断所述数据段中未进行编程的数据长度是否大于预设字节数;若所述数据长度大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program_6命令;若所述数据长度不大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program命令。一种重编程方法,包括:接收重编程设备发送的Connect命令,所述Connect命令携带有重编程请求指示和接收所述Connect命令的电子控制单元的逻辑地址;在确定当前需要重编程后,向所述重编程设备反馈连接肯定响应,与所述重编程设备建立连接;接收所述重编程设备发送的包含刷写功能请求掩码的GetSeed命令;在确定刷写功能符合安全访问要求后,将种子通过响应报文反馈给所述重编程设备;接收所述重编程设备通过Unlock命令发送的密钥,所述密钥由所述重编程设备利用安全访问算法计算所述种子后得到;在判定所述密钥符合预设要求后,向所述重编程设备发送密钥正确肯定响应和功能状态掩码,所述功能状态掩码表征已将当前的刷写功能状态转变为解锁状态;接收所述重编程设备发送的SetMta命令和ClearMemory命令,并从CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后,向所述重编程设备发送擦除肯定响应;接收所述重编程设备发送的SetMta命令和Program/Program_6命令,控制所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;在重编程完成后,对编程数据利用校验算法计算得到第二校验和;将所述第二校验和发送给所述重编程设备,使所述重编程设备判定所述第二校验和和第一校验和是否相等,所述第一校验和由所述重编程设备利用校验算法计算编程数据得到;接收所述重编程设备发送的校验和通过的提示信息,所述校验和通过的提示信息由所述重编程设备判定所述第一校验和与所述第二校验和相等后生成。优选的,在接收所述重编程设备发送的校验和通过的提示信息之后,还包括:接收所述重编程设备发送的Disconnect命令,与所述重编程设备断开连接,所述Disconnect命令中携带有接收所述Disconnect命令的目标电子控制单元的逻辑地址。一种重编程设备,包括:发送单元,用于向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址;连接单元,用于接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;重编程单元,用于依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所本文档来自技高网...
一种重编程方法、系统、重编程设备及电子控制单元

【技术保护点】
一种重编程方法,其特征在于,包括:向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有与各目标电子控制单元对应的逻辑地址;接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;利用安全访问算法计算所述种子对应的密钥;将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;利用校验算法计算编程数据的第一校验和;获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;判断所述第一校验和与所述第二校验和是否相等;若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息。...

【技术特征摘要】
1.一种重编程方法,其特征在于,包括:向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有与各目标电子控制单元对应的逻辑地址;接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;利用安全访问算法计算所述种子对应的密钥;将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;利用校验算法计算编程数据的第一校验和;获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;判断所述第一校验和与所述第二校验和是否相等;若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息。2.根据权利要求1所述的重编程方法,其特征在于,在若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息之后,还包括:向所述目标电子控制单元发送断开连接Disconnect命令,与所述目标电子控制单元断开连接,所述Disconnect命令中携带有与所述目标电子控制单元对应的逻辑地址。3.根据权利要求1所述的重编程方法,其特征在于,在向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程包括:将连续的重编程数据作为一个数据段,判断所述数据段中未进行编程的数据长度是否大于预设字节数;若所述数据长度大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program_6命令;若所述数据长度不大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program命令。4.一种重编程方法,其特征在于,包括:接收重编程设备发送的Connect命令,所述Connect命令携带有重编程请求指示和接收所述Connect命令的电子控制单元的逻辑地址;在确定当前需要重编程后,向所述重编程设备反馈连接肯定响应,与所述重编程设备建立连接;接收所述重编程设备发送的包含刷写功能请求掩码的GetSeed命令;在确定刷写功能符合安全访问要求后,将种子通过响应报文反馈给所述重编程设备;接收所述重编程设备通过Unlock命令发送的密钥,所述密钥由所述重编程设备利用安全访问算法计算所述种子后得到;在判定所述密钥符合预设要求后,向所述重编程设备发送密钥正确肯定响应和功能状态掩码,所述功能状态掩码表征已将当前的刷写功能状态转变为解锁状态;接收所述重编程设备发送的SetMta命令和ClearMemory命令,并从CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后,向所述重编程设备发送擦除肯定响应;接收所述重编程设备发送的SetMta命令和Program/Program_6命令,控制所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;在重编程完成后,对编程数据利用校验算法计算得到第二校验和;将所述第二校验和发送给所述重编程设备,使所述重编程设备判定所述第二校验和和第一校验和是否相等,所述第一校验和由所述重编程设备利用校验算法计算编程数据得到;接收所述重编程设备发送的校验和通过的提示信息,所述校验和通过的提示信息由所述重编程设备判定所述第一校验和与所述第二校验和相等后生成。5.根据权利要求4所述的重编程方法,其特征在于,在接收所述重编程设备发送的校验和通过的提...

【专利技术属性】
技术研发人员:尚鑫
申请(专利权)人:北京经纬恒润科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1