一种重编程方法、系统、重编程设备及电子控制单元的制作方法

文档序号:8512220阅读:233来源:国知局
一种重编程方法、系统、重编程设备及电子控制单元的制作方法
【技术领域】
[0001]本发明涉及重编程技术领域,更具体的说,涉及一种重编程方法、系统、重编程设备及电子控制单元。
【背景技术】
[0002]随着汽车电子产业的高速发展,越来越多的电子控制单元被装载到机动车辆上,各电子控制单元之间保持着高速稳定的通信,其中最普遍的通信方式为CAN(ControIIerArea Network,控制器局域网络)总线通信。CAN总线在机动车辆上的广泛应用,使得衍生出多种基于该总线的标准协议,比如,CAN标定协议。
[0003]CAN标定协议主要应用在电子控制单元开发阶段中的标定阶段,在标定过程中,标定工程师经常会携带多个版本的应用程序数据文件,然后根据自己的需要更新相应版本的应用程序。标定过程一般在台架或实车环境,而此时,电子控制单元已经被安装外壳并且装配在执行器上,因此需要通过基于CAN标定协议的重编程方法对电子控制单元进行重编程。
[0004]由于CAN标定协议本身的一些局限性,使目标电子控制单元无法确认重编程程序是否完整地下载,下载的重编程程序是否正确,因此,亟需一种可靠的重编程方法及系统在基于CAN标定协议的基础上对重编程过程进行完善,以解决因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。

【发明内容】

[0005]有鉴于此,本发明提供一种重编程方法、系统、重编程设备及电子控制单元,以实现在基于CAN标定协议的基础上对重编程过程进行完善,解决因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。
[0006]一种重编程方法,包括:
[0007]向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址;
[0008]接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;
[0009]依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:
[0010]向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;[0011 ] 接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;
[0012]利用安全访问算法计算所述种子对应的密钥;
[0013]将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;
[0014]接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;
[0015]向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;
[0016]接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;
[0017]向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;
[0018]利用校验算法计算编程数据的第一校验和;
[0019]获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;
[0020]判断所述第一校验和与所述第二校验和是否相等;
[0021]若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息。
[0022]优选的,在若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息之后,还包括:
[0023]向所述目标电子控制单元发送断开连接Disconnect命令,与所述目标电子控制单元断开连接,所述Di sconnect命令中携带有与所述目标电子控制单元对应的逻辑地址。
[0024]优选的,在向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程包括:
[0025]将连续的重编程数据作为一个数据段,判断所述数据段中未进行编程的数据长度是否大于预设字节数;
[0026]若所述数据长度大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program_6命令;
[0027]若所述数据长度不大于所述预设字节数,则向所述目标电子控制单元发送SetMta命令和Program命令。
[0028]—种重编程方法,包括:
[0029]接收重编程设备发送的Connect命令,所述Connect命令携带有重编程请求指示和接收所述Connect命令的电子控制单元的逻辑地址;
[0030]在确定当前需要重编程后,向所述重编程设备反馈连接肯定响应,与所述重编程设备建立连接;
[0031]接收所述重编程设备发送的包含刷写功能请求掩码的GetSeed命令;
[0032]在确定刷写功能符合安全访问要求后,将种子通过响应报文反馈给所述重编程设备;
[0033]接收所述重编程设备通过Unlock命令发送的密钥,所述密钥由所述重编程设备利用安全访问算法计算所述种子后得到;
[0034]在判定所述密钥符合预设要求后,向所述重编程设备发送密钥正确肯定响应和功能状态掩码,所述功能状态掩码表征已将当前的刷写功能状态转变为解锁状态;
[0035]接收所述重编程设备发送的SetMta命令和ClearMemory命令,并从CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;
[0036]在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后,向所述重编程设备发送擦除肯定响应;
[0037]接收所述重编程设备发送的SetMta命令和Program/Program_6命令,控制所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;
[0038]在重编程完成后,对编程数据利用校验算法计算得到第二校验和;
[0039]将所述第二校验和发送给所述重编程设备,使所述重编程设备判定所述第二校验和和第一校验和是否相等,所述第一校验和由所述重编程设备利用校验算法计算编程数据得到;
[0040]接收所述重编程设备发送的校验和通过的提示信息,所述校验和通过的提示信息由所述重编程设备判定所述第一校验和与所述第二校验和相等后生成。
[0041]优选的,在接收所述重编程设备发送的校验和通过的提示信息之后,还包括:
[0042]接收所述重编程设备发送的Disconnect命令,与所述重编程设备断开连接,所述Disconnect命令中携带有接收所述Disconnect命令的目标电子控制单元的逻辑地址。
[0043]—种重编程设备,包括:
[0044]发送单元,用于向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址;
[0045]连接单元,用于接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;
[0046]重编程单元,用于依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:
[0047]向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;
[0048]接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;
[0049]利用安全访问算法计算所述种子对应的密钥;
[0050]将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;
[0051]接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;
[0052]向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;
[0053]接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;
[0054]向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;
[0055]利用校验算法计算编程数据的第一校验和;
[0056]获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;
[0057]判断所述第一校验和与所述第二校验和是否相等;
[0058]若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息。
[0059]一种电子控制单元,包括:
[0060]第一接收单元,用于接收重编程设备发送的Connect命令,所述Connect命令携带有重编程请求指示和接收所述Connect命令的电子控制单元的逻辑地址;
[0061]第一反馈单元,用于在确定当前需要重编程后,向所述重编程设备反馈连接肯定响应,与所述重编程设备建立连接;
[0062]第二接收单元,用于接收所述重编程设备发送的包含刷写功能请求掩码的GetSeed 命令;
[0063]第二反馈单元,用于在确定刷写功能符合安全访问要求后,将种子通过响应报文反馈给所述重编程设备;
[0064]第三接收单元,用于接收所述重编程设备通过Unlock命令发送的密钥,所述密钥由所述重编程设备利用安全访问算法计算所述种子后得到;
[0065]第一发送单元,用于在判定所述密钥符合预设要求后,向所述重编程设备发送密
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1