一种程序控制方法、装置及汽车与流程

文档序号:12665065阅读:190来源:国知局
一种程序控制方法、装置及汽车与流程

本发明涉及汽车技术领域,特别涉及一种程序控制方法、装置及汽车。



背景技术:

功能安全ISO 26262标准是以IEC61508为基础,为满足道路车辆上特定电子电气系统的需求而编写。安全是未来汽车发展的关键问题之一,不仅在驾驶辅助和动力驱动领域,而且在车辆动态控制和主被动安全系统领域,新的功能越来越多地触及到系统安全工程领域。这些功能的开发和集成将强化对安全相关系统开发流程的需求,并且要求提供满足所有合理的系统安全目标的证明。随着技术日益复杂、软件内容和机电一体化应用不断增加,来自系统性失效和硬件随机失效的风险逐渐增加。

功能安全对整车控制器的时间监控和程序流监控有严格的要求。目前整车控制器都在采用操作系统调度程序运行,保证程序在时间及时序的可靠性显得至关重要,直接影响整车控制器的稳定性和安全性,一旦由于晶振异常或其他原因,造成TASK(任务)执行过快或过慢,造成非预期的程序卡滞在某一位置陷入死循环,或是未按照正常的执行顺序进行运行,在没有有效的在线监控机制下,没有进行有效处理,很容易出现安全事故。



技术实现要素:

本发明实施例要解决的技术问题是提供一种程序控制方法、装置及汽车,用以实现通过看门狗模块对整车控制器的程序运行进行监测,在程序运行故障时及时对程序进行复位,提高系统的稳定性和安全性。

为解决上述技术问题,本发明实施例提供了一种程序控制方法,应用于整车控制器,所述整车控制器包括一看门狗模块,所述程序控制方法包括:

检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

判断所述运行状态参数是否符合预设运行条件,当不符合时,控制所述看门狗模块对所述预设程序进行复位。

进一步的,所述程序控制方法还包括:

当所述发送检测时间不符合喂狗信号的预设发送时间时,控制所述看门狗模块对所述预设程序进行复位。

进一步的,所述检测预设程序在预设时间段内发送喂狗信号的发送检测时间的步骤包括:

控制所述预设程序在所述预设时间段内运行预设运行次数后发送喂狗信号;

根据发送所述喂狗信号的时间,确定发送检测时间。

进一步的,在所述当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数的步骤前,所述程序控制方法还包括:

获取所述预设程序运行一次的理论运行时间和发送所述喂狗信号的预设运行次数;

根据所述理论运行时间和所述预设运行次数,获得理论发送时间;

根据所述理论发送时间和预设容错时间,获得所述预设发送时间。

进一步的,所述运行状态参数包括所述预设程序的运行次数;

其中,所述获取预设程序在预设时间段内的运行状态参数的步骤包括:

获取所述预设程序在所述预设时间段内的每一运行过程的运行完成时间;

根据所述运行完成时间和所述预设时间段,获得所述预设程序在所述预设时间段内的运行次数。

进一步的,所述判断所述运行状态参数是否符合预设运行条件的步骤包括:

判断所述运行次数是否位于预设次数区间内;

当所述运行次数位于所述预设次数区间内时,确定所述运行状态参数符合预设运行条件;

当所述运行次数位于所述预设次数区间外时,确定所述运行状态参数不符合预设运行条件。

进一步的,所述程序控制方法还包括:

获取所述预设程序的每一子程序的实时运行时间;

根据所述每一子程序的实时运行时间,确定所述预设程序的每一所述子程序的实时运行顺序;

将所述实时运行顺序与预设运行顺序进行比较;

当所述实时运行顺序与所述预设运行顺序不一致时,控制所述看门狗模块对所述预设程序进行复位。

本发明实施例还提供了一种程序控制装置,所述程序控制装置包括:

检测模块,用于检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

第一获取模块,用于当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

第一控制模块,用于判断所述运行状态参数是否符合预设运行条件,当不符合时,控制看门狗模块对所述预设程序进行复位。

进一步的,所述第一控制模块还用于:

当所述发送检测时间不符合喂狗信号的预设发送时间时,控制所述看门狗模块对所述预设程序进行复位。

本发明实施例还提供了一种汽车,包括整车控制器,所述整车控制器包括一看门狗模块,其中,所述整车控制器能够执行以下步骤:

检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

判断所述运行状态参数是否符合预设运行条件,当不符合时,控制所述看门狗模块对所述预设程序进行复位。

与现有技术相比,本发明实施例提供的一种程序控制方法、装置及汽车,至少具有以下有益效果:本发明实施例通过在整车控制器中设置看门狗模块,对程序运行进行监测,当程序运行异常时能及时发现,并对所述程序进行复位,防止事故发生,提高系统的稳定性和安全性。同时,本发明实施例通过对发送喂狗信号的时间进行判断,继而通过对预设时间段内程序运行次数进行进一步的判断,最后还根据程序的子程序的运行顺序进行判断,三者结合判断确保程序运行正常,进一步提高了系统的稳定性和安全性。

附图说明

图1为本发明第一实施例的程序控制方法的流程图;

图2为本发明第二实施例的程序控制方法的流程图;

图3为本发明第三实施例的程序控制方法的流程图;

图4为本发明第四实施例的程序控制方法的流程图;

图5为本发明第五实施例的程序控制方法的流程图;

图6为本发明第六实施例的程序控制方法的流程图;

图7为本发明第七实施例的程序控制方法的流程图;

图8为本发明第八实施例的程序控制装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

第一实施例

参见图1,本发明实施例提供了一种程序控制方法,应用于整车控制器,所述整车控制器包括一看门狗模块,所述程序控制方法包括:

步骤101,检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

步骤102,当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

其中,鉴于程序在运行时往往会产生一定的偏差,例如理想状态下一程序运行完成的时间为5ms(毫秒),但是其实际运行时可能运行完成时间为5.5ms,此时亦可判断其运行基本正常(其误差值可根据不同的程序进行预设,对于不同的程序对其精度要求可能有所不同)。故而,对于上述预设发送时间优选为一区间值,对于不同的预设程序其预设发送时间亦可能有所不同(完成时间的精度要求不同)。

步骤103,判断所述运行状态参数是否符合预设运行条件,当不符合时,控制所述看门狗模块对所述预设程序进行复位。

本实施例对预设程序的发送喂狗信号的发送检测时间进行判断,判断其是否在窗口期内进行喂狗(本实施例的看门狗为窗口看门狗),当其喂狗时间符合预设条件时,可判断其在喂狗前程序运行正常。但是,窗口看门狗仅能对其喂狗时间前运行是否正常进行判断,对于喂狗后的关窗时间若发生异常只能等待下一周期的检测,若一味减小其检测周期的时间则会增大其运行负担。故而,本发明实施例还根据所述预设程序在预设时间段内的运行状态参数进一步判断其运行是否正常,其预设时间段在本实施例中与窗口看门狗的检测的周期相同,可对其喂狗信号发送后的程序运行进行检测。本发明实施例通过在整车控制器中设置看门狗模块,对程序运行进行监测,当程序运行异常时能及时发现,并对所述程序进行复位,防止事故发生,提高系统的稳定性和安全性。

第二实施例

参见图2,相比于第一实施例,本实施例的所述程序控制方法还包括:

步骤201,当所述发送检测时间不符合喂狗信号的预设发送时间时,控制所述看门狗模块对所述预设程序进行复位。

在本实施例中,当检测到发送喂狗信号的发送检测时间不符合喂狗信号的预设发送时间时(也即是未在窗口期进行喂狗),则直接控制看门狗模块对预设程序进行复位。

其中,当程序卡死时,未发送喂狗信号则当在一检测周期内可判断其喂狗信号发送时间为0或周期的最大值,对于此种情况其时间不可能处于预设发送时间内,则亦控制看门狗模块对预设程序进行复位。

第三实施例

参见图3,对于第一实施例中,所述检测预设程序在预设时间段内发送喂狗信号的发送检测时间的步骤包括:

步骤301,控制所述预设程序在所述预设时间段内运行预设运行次数后发送喂狗信号;

步骤302,根据发送所述喂狗信号的时间,确定发送检测时间。

在本实施例中,预先设置预设程序运行预设次数时,控制所述预设程序发送喂狗信号。例如,设置预设程序在运行10次后发送喂狗信号,则当预设程序运行10次后则控制所述预设程序发送喂狗信号。

其中,上述为本发明一实施例,在本发明另一实施例中,喂狗信号的发送由预先设置于所述预设程序内的触发程序进行控制,当满足触发条件时(例如所述预设程序运行了10次),则控制所述预设程序发送喂狗信号。即由程序自身进行判断并控制发送喂狗信号。

第四实施例

参见图4,对于第一实施例中,在所述当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数的步骤前,所述程序控制方法还包括:

步骤401,获取所述预设程序运行一次的理论运行时间和发送所述喂狗信号的预设运行次数;

例如,一预设程序在理论的设计下完成运行一次的时间为5ms,预设当所述预设程序运行10次时发送喂狗信号。

步骤402,根据所述理论运行时间和所述预设运行次数,获得理论发送时间;

继续上述举例,则当所述预设程序在理论状况下,50ms时应当完成10此运行并在完成10次运行时发送喂狗信号。

步骤403,根据所述理论发送时间和预设容错时间,获得所述预设发送时间。

继续上述举例,则在理想状态下,当检测到喂狗信号的发送检测时间为50ms时,可判断所述预设程序运行正常。但是,在实际状况下,程序运行可能出现一定的偏差,例如程序完成一次运行的时间为5.5ms,则在精度要求为1ms时,亦可认为程序运行正常。故而,当程序运行慢1ms或快1ms(即预设容错时间)时,完成10次运行的时间为40ms至60ms,在此区间内均认为程序运行正常。其中,预设容错时间即程序运行允许的误差时间,此可根据不同的程序进行预设。

第五实施例

参见图5,在本实施例中,所述运行状态参数包括所述预设程序的运行次数;

在本实施例中,主要以运行次数对程序运行是否正常进行进一步的判断,但是,本申请并不限于运行次数,也可以是运行时进行数据交换的次数,运行启动的次数等其他运行状态参数。

其中,对于第一实施例中,所述获取预设程序在预设时间段内的运行状态参数的步骤包括:

步骤501,获取所述预设程序在所述预设时间段内的每一运行过程的运行完成时间;

步骤502,根据所述运行完成时间和所述预设时间段,获得所述预设程序在所述预设时间段内的运行次数。

在本实施例中,当检测到程序运行完成一次时则对运行次数进行一次计数,当完成时间在预设时间段内时,则对运行次数进行不断的累计计数,当超过预设时间段时,则不计入,且对运行次数进行清零,以便下一周期进行判断。

第六实施例

参见图6,相对与第五实施例,在本实施例中,所述判断所述运行状态参数是否符合预设运行条件的步骤包括:

步骤601,判断所述运行次数是否位于预设次数区间内;

步骤602,当所述运行次数位于所述预设次数区间内时,确定所述运行状态参数符合预设运行条件;

步骤603,当所述运行次数位于所述预设次数区间外时,确定所述运行状态参数不符合预设运行条件。

继续以上述举例进行说明,若程序运行一次的理论时间为5ms,在100ms内(预设时间段内),其理论运行次数为20次,则根据对所述预设程序的允许的误差,设置其在100ms内运行误差允许的运行次数的范围为18次至22次,则当检测到的实际运行次数在18至22次内时,判断程序运行正常。

本实施例在喂狗时间符合的基础上,进一步根据预设时间段内运行次数进行进一步的判断,当程序运行异常时能更加及时发现,进一步提高了系统的稳定性和安全性,防止事故发生。

第七实施例

参见图7,相比于第一实施例,在本实施例中,所述程序控制方法还包括:

步骤701,获取所述预设程序的每一子程序的实时运行时间;

对于实时运行时间可以是运行的开始时间,也可以是运行的完成时间。在本实施例中,优选为运行的开始时间。

步骤702,根据所述每一子程序的实时运行时间,确定所述预设程序的每一所述子程序的实时运行顺序;

根据每一子程序的运行的开始时间,可确定其程序运行的顺序。例如,对于输出扭矩的程序而已,其顺序为ADC(模数转换器)采集,扭矩预处理,扭矩计算,扭矩输出,此顺序不可变更(对于部分程序其子程序可变更顺序,可将其所有可能顺序写入预设运行顺序)。

步骤703,将所述实时运行顺序与预设运行顺序进行比较;

步骤704,当所述实时运行顺序与所述预设运行顺序不一致时,控制所述看门狗模块对所述预设程序进行复位。

当程序运行顺序与理论正常的运行顺序不同时,可判断程序出现异常,则需对程序进行复位,防止事故发生。进一步提高了系统的稳定性和安全性。

本发明实施例通过对发送喂狗信号的时间进行判断,继而通过对预设时间段内程序运行次数进行进一步的判断,最后还根据程序的子程序的运行顺序进行判断,确保程序运行正常,提高了系统的稳定性和安全性。

参见图8,本发明实施例还提供了一种程序控制装置,所述程序控制装置包括:

检测模块1,用于检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

第一获取模块2,用于当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

第一控制模块3,用于判断所述运行状态参数是否符合预设运行条件,当不符合时,控制看门狗模块对所述预设程序进行复位。

进一步的,所述第一控制模块3还用于:

当所述发送检测时间不符合喂狗信号的预设发送时间时,控制所述看门狗模块对所述预设程序进行复位。

进一步的,所述检测模块1用于检测预设程序在预设时间段内发送喂狗信号的发送检测时间中,所述检测模块1包括:

第二控制模块,用于控制所述预设程序在所述预设时间段内运行预设运行次数后发送喂狗信号;

第一确定模块,用于根据发送所述喂狗信号的时间,确定发送检测时间。

进一步的,所述程序控制装置还包括:

第二获取模块,用于获取所述预设程序运行一次的理论运行时间和发送所述喂狗信号的预设运行次数;

第三获取模块,用于根据所述理论运行时间和所述预设运行次数,获得理论发送时间;

获得模块,用于根据所述理论发送时间和预设容错时间,获得所述预设发送时间。

进一步的,所述运行状态参数包括所述预设程序的运行次数;

其中,所述第一获取模块2用于获取预设程序在预设时间段内的运行状态参数中,所述第一获取模块2包括:

第四获取模块,用于获取所述预设程序在所述预设时间段内的每一运行过程的运行完成时间;

第五获取模块,用于根据所述运行完成时间和所述预设时间段,获得所述预设程序在所述预设时间段内的运行次数。

进一步的,所述第一控制模块3用于判断所述运行状态参数是否符合预设运行条件中,所述第一控制模块3包括:

判断模块,用于判断所述运行次数是否位于预设次数区间内;

第二确定模块,用于当所述运行次数位于所述预设次数区间内时,确定所述运行状态参数符合预设运行条件;

第三确定模块,用于当所述运行次数位于所述预设次数区间外时,确定所述运行状态参数不符合预设运行条件。

进一步的,所述程序控制装置还包括:

第六获取模块,用于获取所述预设程序的每一子程序的实时运行时间;

第四确定模块,用于根据所述每一子程序的实时运行时间,确定所述预设程序的每一所述子程序的实时运行顺序;

比较模块,用于将所述实时运行顺序与预设运行顺序进行比较;

第三控制模块,用于当所述实时运行顺序与所述预设运行顺序不一致时,控制所述看门狗模块对所述预设程序进行复位。

本发明实施例还提供了一种汽车,包括整车控制器,所述整车控制器包括一看门狗模块,其中,所述整车控制器能够执行以下步骤:

检测预设程序在预设时间段内发送喂狗信号的发送检测时间;

当所述发送检测时间符合喂狗信号的预设发送时间时,获取所述预设程序在预设时间段内的运行状态参数;

判断所述运行状态参数是否符合预设运行条件,当不符合时,控制所述看门狗模块对所述预设程序进行复位。

同时,所述整车控制器还能够执行上述实施例中的程序控制方法。

综上,本发明实施例通过在整车控制器中设置看门狗模块,对程序运行进行监测,当程序运行异常时能及时发现,并对所述程序进行复位,防止事故发生,提高系统的稳定性和安全性。同时,本发明实施例通过对发送喂狗信号的时间进行判断,继而通过对预设时间段内程序运行次数进行进一步的判断,最后还根据程序的子程序的运行顺序进行判断,确保程序运行正常,提高了系统的稳定性和安全性。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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