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

文档序号:8512220阅读:来源:国知局
钥正确肯定响应和功能状态掩码,所述功能状态掩码表征已将当前的刷写功能状态转变为解锁状态;
[0066]擦除单元,用于接收所述重编程设备发送的SetMta命令和ClearMemory命令,并从CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;
[0067]第二发送单元,用于在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后,向所述重编程设备发送擦除肯定响应;
[0068]第四接收单元,用于接收所述重编程设备发送的SetMta命令和Program/Program_6命令,控制所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;
[0069]计算单元,用于在重编程完成后,对编程数据利用校验算法计算得到第二校验和;
[0070]第三发送单元,用于将所述第二校验和发送给所述重编程设备,使所述重编程设备判定所述第二校验和和第一校验和是否相等,所述第一校验和由所述重编程设备利用校验算法计算编程数据得到;
[0071]第五接收单元,用于接收所述重编程设备发送的校验和通过的提示信息,所述校验和通过的提示信息由所述重编程设备判定所述第一校验和与所述第二校验和相等后生成。
[0072]优选的,还包括:
[0073]第六接收单元,用于在所述第五接收单元收所述重编程设备发送的校验和通过的提示信息之后,接收所述重编程设备发送的Disconnect命令,与所述重编程设备断开连接,所述Disconnect命令中携带有接收所述Disconnect命令的目标电子控制单元的逻辑地址。
[0074]一种重编程系统,包括:重编程设备和与所述重编程设备相连接的至少一个电子控制单元;
[0075]所述重编程设备,用于向所有目标电子控制单元发送连接Connect命令,所述Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址;接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成;依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体包括:向所述目标电子控制单元发送包含刷写功能请求掩码的请求种子GetSeed命令;接收所述目标电子控制单元通过响应报文反馈的种子,所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成;利用安全访问算法计算所述种子对应的密钥;将所述密钥通过密钥解锁Unlock命令发送给所述目标电子控制单元;接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码,所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态;向所述目标电子控制单元发送指针放置SetMta命令和擦除ClearMemory命令,使所述目标电子控制单元从控制器局域网络CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;接收所述目标电子控制单元发送的擦除肯定响应,所述擦除肯定响应由所述目标电子控制单元在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后发送;向所述目标电子控制单元发送SetMta命令和Program/Program_6命令,使所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;利用校验算法计算编程数据的第一校验和;获取所述目标电子控制单元发送的第二校验和,所述第二校验和由所述目标电子控制单元在重编程完成后对编程数据利用校验算法计算得到;判断所述第一校验和与所述第二校验和是否相等;若所述第一校验和与所述第二校验和相等,则向所述目标电子控制单元发送校验和通过的提示信息;
[0076]所述电子控制单元,用于接收重编程设备发送的Connect命令,所述Connect命令携带有重编程请求指示和接收所述Connect命令的电子控制单元的逻辑地址;在确定当前需要重编程后,向所述重编程设备反馈连接肯定响应,与所述重编程设备建立连接;接收所述重编程设备发送的包含刷写功能请求掩码的GetSeed命令;在确定刷写功能符合安全访问要求后,将种子通过响应报文反馈给所述重编程设备;接收所述重编程设备通过Unlock命令发送的密钥,所述密钥由所述重编程设备利用安全访问算法计算所述种子后得到;在判定所述密钥符合预设要求后,向所述重编程设备发送密钥正确肯定响应和功能状态掩码,所述功能状态掩码表征已将当前的刷写功能状态转变为解锁状态;接收所述重编程设备发送的SetMta命令和ClearMemory命令,并从CAN标定协议中MTA指针指向的应用程序擦除的首地址开始,擦除与所述ClearMemory命令相同的数据长度;在判定利用所述首地址和所述数据长度得到的擦除长度没有超过所述应用程序地址长度范围后,向所述重编程设备发送擦除肯定响应;接收所述重编程设备发送的SetMta命令和?1'0〖以111/?1'0〖以1]1_6命令,控制所述MTA指针指向所述应用程序编程的首地址,对所述应用程序进行编程;在重编程完成后,对编程数据利用校验算法计算得到第二校验和;将所述第二校验和发送给所述重编程设备,使所述重编程设备判定所述第二校验和和第一校验和是否相等,所述第一校验和由所述重编程设备利用校验算法计算编程数据得到;接收所述重编程设备发送的校验和通过的提示信息,所述校验和通过的提示信息由所述重编程设备判定所述第一校验和与所述第二校验和相等后生成。
[0077]从上述的技术方案可以看出,本发明提供了一种重编程方法、系统、重编程设备及电子控制单元,重编程设备与目标电子控制单元建立连接后,首先重编程设备对目标电子控制单元进行安全访问,在目标电子控制单元由当前的刷写功能状态转变为解锁状态后,重编程设备对目标电子控制单元中的应用程序进行擦除重编程,并在应用程序重编程完成后,利用由编程数据得到的校验和对目标电子控制单元下载数据的完整性和正确性进行校验,并在确定校验和通过后,告知相应的目标电子控制单元。本发明中,重编程设备和目标电子控制单元信息交互过程采用的命令为CAN标定协议预先定义的命令,因此本发明实现了在基于CAN标定协议的基础上对重编程过程进行了完善,解决了因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。
【附图说明】
[0078]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0079]图1为本发明实施例公开的一种重编程方法流程图;
[0080]图2为本发明实施例公开的一种应用程序的重编程方法流程图;
[0081]图3为本发明实施例公开的另一种重编程方法流程图;
[0082]图4为本发明实施例公开的一种重编程设备的结构示意图;
[0083]图5为本发明实施例公开的一种电子控制单元的结构示意图;
[0084]图6为本发明实施例公开的一种重编程系统的结构示意图。
【具体实施方式】
[0085]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]本发明实施例公开了一种重编程方法、系统、重编程设备及电子控制单元,以实现在基于CAN标定协议的基础上对重编程过程进行完善,解决因重编程程序下载不完全或是下载错误而导致的重编程功能不完善、操作过程繁琐等问题。
[0087]参见图1,本发明实施例公开的一种重编程方法流程图,该方法应用于重编程设备,包括:
[0088]步骤SI 1、向所有目标电子控制单元发送Connect命令;
[0089]其中,Connect命令即为连接命令,用来使重编程设备与目标电子控制单元连接,Connect命令携带有重编程请求指示和与各目标电子控制单元对应的逻辑地址,重编程请求指示用于告知目标电子控制单元连接时重编程设备是否有重编程请求,逻辑地址用于区分不同的目标电子控制单元。
[0090]步骤S12、接收各在线的目标电子控制单元反馈的连接肯定响应,与各在线的目标电子控制单元建立连接;
[0091]其中,所述连接肯定响应由各在线的目标电子控制单元确定当前需要重编程后生成。目标电子控制单元根据自身当前状况进行判断,如果当前在重编程程序中运行,则直接根据在线情况向重编程设备反馈连接肯定响应;如果当前在应用程序中运行,则需要先进行复位,由在应用程序中运行转为在重编程程序中运行,然后再根据当前的在线情况向重编程设备反馈连接肯定响应。
[0092]若在线的目标电子控制单元确定当前不需要重编程,则向重编程设备反馈连接否定响应。
[0093]步骤S13、依次对每一个在线的目标电子控制单元中的应用程序进行重编程,重编程过程具体参见图2,本发明实施例公开的一种应用程序的重编程方法流程图,包括:
[0094]步骤S131、向所述目标电子控制单元发送包含刷写功能请求掩码的GetSeed命令;
[0095]其中,GetSeed命令即为请求种子命令,用来使重编程设备向目标电子控制单元获取种子。
[0096]GetSeed命令包含一条功能请求掩码,分别表示对数据采集、标定和刷写功能进行安全访问请求,本申请中只需对刷写功能进行访问请求。
[0097]步骤S132、接收所述目标电子控制单元通过响应报文反馈的种子;
[0098]所述响应报文由所述目标电子控制单元判定刷写功能符合安全访问要求后生成。当目标电子控制单元判定刷写功能不符合安全访问要求时,会向重编程设备反馈否定响应并终止整个流程。
[0099]步骤S133、利用安全访问算法计算所述种子对应的密钥;
[0100]步骤S134、将所述密钥通过Unlock命令发送给所述目标电子控制单元;
[0101]Unlock命令即为密钥解锁命令,用于使重编程设备根据种子计算得到的密钥发送给对应的目标电子控制单元。
[0102]步骤S135、接收所述目标电子控制单元发送的密钥正确肯定响应和功能状态掩码;
[0103]所述密钥正确肯定响应由所述目标电子控制单元在判定所述密钥符合预设要求后生成,具体为目标电子控制单元将接收到的密钥和利用自身的安全访问算法计算得到的密钥进行比较,并在两个密钥相同时认定安全访问通过,从而向重编程设备发送密钥正确肯定响应。
[0104]所述功能状态掩码表征所述目标电子控制单元已将当前的刷写功能状态转变为解锁状态,若重编程设备没有接收到功能状态掩码,则表明整个流程已结束。
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1