一种车载ecu应用程序的刷新方法及系统的制作方法
【专利摘要】本发明提供一种车载ECU应用程序的刷新方法,所述方法包括以下步骤:S1、获取刷新应用程序的ECU信息和车载ECU信息;S2、判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行步骤S3;S3、让车载ECU进入诊断编程模式;S4、将车载ECU内原来的应用程序擦除;S5、发出下载刷新应用程序数据的请求;S6、读取刷新应用程序数据并传输至车载ECU内;S7、等待刷新应用程序数据传输完毕后停止传输;S8、将刷新应用程序刷入ECU内预定的地址中。本发明还提供一种车载ECU应用程序的刷新系统。本发明提供的刷新方法,在现有刷新流程的基础上增加了ECU信息识别步骤,能够有效防止ECU数据刷错,保证了数据传输的正确性,提高了所述应用程序刷新的可靠性。
【专利说明】一种车载ECU应用程序的刷新方法及系统
【技术领域】
[0001]本发明涉及汽车领域,尤其涉及一种车载ECU应用程序的刷新方法及系统。
【背景技术】
[0002]随着汽车技术的发展,电子化程度越来越高,汽车故障排除的难度也越来越大,从而促使相应的汽车诊断技术也越来越成熟,应用越来越广泛。近年来,各大主机厂正在逐步实现一种基于汽车诊断技术的新功能:在线刷新功能,提出了通过诊断OBD (On-BoardDiagnostics,车载自动诊断系统)接口进行在线刷新车载EQKElectronic Control Unit,电子控制单元)应用程序的方法,相比传统方法,此方法更方便,更快捷。
[0003]具体地,目前国内主机厂还没有自己完善的刷新协议,只有一个简单的刷新流程,包括以下步骤:ECU进入诊断编程模式;擦除车载ECU内原来的应用程序;发出请求下载数据信息;进行数据下载并将数据传输至ECU内;待数据传输完毕后停止传输;进行ECU应用程序刷新。
[0004]本发明的发明人研究发现,上述流程只是简单的实现了应用程序刷新,并没有对所述ECU进行识别,以判断所述应用程序是否是该ECU所需要的软件,容易出现ECU数据刷错,刷新可靠性低。
【发明内容】
[0005]为了解决现有技术中没有对所述ECU进行识别,以判断所述应用程序是否是该ECU所需要的软件,容易出现ECU数据刷错,刷新可靠性低的技术问题,本发明提供了一种车载ECU应用程序的刷新方法。
[0006]本发明的目的是通过以下技术方案实现的:
[0007]—种车载E⑶应用程序的刷新方法,所述方法包括以下步骤:
[0008]S1、获取刷新应用程序的E⑶信息和车载E⑶信息;
[0009]S2、判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行步骤S3 ;
[0010]S3、让车载E⑶进入诊断编程模式;
[0011]S4、将车载E⑶内原来的应用程序擦除;
[0012]S5、发出下载刷新应用程序数据的请求;
[0013]S6、读取刷新应用程序数据并传输至车载E⑶内;
[0014]S7、等待刷新应用程序数据传输完毕后停止传输;
[0015]S8、将刷新应用程序刷入E⑶内预定的地址中。
[0016]本发明提供的车载ECU应用程序的刷新方法,在现有刷新流程的基础上增加了ECU信息识别步骤,即通过外部设备将刷新应用程序的ECU信息与车载ECU信息进行比较,当两者ECU信息一致时,才执行后续的数据传输和刷入步骤,因而能够有效的自动防止ECU数据刷错,保证了数据传输的正确性,提高了所述应用程序刷新的可靠性。[0017]进一步,所述刷新应用程序ECU信息包括车辆配置信息和ECU特定信息,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型,所述ECU特定信息包括ECU供应商信息和ECU零件号,分别比较所述刷新应用程序的ECU信息和车载ECU信息的发动机类型、变速箱类型、驱动类型、ECU供应商信息和ECU零件号是否一致。
[0018]进一步,在所述步骤S3和S4之间还包括步骤S34:记录当前刷新设备的指纹信息,由此可以用于车载ECU被偶然刷坏以后,由此可以进行追溯。
[0019]进一步,在所述步骤S7和S8之间还包括步骤S78:当停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRC32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行步骤S8 ;由此可以用来验证刷新应用程序数据传输是否完整。
[0020]进一步,在所述步骤S78和S8之间还包括步骤S79:车载E⑶将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行步骤S8 ;由此可以用来验证刷新应用程序与车载ECU内部软件是否兼容。
[0021]进一步,在所述步骤S8之后还包括步骤S9:将车载E⑶中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期;由此便于后期对所述应用程序的状态进行跟踪。
[0022]本发明还提供一种车载ECU应用程序的刷新系统,所述系统包括:
[0023]获取单元,用于获取刷新应用程序的ECU信息和车载ECU信息;
[0024]判断单元,用于判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行进入单元;
[0025]进入单元,用于让车载E⑶进入诊断编程模式;
[0026]擦除单元,用于将车载ECU内原来的应用程序擦除;
[0027]请求单元,用于发出下载刷新应用程序数据的请求;
[0028]传输单元,用于读取刷新应用程序数据并传输至车载ECU内;
[0029]停止单元,用于等待刷新应用程序数据传输完毕后停止传输;
[0030]刷入单元,用于将刷新应用程序刷入E⑶内预定的地址中。
[0031]本发明提供的车载ECU应用程序的刷新系统,在现有刷新流程的基础上增加了ECU信息识别,即通过外部设备将刷新应用程序的ECU信息与车载ECU信息进行比较,当两者ECU信息一致时,才执行后续的数据传输和刷入单元,因而能够有效防止ECU数据刷错,保证了数据传输的正确性,提高了所述应用程序刷新的可靠性。
[0032]进一步,所述获取的刷新应用程序E⑶信息包括车辆配置信息和E⑶特定信息,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型,所述ECU特定信息包括ECU供应商信息和ECU零件号,分别比较所述刷新应用程序的ECU信息和车载ECU信息的发动机类型、变速箱类型、驱动类型、ECU供应商信息和ECU零件号是否一致。
[0033]进一步,所述刷新系统还包括第一记录单元,用于所述擦除单元将车载E⑶内原来的应用程序擦除之前,记录当前刷新设备的指纹信息,由引可以进行追溯。
[0034]进一步,所述刷新系统还包括数据完整性校验单元,用于所述停止单元停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRC32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行刷入单元;由此可以用来验证刷新应用程序数据传输是否完整。
[0035]进一步,所述刷新系统还包括数据兼容性校验单元,用于所述数据完整性校验单元校验刷新应用程序数据为完整时,车载ECU将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行刷入单元;由此可以用来验证刷新应用程序与车载ECU内部软件是否兼容。
[0036]进一步,所述刷新系统还包括第二记录单元,用于所述刷入单元刷新成功后,将车载ECU中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期;由此便于后期对所述应用程序的状态进行跟踪。
【专利附图】
【附图说明】
[0037]图1是本发明提供的车载ECU应用程序的刷新方法流程示意图。
[0038]图2是本发明提供的车载ECU应用程序的刷新系统结构示意图。
【具体实施方式】
[0039]为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040]请参考图1所示,一种车载ECU应用程序的刷新方法,所述方法包括以下步骤:
[0041]S1、获取刷新应用程序的E⑶信息和车载E⑶信息;
[0042]S2、判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行步骤S3 ;
[0043]S3、让车载E⑶进入诊断编程模式;
[0044]S4、将车载E⑶内原来的应用程序擦除;
[0045]S5、发出下载刷新应用程序数据的请求;
[0046]S6、读取刷新应用程序数据并传输至车载E⑶内;
[0047]S7、等待刷新应用程序数据传输完毕后停止传输;
[0048]S8、将刷新应用程序刷入E⑶内预定的地址中。
[0049]本发明提供的车载ECU应用程序的刷新方法,在现有刷新流程的基础上增加了ECU信息识别步骤,即通过外部设备将刷新应用程序的ECU信息与车载ECU信息进行比较,当两者ECU信息一致时,才执行后续的数据传输和刷入步骤,因而能够有效防止ECU数据刷错,保证了数据传输的正确性,提高了所述应用程序刷新的可靠性。
[0050]作为具体的实施方式,所述获取刷新应用程序E⑶信息和车载E⑶信息可以通过外部设备自动识别或半自动识别方式进行。作为优选的实施例,所述外部设备通过自动识别方式获取刷新应用程序ECU信息和车载ECU信息,具体地:外部设备以汽车诊断通讯命令为载体,将刷新应用程序的二进制格式文件传输到ECU中,所述二进制格式文件包括头文件和刷新应用程序数据内容两部分;其中,所述头文件包括刷新应用程序ECU信息、刷新应用程序版本信息和刷新应用程序的地址信息等。在刷新数据之前,所述外部设备先将头文件进行解读,获取头文件中的刷新应用程序ECU信息;同时,所述外部设备通过汽车诊断通讯命令获取车载ECU信息,将所述刷新应用程序ECU信息和车载ECU信息进行比较,以判断两者信息是否完全一致,再便于后续步骤的操作执行。相应的,所述刷新应用程序数据内容没有特定的格式要求,其并非是源代码,而是一系列源代码转换后的二进制代码,非法人员即使截取到这部数据,也没有什么意义。因而,本发明提供的车载ECU应用程序的刷新方法,不仅能够防止ECU软件刷错,而且具有很强的保密性,从而提高了应用程序升级的安全性和可靠性。
[0051]作为具体的实施方式,所述刷新应用程序E⑶信息包括车辆配置信息和E⑶特定信息。具体地,在刷新应用程序之前,所述外部设备通过头文件获取车辆配置信息和ECU特定信息来鉴别刷新应用程序是否是该车载ECU所需要的软件,从而防止ECU软件刷错。其中,所述车载ECU内可能已经有对应的应用程序,也可能没有;不管有没有,在刷新之前,都需要先将车载ECU内原来指定地址范围内的数据擦除掉,然后再将所述刷新应用程序数据内容写入对应的地址中。
[0052]作为具体的实施方式,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型;所述ECU特定信息包括ECU供应商信息和ECU零件号。当然,本领域技术人员在前述信息的基础上,还可以根据实际情况,增加其它的信息来满足生产的需要。
[0053]作为具体的实施方式,在所述步骤S3和S4之间还包括步骤S34:记录当前刷新设备的指纹信息。作为具体的实施例,所述刷新设备为售后诊断仪或下线检测设备等,所述指纹信息包括4S店代号、当前刷新设备序列号和刷新日期;由此可以用于车载E⑶被偶然刷坏以后,可以具体追溯到是哪个4S店哪一天用哪个设备刷坏的,便于分析与解决问题。
[0054]作为具体的实施方式,在所述步骤S7和S8之间还包括步骤S78:当停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRCXCyclic Redundancy Check,循环冗余校验)32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行步骤S8。作为具体的实施例,当车载ECU接收完外部设备传输的刷新应用程序数据后,车载ECU内的引导程序需要确认被下载的数据字节是否被完整传输并正确接收。当被刷ECU接收到CRC校验例程以后,所述引导程序将调用验证例程,计算刷新应用程序数据字节的CRC32值,并将计算结果与外部设备计算的CRC32值进行比较,由此来验证刷新应用程序数据传输是否完整。
[0055]作为具体的实施方式,在所述步骤S78和S8之间还包括步骤S79:车载E⑶将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行步骤S8。作为具体的实施例,车载ECU将接收到的应用程序与车载ECU未更新的其它内部软件进行兼容性校验,由此可以用来验证刷新的应用程序与车载ECU内部软件是否兼容。如果兼容,则将刷新的应用程序数据内容写入指定的物理地址中;进一步,如果不兼容,则拒绝应用程序刷入,并反馈否定响应代码给外部设备。
[0056]作为具体的实施方式,在所述步骤S8之后还包括步骤S9:将车载ECU中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期,由此便于后期对所述应用程序的状态进行跟踪。其中,所述将车载ECU中预存的应用程序版本信息升级具体为:车载ECU根据所述头文件中的刷新应用程序版本信息,将车载E⑶存储在EEPROM (ElectricallyErasable Programmable Read-Only Memory,电可擦可编程只读存储器)中的版本进行升级。
[0057]本发明还提供一种车载ECU应用程序的刷新系统,所述系统包括:
[0058]获取单元101,用于获取刷新应用程序的E⑶信息和车载E⑶信息;
[0059]判断单元102,用于判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行进入单元;[0060]进入单元103,用于让车载E⑶进入诊断编程模式;
[0061]擦除单元104,用于将车载ECU内原来的应用程序擦除;
[0062]请求单元105,用于发出下载刷新应用程序数据的请求;
[0063]传输单元106,用于读取刷新应用程序数据并传输至车载ECU内;
[0064]停止单元107,用于等待刷新应用程序数据传输完毕后停止传输;
[0065]刷入单元108,用于将刷新应用程序刷入E⑶内预定的地址中。
[0066]本发明提供的车载ECU应用程序的刷新系统,在现有刷新流程的基础上增加了ECU信息识别,即通过外部设备将刷新应用程序的ECU信息与车载ECU信息进行比较,当两者ECU信息一致时,才执行后续的数据传输和刷入单元,因而能够有效防止ECU数据刷错,保证了数据传输的正确性,提高了所述应用程序刷新的可靠性。
[0067]作为具体的实施方式,所述获取刷新应用程序E⑶信息和车载E⑶信息可以通过外部设备自动识别方式或半自动识别方式进行。作为优选的实施例,所述外部设备通过自动识别方式获取刷新应用程序E⑶信息和车载E⑶信息,具体地:外部设备以汽车诊断通讯命令为载体,将刷新应用程序的二进制格式文件传输到ECU中,所述二进制格式文件包括头文件和刷新应用程序数据内容两部分;其中,所述头文件包括刷新应用程序ECU信息、刷新应用程序版本信息和刷新应用程序的地址信息等。在刷新数据之前,所述外部设备先将头文件进行解读,获取头文件中的刷新应用程序ECU信息;同时,所述外部设备通过汽车诊断通讯命令获取车载ECU信息,将所述刷新应用程序ECU信息和车载ECU信息进行比较,以判断两者信息是否完全一致,再便于后续步骤的操作执行。相应的,所述刷新应用程序数据内容没有特定的格式要求,其并非是源代码,而是一系列源代码转换后的二进制代码,非法人员即使截取到这部数据,也没有什么意义。因而,本发明提供的车载ECU应用程序的刷新方法,不仅能够防止ECU软件刷错,而且具有很强的保密性,从而提高了应用程序升级的安全性和可靠性。
[0068]作为具体的实施方式,所述获取的刷新应用程序ECU信息包括车辆配置信息和ECU特定信息。具体地,在刷新应用程序之前,所述外部设备通过头文件获取车辆配置信息和ECU特定信息来鉴别刷新应用程序是否是该车载ECU所需要的软件,从而防止ECU软件刷错。其中,所述车载ECU内可能已经有对应的应用程序,也可能没有;不管有没有,在刷新之前,都需要先将车载ECU内原来指定地址范围内的数据擦除掉,然后再将所述刷新应用程序数据内容写入对应的地址中。
[0069]作为具体的实施方式,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型;所述ECU特定信息包括ECU供应商信息和ECU零件号。当然,本领域技术人员在前述信息的基础上,还可以根据实际情况,增加其它的信息来满足生产的需要。
[0070]作为具体的实施方式,所述刷新系统还包括第一记录单元,用于所述擦除单元104将车载ECU内原来的应用程序擦除之前,记录当前刷新设备的指纹信息。作为具体的实施例,所述刷新设备为售后诊断仪或下线检测设备等,所述指纹信息包括4S店代号、当前刷新设备序列号和刷新日期;由此可以用于车载E⑶被偶然刷坏以后,可以具体追溯到是哪个4S店哪一天用哪个设备刷坏的,便于分析与解决问题。
[0071]作为具体的实施方式,所述刷新系统还包括数据完整性校验单元,用于所述停止单元107停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRC32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行刷入单元108。作为具体的实施例,当车载ECU接收完外部设备传输的刷新应用程序数据后,车载ECU内的引导程序需要确认被下载的所有数据字节是否被完整传输并正确接收。当被刷ECU接收到CRC校验例程以后,所述引导程序将调用验证例程,计算刷新应用程序数据字节的CRC32值,并将计算结果与外部设备计算的CRC32值进行比较,由此可以用来验证刷新应用程序数据传输是否完整。
[0072]作为具体的实施方式,所述刷新系统还包括数据兼容性校验单元,用于所述数据完整性校验单元校验刷新应用程序数据为完整时,车载ECU将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行刷入单元108。作为具体的实施例,车载ECU将刷入的应用程序与车载ECU内未更新的其它内部软件进行兼容性校验,由此来验证刷新的应用程序与车载ECU内部软件是否兼容。如果兼容,则将刷的新应用程序数据内容写入指定的物理地址中;进一步,如果不兼容,则拒绝应用程序被刷入,并反馈否定响应代码给外部设备。
[0073]作为具体的实施方式,所述刷新系统还包括第二记录单元,用于所述刷入单元刷新成功后,将车载ECU中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期,由此便于后期对所述应用程序的状态进行跟踪。其中,所述将车载ECU中预存的应用程序版本信息升级具体为:车载ECU根据所述头文件中的刷新应用程序版本信息,将车载ECU存储在EEPROM中的版本进行升级。
[0074]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种车载ECU应用程序的刷新方法,其特征在于,所述方法包括以下步骤:51、获取刷新应用程序的ECU信息和车载ECU信息;52、判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行步骤S3 ;53、让车载EOT进入诊断编程模式;54、将车载ECU内原来的应用程序擦除;55、发出下载刷新应用程序数据的请求;56、读取刷新应用程序数据并传输至车载ECU内;57、等待刷新应用程序数据传输完毕后停止传输;58、将刷新应用程序刷入EOT内预定的地址中。
2.根据权利要求1所述的车载ECU应用程序的刷新方法,其特征在于,所述刷新应用程序的ECU信息和车载ECU信息包括车辆配置信息和ECU特定信息,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型,所述ECU特定信息包括ECU供应商信息和ECU零件号,分别比较所述刷新应用程序的ECU信息和车载ECU信息的发动机类型、变速箱类型、驱动类型、ECU供应商信息和ECU零件号是否一致。
3.根据权利要求1所述的车载ECU应用程序的刷新方法,其特征在于,在所述步骤S3和S4之间还包括步骤S34:记录当前刷新设备的指纹信息。
4.根据权利要求1所述的车载ECU应用程序的刷新方法,其特征在于,在所述步骤S7和S8之间还包括步骤S78:当停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRC32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行步骤S8。
5.根据权利要求4所述的车载ECU应用程序的刷新方法,其特征在于,在所述步骤S78和S8之间还包括步骤S79:车载ECU将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行步骤S8。
6.根据权利要求5所述的车载ECU应用程序的刷新方法,其特征在于,在所述步骤S8之后还包括步骤S9:将车载ECU中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期。
7.一种车载ECU应用程序的刷新系统,其特征在于,所述系统包括:获取单元,用于获取刷新应用程序的ECU信息和车载ECU信息;判断单元,用于判断所述刷新应用程序的ECU信息和车载ECU信息是否一致;如果一致,则执行进入单元;进入单元,用于让车载E⑶进入诊断编程模式;擦除单元,用于将车载ECU内原来的应用程序擦除;请求单元,用于发出下载刷新应用程序数据的请求;传输单元,用于读取刷新应用程序数据并传输至车载ECU内;停止单元,用于等待刷新应用程序数据传输完毕后停止传输;刷入单元,用于将刷新应用程序刷入EOT内预定的地址中。
8.根据权利要求7所述的车载ECU应用程序的刷新系统,其特征在于,所述获取的刷新应用程序ECU信息包括车辆配置信息和ECU特定信息,所述车辆配置信息包括发动机类型、变速箱类型和驱动类型,所述ECU特定信息包括ECU供应商信息和ECU零件号,分别比较所述刷新应用程序的ECU信息和车载ECU信息的发动机类型、变速箱类型、驱动类型、ECU供应商信息和ECU零件号是否一致。
9.根据权利要求7所述的车载ECU应用程序的刷新系统,其特征在于,所述刷新系统还包括第一记录单元,用于所述擦除单元将车载ECU内原来的应用程序擦除之前,记录当前刷新设备的指纹信息。
10.根据权利要求7所述的车载ECU应用程序的刷新系统,其特征在于,所述刷新系统还包括数据完整性校验单元,用于所述停止单元停止传输刷新应用程序数据后,计算刷新应用程序数据字节的CRC32值,并与外部设备计算的CRC32值进行比较;如果一致,则执行刷入单元。
11.根据权利要求10所述的车载ECU应用程序的刷新系统,其特征在于,所述刷新系统还包括数据兼容性校验单元,用于所述数据完整性校验单元校验刷新应用程序数据为完整时,车载ECU将刷新应用程序与内部软件进行兼容性校验;如果兼容,则执行刷入单元。
12.根据权利要求11所述的车载ECU应用程序的刷新系统,其特征在于,所述刷新系统还包括第二记录单元,用于所述刷入单元刷新成功后,将车载ECU中预存的应用程序版本信息升级,并记录刷入应用程序的刷新日期。
【文档编号】G06F9/445GK103631609SQ201210299259
【公开日】2014年3月12日 申请日期:2012年8月21日 优先权日:2012年8月21日
【发明者】黄丽芳, 李济泰, 何晔, 黄少堂 申请人:广州汽车集团股份有限公司