车用电控单元ECU的引导程序的在线更新方法技术

技术编号:11367633 阅读:85 留言:0更新日期:2015-04-29 18:10
本发明专利技术提供一种车用电控单元ECU的在线更新方法,包括:当电控单元的应用程序接收到表示复位的诊断服务命令时,执行系统复位操作以进入引导程序;进入引导程序后,由引导程序读取更新请求标志,在更新请求标志为有效的情况下清除更新请求标志,进行硬件初始化、参数初始化,使能更新功能以进入更新功能的主流程;在更新功能的主流程中,定时获取当前的诊断服务命令,并根据所获取的诊断服务命令执行擦除操作和更新操作,以完成更新数据的传输及更新;在所有的更新数据传输完成后,对下载更新的应用程序进行一种或多种校验,以确定本次更新的有效性。本发明专利技术可在不改动硬件的情况下即可更新应用程序,降低汽车的维修或更新成本。

【技术实现步骤摘要】
车用电控单元ECU的引导程序的在线更新方法
本专利技术属于汽车领域,特别是涉及一种车用电子控制单元ECU的引导程序的在线更新方法。
技术介绍
汽车作为便捷的运输工具,随着人们的生活水平提升,在我国已经逐步走入家庭。至2009年,我国的汽车全年产销量位居世界第一。消费者在选择汽车时,除了关注性价比、售后服务等因素外,对汽车的安全、舒适、环保等功能性的需求正在不断的增加。因此,车载电控单元在汽车上的应用越来越多,功能逐步增强,机构日益复杂。在九十年代,基本上一辆中档车上只有二十来个电控单元,更多的功能是通过机械结果来完成的。随着人们对汽车功能智能化要求的越来越高,需要用到的电控单元数量也越来越多,需要实现的功能越来越复杂,需要更新换代的频率越来越快。现在,一辆进口的中档车上电控单元有一百多个,而且这种情况随着自动驾驶概念的提出,汽车上的电控单元更新频率只会越来越快。当前,汽车上的电控单元的更新大多是通过更换新的电控单元来实现。这种方法在以前是可以使用的:一个车用电控单元的开发周期为2年,可以随着新车型的销售寿命使用5年以上。现在,大部分车型都会每年进行一次小改型而五年进行一次大改型。如果继续按照以前的方法操作,这对消费者、汽车公司都是无法接受的。所以,现在汽车上越来越多的电控单元在产品的设计阶段考虑好未来的扩展可能,在不改动硬件的情况下,只更新应用程序,通过引导程序更新应用程序的方式来完成产品的更新换代。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种车用电子控制单元ECU的在线更新技术,以解决汽车电控单元更新换代的问题,降低汽车的维修或更新成本。为解决上述问题及其他问题,本专利技术提供一种车用电控单元ECU的在线更新方法,所述电控单元ECU配置有应用程序和引导程序,所述引导程序包括总线通讯模块、程序擦除模块、程序更新模块;所述车用电控单元ECU的在线更新方法包括:当所述电控单元ECU的应用程序通过调用所述总线通讯模块而接收到表示复位的诊断服务命令时,执行系统复位操作以进入引导程序;进入引导程序后,由所述引导程序读取更新请求标志,并在所述更新请求标志为有效的情况下清除所述更新请求标志,并进行硬件初始化、参数初始化,使能更新功能以进入更新功能的主流程;在更新功能的主流程中,定时调用所述总线通讯模块以获取当前的诊断服务命令,并根据所获取的诊断服务命令调度所述程序擦除模块和所述程序更新模块,以完成更新数据的传输及更新;所述程序擦除模块用于将当前非空状态的内存空间擦除为空白状态,便于后期写入数据;所述程序更新模块用于负责将传输的数据写入到为空白状态的内存空间中;在所有的更新数据传输完成后,对下载更新的应用程序进行一种或多种校验,以确定本次更新的有效性。可选地,所述引导程序还包括非易失性存储区;当所述电控单元ECU的应用程序在接收到表示复位的诊断服务命令后,执行系统复位操作以进入引导程序,包括:当所述电控单元的应用程序接收到表示复位的诊断服务命令时,所述电控单元与诊断仪实现握手,所述应用程序则在所述非易失性存储器中写入更新请求标志后,强制执行一次系统复位操作,使得电控单元进入引导程序。可选地,所述引导程序的在线更新方法还包括:由所述引导程序读取更新请求标志,在所述更新请求标志为无效的情况下,所述电控单元则从所述引导程序跳转回到所述应用程序中。可选地,通过定时调用而获取的当前的诊断服务命令包括:表示后续传输的更新数据的数据长度和存储地址的诊断服务命令、表示传输更新的数据内容的诊断服务命令、以及表示更新数据传输完成并校验的诊断服务命令。可选地,定时调用以获取当前的诊断服务命令,并根据所获取的诊断服务命令而执行相应操作,包括如下中的任一种或者多种:若接收的当前的诊断服务命令为表示后续传输的更新数据的数据长度和存储地址诊断服务命令时,所述引导程序将执行一次擦除操作,将该段区域的数据进行清空;其中,在第一次执行表示后续传输的更新数据的数据长度和存储地址诊断服务命令时,清除所述应用程序的有效性标志;若接收的当前的诊断服务命令为表示传输更新的数据内容的诊断服务命令时,所述引导程序先将接收到的数据内容存储至缓冲区内,每接收满一页数据,调用更新操作,将一页的数据写入到规定的存储地址,同时,更新完成后,缓冲区内的一页数据被释放,等待新的表示传输更新的数据内容的诊断服务命令;若接收的当前的诊断服务命令为表示更新数据传输完成并校验的诊断服务命令时,所述引导程序将所述缓冲区中未写入的数据执行更新操作,更新成功后,将更新的所有数据内容读取出来,并进行校验。可选地,在所有的更新数据传输完成后,对下载更新的应用程序进行一种或多种校验,以确定本次更新的有效性,包括:在所有的更新数据传输完成后,进行校验操作,将校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值进行比较;如果校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值相一致,表明该次更新成功,所述应用程序的有效性标志恢复为有效状态;如果校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值不一致,表明该次更新不成功,所述应用程序的有效性标志仍然保持无效状态。可选地,所述校验操作采用的是循环冗余校验CRC-16标准。可选地,所述总线通讯模块包括CAN总线、LIN总线或K总线。可选地,所述引导程序还包括定时计数器,所述定时计数器在进入引导程序后开始计数;所述总线通讯模块的工作流程包括:调用所述总线通讯模块,判断通过所述总线通讯模块是否有收到总线通讯帧;若有收到新的诊断服务命令,所述定时计数器清零,重新开始计数,并在后续从所述总线通讯帧中提取出诊断服务命令;若没有收到新的诊断服务命令,则所述定时计数器即加1;判断所述定时计数器中的计数是否超过预设的阈值;若所述定时计数器中的计数超过了预设的阈值,则认定本次更新过程结束,根据程序的校验标志状态决定进入应用程序操作还是等待重新握手更新。可选地,所述非易失性存储区还存储有应用程序的有效性标志、完整性标志、兼容性标志中的至少一种标志;在引导程序中,在内存空间没有执行过擦除或更新操作前,所述应用程序的这三种标志始终有效;若发生有任一复位,由于应用程序的各个标志有效,复位后进入应用程序,需要重新执行握手功能才能进行更新操作;任何内存空间执行擦除操作后,必须清除应用程序的标志;若在更新过程中出现异常情况或系统复位后,由于应用程序标志无效,无法执行应用程序,系统保持在引导程序中等待系统更新。本专利技术所提供的车用电控单元ECU的在线更新方法,在接收到表示复位的诊断服务命令时,执行系统复位操作以进入引导程序,进入引导程序后,通过硬件初始化和参数初始化,使能更新功能以进入更新功能的主流程,在更新功能的主流程中,定时调用所述总线通讯模块以获取当前的诊断服务命令,并根据所获取的诊断服务命令调度所述程序擦除模块和所述程序更新模块,以完成更新数据的传输及更新。可见,本专利技术可在不改动硬件的情况下,只更新应用程序,通过引导程序更新应用程序的方式来完成产品的更新换代,从而解决现有技术中汽车电控单元更新换代的问题,降低汽车的维修或更新成本。附图说明图1为本专利技术车用电控单元ECU的在线更新方法的概况示意图。图2为本专利技术车用本文档来自技高网...

【技术保护点】
一种车用电控单元ECU的在线更新方法,所述电控单元ECU配置有应用程序和引导程序,所述引导程序包括总线通讯模块、程序擦除模块、程序更新模块,其特征在于,所述车用电控单元ECU的在线更新方法包括:当所述电控单元ECU的应用程序通过调用所述总线通讯模块而接收到表示复位的诊断服务命令时,执行系统复位操作以进入引导程序;进入引导程序后,由所述引导程序读取更新请求标志,并在所述更新请求标志为有效的情况下清除所述更新请求标志,并进行硬件初始化、参数初始化,使能更新功能以进入更新功能的主流程;在更新功能的主流程中,定时调用所述总线通讯模块以获取当前的诊断服务命令,并根据所获取的诊断服务命令调度所述程序擦除模块和所述程序更新模块,以完成更新数据的传输及更新;所述程序擦除模块用于将当前非空状态的内存空间擦除为空白状态,便于后期写入数据;所述程序更新模块用于负责将传输的数据写入到为空白状态的内存空间中;在所有的更新数据传输完成后,对下载更新的应用程序进行一种或多种校验,以确定本次更新的有效性。

【技术特征摘要】
1.一种车用电控单元ECU的在线更新方法,所述电控单元ECU配置有应用程序和引导程序,所述引导程序包括总线通讯模块、程序擦除模块、程序更新模块,其特征在于,所述车用电控单元ECU的在线更新方法包括:当所述电控单元ECU的应用程序通过调用所述总线通讯模块而接收到表示复位的诊断服务命令时,执行系统复位操作以进入引导程序;进入引导程序后,由所述引导程序读取更新请求标志,并在所述更新请求标志为有效的情况下清除所述更新请求标志,并进行硬件初始化、参数初始化,使能更新功能以进入更新功能的主流程;在更新功能的主流程中,定时调用所述总线通讯模块以获取当前的诊断服务命令,并根据所获取的诊断服务命令调度所述程序擦除模块和所述程序更新模块,以完成更新数据的传输及更新;所述程序擦除模块用于将当前非空状态的内存空间擦除为空白状态,便于后期写入数据;所述程序更新模块用于负责将传输的数据写入到为空白状态的内存空间中;在所有的更新数据传输完成后,对下载更新的应用程序进行一种或多种校验,以确定本次更新的有效性;该步骤包括:在所有的更新数据传输完成后,进行校验操作,将校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值进行比较;如果校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值相一致,表明该次更新成功,所述应用程序的有效性标志恢复为有效状态;如果校验得到的校验值与表示更新数据传输完成并校验的诊断服务命令中的校验值不一致,表明该次更新不成功,所述应用程序的有效性标志仍然保持无效状态。2.根据权利要求1所述的车用电控单元ECU的在线更新方法,其特征在于,所述引导程序还包括非易失性存储区;当所述电控单元ECU的应用程序在接收到表示复位的诊断服务命令后,执行系统复位操作以进入引导程序,包括:当所述电控单元的应用程序接收到表示复位的诊断服务命令时,所述电控单元与诊断仪实现握手,所述应用程序则在所述非易失性存储器中写入更新请求标志后,强制执行一次系统复位操作,使得电控单元进入引导程序。3.根据权利要求1所述的车用电控单元ECU的在线更新方法,其特征在于,还包括:由所述引导程序读取更新请求标志,在所述更新请求标志为无效的情况下,所述电控单元则从所述引导程序跳转回到所述应用程序中。4.根据权利要求1所述的车用电控单元ECU的在线更新方法,其特征在于,通过定时调用而获取的当前的诊断服务命令包括:表示后续传输的更新数据的数据长度和存储地址的诊断服务命令、表示传输更新的数据内容的诊断服务命令、以及表示更新数据传输完成并校验的诊断服务命令。5.根据权利要求4所述的...

【专利技术属性】
技术研发人员:朱懿王永和石超
申请(专利权)人:上海信耀电子有限公司
类型:发明
国别省市:上海;31

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

1