掌桥专利:专业的专利平台
掌桥专利
首页

汽车电子控制器的复位管理方法、装置和汽车电子控制器

文献发布时间:2024-04-18 19:58:26


汽车电子控制器的复位管理方法、装置和汽车电子控制器

技术领域

本申请涉及汽车电子技术领域,特别是涉及一种汽车电子控制器的复位管理方法、装置、汽车电子控制器、计算机可读存储介质和计算机程序产品。

背景技术

随着汽车电子控制器硬件及软件技术的发展,常常通过汽车电子控制器(Electronic Control Unit,ECU)来实现汽车车辆的各种功能,比如,汽车防抱死制动系统功能、安全气囊功能、及发动机管理功能等。

相关技术中,在触发ECU的CPU复位的情况下,由于各种复位信息繁多,复位信息难以管理,软件的可移植性和可维护性比较差,难以基于复位信息执行一些复杂的处理动作。

因此,相关技术中,存在着ECU复位管理软件的可移植性和可维护性差的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高汽车电子控制器的复位管理软件的可移植性和可维护性的汽车电子控制器的复位管理方法、装置、汽车电子控制器、计算机可读存储介质和计算机程序产品。

第一方面,本申请提供了一种汽车电子控制器的复位管理方法。所述方法包括:

在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中;

在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息;

根据所述复位信息,确定所述汽车电子控制器的复位类型;

执行与所述复位类型匹配的复位处理子程序。

在其中一个实施例中,所述复位类型包括软件复位、硬件复位和异常复位。

在其中一个实施例中,所述方法还包括:

在CPU发生故障产生异常陷阱的情况下,触发所述汽车电子控制器复位,并跳转到异常向量表中的目标位置,存储对应的异常陷阱信息;所述目标位置为所述异常向量表中与所述异常陷阱对应的异常陷阱类型匹配的位置。

在其中一个实施例中,所述方法还包括:

根据所述复位信息,对于特定复位类型的复位执行复杂处理程序。

在其中一个实施例中,所述根据所述复位信息,对于特定复位类型的复位执行复杂处理程序,包括:

根据所述复位信息,确定在预设时间内发生属于同一特定复位类型的复位的次数;

在所述次数超过预设次数的情况下,所述汽车电子控制器进入刷新模式。

在其中一个实施例中,所述根据所述复位信息,对于特定复位类型的复位执行复杂处理程序,包括:

根据所述复位信息,确定在预设时间内发生属于不同特定复位类型的复位的次数;

在所述次数超过预设次数的情况下,所述汽车电子控制器进入刷新模式。

第二方面,本申请还提供了一种汽车电子控制器的复位管理的控制装置,应用于汽车电子控制器。所述装置包括:

记录模块,用于在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中;

读取模块,用于在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息;

确定模块,用于根据所述复位信息,确定所述汽车电子控制器的复位类型;

执行模块,用于执行与所述复位类型匹配的复位处理子程序。

第三方面,本申请还提供了一种汽车电子控制器。所述汽车电子控制器包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中;

在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息;

根据所述复位信息,确定所述汽车电子控制器的复位类型;

执行与所述复位类型匹配的复位处理子程序。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中;

在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息;

根据所述复位信息,确定所述汽车电子控制器的复位类型;

执行与所述复位类型匹配的复位处理子程序。

第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中;

在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息;

根据所述复位信息,确定所述汽车电子控制器的复位类型;

执行与所述复位类型匹配的复位处理子程序。

上述汽车电子控制器的复位管理的控制方法、装置、汽车电子控制器、计算机可读存储介质和计算机程序产品,在触发汽车电子控制器复位的情况下,软件记录对应的复位信息,并存储至汽车电子控制器的引导程序与应用程序共享的RAM中,如此,共享的RAM可以存放统一的复位信息,在汽车电子控制器产生复位,且汽车电子控制器在再次上电后,通过读取共享的RAM中的复位信息,可以确定上次复位对应的复位类型,并执行与复位类型匹配的复位处理子程序,实现了集中管理各种类型复位,并基于不同类型的复位执行各种特定的措施,以确保汽车电子控制器软件安全运行。本方法通过采用用于存放统一的复位信息的共享RAM,实现了集中管理各种复位产生的复位信息,提高了汽车电子控制器上复位管理软件的可维护性和可移植性,为后续不同汽车电子控制器平台的移植开发降低了开发周期及开发成本。

附图说明

图1为一个实施例中一种汽车电子控制器的复位管理方法的流程示意图;

图2为一个实施例中一种汽车电子控制器的运行过程示意图;

图3为一个实施例中一种复位信息的组成示意图;

图4为一个实施例中一种针对汽车电子控制器的硬件复位电路图;

图5为一个实施例中一种应用软件触发软件复位的示意图;

图6为一个实施例中一种异常陷阱触发软件复位的示意图;

图7为一个实施例中一种汽车电子控制器的复位处理方法的流程示意图;

图8为另一个实施例中一种汽车电子控制器的复位管理方法的流程示意图;

图9为一个实施例中一种汽车电子控制器的复位管理装置的结构框图;

图10为一个实施例中汽车电子控制器的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在一个实施例中,如图1所示,提供了一种汽车电子控制器的复位管理方法,应用于汽车电子控制器(ECU)。本实施例中,该方法包括以下步骤:

步骤S110,在触发汽车电子控制器复位的情况下,记录对应的复位信息,并存储至汽车电子控制器的引导程序与应用程序共享的RAM中。

具体实现中,汽车电子控制器在运行过程中,上电后首先运行汽车电子控制器中的引导程序,在引导程序中验证汽车电子控制器中的应用程序的有效性和完整性,如应用程序有效且完整,则跳转到应用程序。当在引导程序中或应用程序中某些异常情况发生时,触发CPU复位,如果此时汽车电子控制器仍然是上电状态的,则在CPU复位后重新进入引导程序。为了便于本领域技术人员理解,图2提供了一种汽车电子控制器的运行过程示意图。

其中,在触发汽车电子控制器的CPU复位的情况下,在产生CPU复位前,ECU软件可以记录对应的复位信息,并将复位信息存储至汽车电子控制器的引导程序与应用程序共享的RAM空间中。以上过程中可以作为复位管理方法中的软件处理的第一部分,并记为复位状态1。

其中,如图3所示,复位信息可以包括:

(1)复位组,将所有的复位类型分组,如硬件复位组,异常陷阱组等;

(2)复位类型,不同的原因触发的复位都会分到一个唯一的类型码,这个类型码称为复位类型,如看门狗复位等;

(3)系统复位时程序运行指针的值;

(4)复位时当前系统的运行状态;

(5)当前循环的复位次数;

(6)复位时当前的系统时间;

(7)上一次复位时的系统时间;

(8)软件自定义数据。

如此,通过记录上述复位信息,使得汽车电子控制器的复位管理方法的架构更为合理,可以记录更多复位相关的信息,例如复位组别、复位类型、复位时的程序指针、复位时的系统时间等,便于追朔复位原因及问题,从而可以在查检复位原因时,节省更多的时间。

步骤S120,在汽车电子控制器再次上电后,读取RAM中的复位信息。

具体实现中,在产生CPU复位,ECU再上电后,进入引导程序,ECU软件可以读取RAM中的复位信息。

步骤S130,根据复位信息,确定汽车电子控制器的复位类型。

具体实现中,ECU软件可以根据复位信息,确定ECU中CPU复位对应的复位类型。

步骤S140,执行与复位类型匹配的复位处理子程序。

其中,复位类型包括软件复位、硬件复位和异常复位。

其中,为了便于本领域技术人员理解,图4提供了一种针对汽车电子控制器的硬件复位电路图,如图4所示,硬件复位电路包括供电模块、监控芯片和主控CPU。其中,供电模块的RST(复位)端以及主控CPU的I/O端通过与门与监控芯片的RST端电性连接;供电模块的RST端以及监控芯片的I/O端通过与门与主控CPU的PORST(Power On RESET,上电复位)端电气连接。其中,

主控CPU具体可以存在以下几种复位类型:

(1)当主控CPU上电时(PORST(Power On RESET,上电复位)被拉低),主控CPU产生复位;

(2)当主控CPU异常时,监控芯片可以通过主控CPU复位控制信号拉低PORST引脚,主控CPU产生复位;

(3)应用软件功能模块触发的主控CPU软件复位;

(4)主控CPU出现异常(如硬件异常,软件缺陷等)产生的异常复位。

当ECU发生复位再上电时软件启动过程中,要根据上一次发生的复位类型,进行相关的软件处理,如部分区域的RAM(Random Access Memory,随机存取存储器)的初始化或校验等等。而通过本申请的复位信息管理方法可以满足上述需求。

上述汽车电子控制器的复位管理方法中,在触发汽车电子控制器复位的情况下,软件记录对应的复位信息,并存储至汽车电子控制器的引导程序与应用程序共享的RAM中,如此,共享的RAM可以存放统一的复位信息,在汽车电子控制器产生复位,且汽车电子控制器在再次上电后,通过读取共享的RAM中的复位信息,可以确定上次复位对应的复位类型,并执行与复位类型匹配的复位处理子程序,实现了集中管理各种类型复位,并基于不同类型的复位执行各种特定的措施,以确保汽车电子控制器软件安全运行。本方法通过采用用于存放统一的复位信息的共享RAM,实现了集中管理各种复位产生的复位信息,提高了汽车电子控制器上复位管理软件的可维护性和可移植性,为后续不同汽车电子控制器平台的移植开发降低了开发周期及开发成本。

在一些实施例中,在CPU复位又重新运行时,对复位信息的判断及相关信息的处理,可以作为复位管理方法中的软件处理中的另一部分,并记为复位状态2。

具体的,当CPU复位又重新运行时,ECU软件需要检测上一次的复位信息,然后做相应的软件处理。对于属于特定复位类型的复位,ECU软件可以根据复位信息,对于特定复位类型的复位执行复杂处理程序;例如,ECU软件可以根据复位信息,确定在预设时间内发生属于同一特定复位类型的复位的次数;在发生复位的次数超过预设次数的情况下,ECU进入刷新模式;或者,ECU软件可以根据复位信息,确定在预设时间内发生属于不同特定复位类型的复位的次数;在发生复位的次数超过预设次数的情况下,ECU进入刷新模式。

实际应用中,ECU软件可以通过应用软件的配置设置在规定的时间内,如果发生了预设次数的属于同一种特定复位类型的CPU复位,或在默认的时间内发生预设次数的属于不同特定复位类型的CPU复位,ECU将进入刷新模式。如此,不仅可以防止CPU一旦出问题而不停的复位损坏ECU,并且,ECU进入刷新模式后可以重新刷写软件或读取故障ECU的故障数据。

在一些实施例中,CPU运行时,根据上一次的复位信息做相应系统要求的处理,可以作为复位管理方法中的软件处理中的另一部分,并记为复位状态3。

具体的,当CPU在运行时,两种源触发CPU复位:

(1)根据应用软件各个模块的具体情况来决定是否在某些特定情况下触发CPU复位,如图5所示,提供了一种应用软件触发软件复位的示意图。软件复位接口函数处理的内容为复位状态1中提到的需要处理的复位信息。

(2)当CPU自身发生故障而产生异常陷阱时,CPU存储异常陷阱信息,并触发CPU复位。本申请的ECU中所用的微处理器MCU(Microcontroller Unit,)有八种异常陷阱类型,每种异常陷阱类型在异常向量表中占32个Byte(字节)的大小。即,各异常陷阱类型在异常向量表中对应不同位置。当异常陷阱发生时,ECU程序会自动跳转到引导程序和应用程序共享的异常向量表中,与该异常陷阱对应的异常陷阱类型匹配的位置,如图6所示。软件复位接口函数处理的内容为复位状态1中提到的需要处理的复位信息。

如此,通过在不同复位状态(复位状态1~3)中,保存复位信息,判断复位状态及处理相关的复位信息,通过共享异常向量表和部分RAM资源,统一管理引导程序和应用程序,便于相关的复位信息及状态的共享。

在一些实施例中,如图7所示,提供了一种汽车电子控制器的复位处理方法的流程示意图。当ECU由于CPU复位重新进入引导程序或应用程序时,在复位状态2和复位状态3中ECU软件需读取复位信息判断复位类型:首先在共享的RAM中读取复位信息,识别上次复位操作对应的复位类型,如果是由硬件模块触发的复位(例如看门狗复位、硬件错误复位等,即复位类型为硬件复位),ECU软件会执行相应的复位处理子程序(即为硬件复位处理子程序),该硬件复位处理子程序可以用于执行停留在引导程序中等待刷新、关闭与安全相关的输出并存储故障信息等操作;如果是由异常陷阱触发的复位,即复位类型为异常复位,则ECU软件读取由复位状态1记录的复位信息,并执行与异常复位匹配的复位处理子程序(即为异常陷阱复位处理子程序);如果是由软件触发的复位,即复位类型为软件复位,则ECU软件会读取由复位状态1记录的复位信息,并根据复位信息确定复位组及复位类型,执行软件复位对应的复位处理子程序(即为软件复位处理子程序),该软件复位处理子程序可以用于执行应用软件更新等操作;若ECU的CPU复位是由于正常硬件上电触发的PORST复位,则ECU程序执行正常的处理流程(如RAM初始化等),并开始执行其他程序功能模块。

本申请提出的汽车电子控制器的复位管理方法相较于现有的汽车电子控制器的复位管理方法,架构更为合理化,集中管理各种复位类型,能记录更多与相关的复位信息,例如复位组别、复位类型、复位时的程序指针、复位时的系统时间等,便于追朔复位原因及问题,在查检复位原因时,可以节省更多的时间。另一方面,合理的架构提升了复位管理软件模块的可维护性和可移植性,为后续不同ECU平台的移植开发降低了开发周期及开发成本。

在另一个实施例中,如图8所示,提供了一种汽车电子控制器的复位管理方法,包括以下步骤:

步骤S802,在触发汽车电子控制器复位的情况下,记录对应的复位信息,并存储至汽车电子控制器的引导程序与应用程序共享的RAM中。

步骤S804,在汽车电子控制器再次上电后,读取RAM中的复位信息。

步骤S806,根据复位信息,确定所述汽车电子控制器的复位类型。

步骤S808,执行与复位类型匹配的复位处理子程序。

步骤S810,根据复位信息,对于特定复位类型的复位执行复杂处理程序。

上述步骤的具体限定可以参见上文对一种汽车电子控制器的复位管理方法的具体限定,在此不再赘述。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的汽车电子控制器的复位管理方法的汽车电子控制器的复位管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个汽车电子控制器的复位管理装置实施例中的具体限定可以参见上文中对于一种汽车电子控制器的复位管理方法的限定,在此不再赘述。

在一个实施例中,如图9所示,提供了一种汽车电子控制器的复位管理装置,应用于汽车电子控制器,所述装置包括:记录模块910、读取模块920、确定模块930和执行模块940,其中:

记录模块910,用于在触发所述汽车电子控制器复位的情况下,记录对应的复位信息,并存储至所述汽车电子控制器的引导程序与应用程序共享的RAM中。

读取模块920,用于在所述汽车电子控制器再次上电后,读取所述RAM中的复位信息。

确定模块930,用于根据所述复位信息,确定所述汽车电子控制器的复位类型。

执行模块940,用于执行与所述复位类型匹配的复位处理子程序。

在其中一个实施例中,所述复位类型包括软件复位、硬件复位和异常复位。

在其中一个实施例中,所述记录模块910,还用于在CPU发生故障产生异常陷阱的情况下,触发所述汽车电子控制器复位,并跳转到异常向量表中的目标位置,存储对应的异常陷阱信息;所述目标位置为所述异常向量表中与所述异常陷阱对应的异常陷阱类型匹配的位置。

在其中一个实施例中,所述执行模块940,还用于根据所述复位信息,对于特定复位类型的复位执行复杂处理程序。

在其中一个实施例中,所述执行模块940,还具体用于根据所述复位信息,确定在预设时间内发生属于同一所述特定复位类型的复位的次数;在所述次数超过预设次数的情况下,所述汽车电子控制器进入刷新模式。

在其中一个实施例中,所述执行模块940,还具体用于根据所述复位信息,确定在预设时间内发生属于不同所述特定复位类型的复位的次数;在所述次数超过预设次数的情况下,所述汽车电子控制器进入刷新模式。

上述汽车电子控制器的复位管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于汽车电子控制器中的处理器中,也可以以软件形式存储于汽车电子控制器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种汽车电子控制器,其内部结构图可以如图10所示。该汽车电子控制器包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该汽车电子控制器的处理器用于提供计算和控制能力。该汽车电子控制器的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该汽车电子控制器的数据库用于存储复位信息数据。该汽车电子控制器的输入/输出接口用于处理器与外部设备之间交换信息。该汽车电子控制器的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种汽车电子控制器的复位管理方法。

本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的汽车电子控制器的限定,具体的汽车电子控制器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,还提供了一种汽车电子控制器,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。

需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 汽车电子控制器软件管理方法及其装置
  • 一种汽车电子控制器测试用的自动对接装置
技术分类

06120116489756