一种防软件僵死的电子控制单元的诊断方法与流程

文档序号:12270118阅读:260来源:国知局
一种防软件僵死的电子控制单元的诊断方法与流程

本发明涉及汽车电子检测技术领域,尤其涉及一种防软件僵死的电子控制单元的诊断方法。



背景技术:

汽车控制系统的电子控制单元(ECU)中包括UDS(统一诊断服务)等协议标准的诊断功能,以及基于诊断服务而实现的独立的安全的应用软件/数据刷新功能已经逐步成为了电子控制单元除应用功能以外的标配。基于UDS协议标准的诊断软件和刷新程序主要符合和参考了ISO15765-3以及HIS标准关于刷新程序及流程机制的定义。刷新程序和电子控制单元应用软件以独立的方式存储和运行,通过UDS诊断服务进行运行空间和状态的切换。典型的刷新程序工作过程分为三个阶段:预烧写阶段、烧写阶段、烧写后阶段。

在电子控制单元开发阶段,应用程序有可能存在错误,比如死循环或者应用程序中的诊断功能不正常等。如果应用程序存在死循环或者诊断功能不正常,当通过刷新程序下载应用程序后,应用程序不能再次通过诊断服务切换到刷新程序运行空间进行再次刷新,进而不能重新下载应用程序来修改有问题的应用程序,这种现象称为僵死。出现僵死后,只能通过调试器或者生产线工具来重置,电子控制单元的刷新程序功能失效。因此,在开发阶段,目前行业内的刷新程序都附加了一个启动延时机制来解决该问题,即通过在开发阶段的电子控制单元上电后,如果没有显式的刷新请求,即使应用有效也不会立即跳转到应用程序,而是会在刷新程序空间停留一定时间,在这个时间内诊断仪或刷新上位机软件可以发起和电子控制单元的诊断服务处理来启动和完成刷新流程,再次下载应用程序。在电子控制单元稳定成熟后产品化时,刷新程序的启动延时机制通常会被关闭。如果在产品化后关闭启动延时机制,电子控制单元产品后期的升级和维护同样存在僵死的问题和风险。如果在产品化后不关闭启动延时机制,电子控制单元的日常启动过程中每次都需要进行启动延时处理。虽然这个延时时间值在开发阶段通过测试和验证可以设置为一个相对合适的值,但对启动时间严苛的电子控制单元始终是一个不太理想的选择。因此,现有电子控制单元刷新软件机制和实现,不能在满足严苛的启动时间限制同时确保应用程序出问题导致僵死得到解决,需要对僵死的产品进行拆卸处理。



技术实现要素:

针对现有技术中对下载的应用程序进行刷新写入存在的上述问题,现提供一种旨在实现不采用延时启动,可有效避免程序僵死导致应用程序刷新写入失败,需要通过相关调试器进行调试的问题,以及对下载的程序进行有效的诊断的防软件僵死的电子控制单元的诊断方法

具体技术方案如下:

一种防软件僵死的电子控制单元的诊断方法,应用于汽车电子控制单元;其特征在于,所述电子控制单元提供一刷新程序,用以从一上位机下载应用程序并进行刷新操作;

所述电子控制单元提供一刷新空间;

所述诊断方法包括以下步骤:

步骤S1,判断所述电子控制单元当前的停留状态,并在停留在所述刷新空间时转向步骤S2;

步骤S2,所述电子控制单元从所述上位机下载应用程序;

步骤S3,判断是否需要将所述电子控制单元切换至一包括所述应用程序的应用程序空间,并在需要切换时转向步骤S4;

步骤S4,提供一诊断程序对下载的所述应用程序的核心功能进行诊断:

若诊断结果表示所述核心功能不正确,则返回步骤S1;

步骤S5,将电子控制单元切换至停留在刷新空间,随后退出。

优选的,针对所述应用程序预设:

一用于判断所述应用程序的通信功能是否有效的诊断标记;

一用于判断所述应用程序是否有效的应用程序标记;

一用于判断是否请求所述刷新程序进行刷新的刷新请求标记;以及

一用于判断所述刷新程序当前的上电流程的烧写标记;

于所述电子控制单元中仅存在所述刷新程序时,将所述诊断标记、所述应用程序标记、所述刷新请求标记以及所述烧写标记均设置为无效;

则所述步骤S1具体包括:

步骤S11,判断所述烧写标记是否有效,并在所述烧写标记无效时转向步骤S12;

步骤S12,判断所述刷新请求标记是否有效,并在所述刷新请求标记无效时转向步骤S13;

步骤S13,判断所述诊断标记是否有效,并在所述诊断标记无效时转向步骤S14;

步骤S14,将所述电子控制单元停留在所述刷新空间中,并转向所述步骤S2。

优选的,所述步骤S2具体包括:

步骤S21,所述电子控制单元下载所述应用程序;

步骤S22,所述电子控制单元对所述应用程序进行一致性检查,并在所述一致性检查的过程中将所述烧写标记和所述应用程序标记分别设置为有效;

步骤S23,所述电子控制单元不断电复位,随后转向所述步骤S3。

优选的,所述步骤S2中,在所述电子控制单元从所述上位机下载应用程序后将所述烧写标记和所述应用程序标记分别设置为有效,随后所述电子控制单元不断电复位;

则所述步骤S3具体包括:

步骤S31,判断所述烧写标记是否有效,并在所述烧写标记有效时转向步骤S32;

步骤S32,判断所述刷新请求标记是否有效,并在所述刷新请求标记无效时转向步骤S33;

步骤S33,判断所述应用程序标记是否有效,并在所述应用程序标记有效时转向步骤S34;

步骤S34,将所述电子控制单元切换至所述应用程序空间,随后转向所述步骤S4。

优选的,所述诊断标记和所述应用程序标记分别为断电后不丢失的标记;以及

所述刷新请求标记和所述烧写标记分别为断电后丢失的标记;

则所述步骤S4中,在所述应用程序的所述核心功能诊断不正确时,所述电子控制单元断电后复位,并返回所述步骤S1。

优选的,所述步骤S5具体包括:

步骤S51,所述电子控制单元判断是否能够从所述应用程序空间切换回所述刷新空间,并在能够切换回所述刷新空间时将所述刷新请求标记设置为有效,随后不断电复位;

步骤S52,判断所述烧写标记是否有效,并在所述烧写标记有效时转向步骤S53;

步骤S53,判断所述刷新请求标记是否有效,并在所述刷新请求标记有效时转向步骤S54;

步骤S54,将所述诊断标记设置为有效,并将所述烧写标记设置为无效,随后将所述电子控制单元切换回所述刷新空间并退出。

优选的,所述诊断标记和所述应用程序标记分别为断电后不丢失的标记;

将所述诊断标记和所述应用程序标记分别保存在一非易失性存储模块中。

优选的,所述非易失性存储器为Flash存储器,或者为电可擦可编程只读存储器。

上述技术方案具有如下优点或有益效果:通过对下载的应用程序进行诊断可有效的防止程序写入出现僵死,避免在出现程序僵死时需要调试器进行复杂的调试带来的费时费力的问题,以及避免使用延时启动带来的电子控制单元控制难度较大,对僵死的程序不能很好的解决,需要对僵死的产品进行拆卸处理的缺陷。

附图说明

参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。

图1为本发明一种防软件僵死的电子控制单元的诊断方法实施例的流程图;

图2为本发明一种防软件僵死的电子控制单元的诊断方法实施例中,关电子控制单元判断当前停留状态的的流程示意图;

图3为本发明一种防软件僵死的电子控制单元的诊断方法实施例中,关于下载所述应用程序的流程示意图;

图4为本发明一种防软件僵死的电子控制单元的诊断方法实施例中,关于电控单元切换至应用程序的应用程序空间的流程示意图;

图5为本发明一种防软件僵死的电子控制单元的诊断方法实施例中,关于电子控制单元切换至停留在刷新空间的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

本发明的技术方案中包括一种防软件僵死的电子控制单元的诊断方法。

一种防软件僵死的电子控制单元的诊断方法的实施例,应用于汽车电子控制单元;其特征在于,所述电子控制单元提供一刷新程序,用以从一上位机下载应用程序并进行刷新操作;

如图1所示,诊断方法包括以下步骤:

电子控制单元提供一刷新空间;

诊断方法包括以下步骤:

步骤S1,判断电子控制单元当前的停留状态,并在停留在刷新空间时转向步骤S2;

步骤S2,电子控制单元从上位机下载应用程序;

步骤S3,判断是否需要将电子控制单元切换至一包括应用程序的应用程序空间,并在需要切换时转向步骤S4;

步骤S4,提供一诊断程序对下载的应用程序的核心功能进行诊断:

若诊断结果表示核心功能不正确,则返回步骤S1;

步骤S5,将电子控制单元切换至停留在刷新空间,随后退出。

在汽车的电子控制单元的开发阶段,通常是通过电子控制单元中的刷新程序于外部下载应用程序,或者对应用程序进行刷新操作等,本发明中通过电子控制单元中的刷新程序于外部下载应用程序,并将下载的应用程序写入的具体操作如下:

电子控制单元中预先写入有刷新程序,用以于上位机中下载应用程序其中应用程序可包括新的应用程序或者是对原有应用程序的刷新,首先电子控制单元通过初始化启动后,判断电子控制单元当前的停留状态,并在电子控制单元停留在刷新空间时,通过与上位机通信下载应用程序,于下载应用程序后判断电子控制单元是否需要进入应用程序的应用空间,在需要切换至应用程序空间时,对当前的应用程序进行核心功能检查,并在核心功能正确后,切换至刷新空间;若核心功能不正确,则需要重新返回判断电子控制单元的停留状态,以防止应用程序在下载过程中核心功能不正确时出现的僵死状态。

需要说明的是,在初次写入应用程序时,电子控制单元中仅存在刷新程序,因此判断出的状态是电子控制单元仅停留在刷新空间;

若电子控制单元中原存在应用程序,则电子控制单元直接判断应用程序是否需要刷新,并在需要刷新时,与上位机通信息,获取刷新的应用程序后电子控制单元进入应用程序空间,以对当前的应用程序进行核心功能进行检查;

电子控制单元通过与上位机通信以下载应用程序,根据下载的应用程序电子控制单元切换至应用程序的应用程序空间;

在一种较优的实施方式中,针对应用程序预设:

一用于判断应用程序的通信功能是否有效的诊断标记,其中诊断标记的有效表示应用程序的通信功能正常,若无效则表示,应用程序不能切换回刷新空间;

一用于判断应用程序是否有效的应用程序标记,其中应用程序的有效表示可应用程序可正常烧写,无效则表示应用程序无法正常烧写;

一用于判断是否请求刷新程序进行刷新的刷新请求标记,其中刷新请求标记的有效表示,通过刷新程序对应用程序进行刷新,无效则表示不需要刷新程序对应用程序进行刷新操作;

以及

一用于判断刷新程序当前的上电流程的烧写标记,其中烧写标志有效,表示启动上电流程对应用程序进行写入操作,若无效则不进行刷新程序的上电流程操作。

于电子控制单元中仅存在刷新程序时,将诊断标记、应用程序标记、刷新请求标记以及烧写标记均设置为无效;

如图2所示,则步骤S1具体包括:

步骤S11,判断烧写标记是否有效,并在烧写标记无效时转向步骤S12;

步骤S12,判断刷新请求标记是否有效,并在刷新请求标记无效时转向步骤S13;

步骤S13,判断诊断标记是否有效,并在诊断标记无效时转向步骤S14;

步骤S14,将电子控制单元停留在刷新空间中,并转向步骤S2。

上述技术方案中,需要说明的是,因为此时的控制单元仅存在刷新程序,因此上述的每个标记均是无效状态,因此步骤S1最终转向步骤S2,通过与上位机通信下载应用程序。

在一种较优的实施方式中,如图3所示,步骤S2具体包括:

步骤S21,电子控制单元下载应用程序;

步骤S22,电子控制单元对应用程序进行一致性检查,并在一致性检查的过程中将烧写标记和应用程序标记分别设置为有效;

步骤S23,电子控制单元不断电复位,随后转向步骤S3

上述技术方中,刷新程序每次下载的应用程序需要电子控制单元的一致性检查,其检查的目的是判断应用程序是否是对原有的程序进行刷新,并在检查后对当前的应用程序进行标记,其标记包括应用程序的有效标记,以及烧写标记;

在检查结束后,电子控制单元会自动不断电复位,以执行上述的步骤S3。

在一种较优的实施方式中,步骤S2中,在电子控制电子控制单元从上位机下载应用程序后将烧写标记和应用程序标记分别设置为有效,随后电子控制单元不断电复位;

如图4所示,则步骤S3具体包括:

步骤S31,判断烧写标记是否有效,并在烧写标记有效时转向步骤S32;

步骤S32,判断刷新请求标记是否有效,并在刷新请求标记无效时转向步骤S33;

步骤S33,判断应用程序标记是否有效,并在应用程序标记有效时转向步骤S34;

步骤S34,将电子控制单元切换至应用程序空间,随后转向步骤S4。

上述技术方案中,需要说明的应用程序被下载后,其烧写标记以及应用程序标记被标记为有效,因此在上述步骤S31中,烧写标记判断时直接有效时,而此时刷新请求未被设置,因此判断直接转向对应用程序标记的有效性判断,而应用程序标记已经被设置为有效,因此电子控制单元直接切换至应用空间。

在一种较优的实施方式中,诊断标记和应用程序标记分别为断电后不丢失的标记;以及

刷新请求标记和烧写标记分别为断电后丢失的标记;

则步骤S4中,在应用程序的核心功能诊断不正确时,电子控制单元断电后复位,并返回步骤S1。

上述技术方案中,在应用程序的核心功能诊断不正确,则需要通过断电复位后重新进入刷新空间。

在一种较优的实施方式中,如图5所示,步骤S5具体包括:

步骤S51,电子控制单元判断是否能够从应用程序空间切换回刷新空间,并在能够切换回刷新空间时将刷新请求标记设置为有效,随后不断电复位;

步骤S52,判断烧写标记是否有效,并在烧写标记有效时转向步骤S53;

步骤S53,判断刷新请求标记是否有效,并在刷新请求标记有效时转向步骤S54;

步骤S54,将诊断标记设置为有效,并将烧写标记设置为无效,随后将电子控制单元切换回刷新空间并退出。

上述技术方案中,需要说明的是,烧写标记在上述步骤中已刷新请求标记,刷新请求标记,已经被设置为有效,因此上述判断均是在有效状态。

在本发明的一个具体实施例中,以电子控制单元当前只有刷新软件没有应用软件的情况为初始状态对上述技术方案进行详细描述:

当电子控制单元只有刷新软件而没有应用程序时,应用程序标记和诊断标记都无效,刷新请求标记和烧写标记都无效;

最终电子控制单元停在了刷新软件运行的刷新空间,刷新上位机软件可以与电子控制单元进行诊断服务通信并处理,按照同现有机制一致的烧写阶段流发起并完成应用程序的下载;

下载应用程序完成后,完成应用程序的静态检查,设置应用程序标记,同时额外设置烧写标记为有效,烧写后阶段,然后电子控制单元按照新的烧写后流程发起电子控制单元的不断电复位;

不断电复位后,电子控制单元重新运行上述流程,此时应用程序假设为有效,即刚刚烧写的应用程序静态有效,烧写标记也刚刚被设置了,但刷新请求标记未被设置;

根据上述流程,程序最终进入了刚刚下载的应用程序的程序应用空间;

在新的应用程序下,通过例程控制(UDS 0x31服务)等诊断服务,电子控制单元进行其特定的核心功能检查,以确定新的应用程序核心功能是否正确,该部分根据电子控制单元可定制;

如果核心功能不正确,不继续进行后续处理,这种情况下如果断电复位,电子控制单元最终后续会停留在刷新软件运行空间,因为诊断标记无效,后续可以进行再次发起和完成应用程序下载;

如果核心功能正确,进行后续处理,其中通过UDS诊断服务(10 02)(其中UDS诊断服务10即诊断会话控制服务,实现诊断会话级别的切换;

UDS诊断服务02子功能表示的会话类型为编程会话,诊断仪或上位机系统通过10 02诊断服务请求ECU电子控制单元由应用运行空间切换到刷新软件的刷新空间,进入刷新编程模式)

再次试图切换回刷新空间,检测新的应用程序能否通过诊断服务切换回刷新空间;

如果能够成功通过(10 02)诊断服务复位切换到刷新空间,电子控制单元能够成功进行不断电复位,会再一次上述流程,此时烧写标记和刷新请求标记都为有效,那么刷新软件设置诊断标记为有效,即已经通过应用程序的真实运行功能验证了能够从新的应用程序空间成功切换回刷新空间。

需要说明的是,由于上述步骤已经执行完整个应用程序诊断的流程,可以得出,诊断标记,应用程序标记,刷新请求标记,烧写标记在诊断过程中会被标记为有效,但是电子控制单元在执行判断过程之前并不会事先获知上述标记有效,因此在执行诊断过程中,还是会执行判断上述标记是否有效的判断过程。

在一种较优的实施方式中,诊断标记和应用程序标记分别为断电后不丢失的标记;

将诊断标记和应用程序标记分别保存在一非易失性存储模块中。

在一种较优的实施方式中,非易失性存储器为Flash存储器,或者为电可擦可编程只读存储器。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1