首页 / 专利库 / 电脑零配件 / 看门狗定时器 / 一种MCU的复位方法、装置及系统

一种MCU的复位方法、装置及系统

阅读:586发布:2020-05-12

专利汇可以提供一种MCU的复位方法、装置及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种MCU的复位方法、装置及系统,通过在依据 定时器 计时所生成的第一计时时间值达到第一预设时间 阈值 时,对这段时间值内是否接收到主MCU发送的方波 信号 进行判断,能够使从MCU及时获知主MCU是否发生故障,之后在判断出第一计时时间值达到预设时间阈值时从MCU仍未接收到主MCU发送的方波信号,则及时发送第一复位信号到主MCU,使其进行复位操作,可以及时停止主MCU继续向从MCU发送故障数据,有效避免了从MCU利用故障数据进行相关操作的问题,进而提高了 汽车 系统运行的可靠性。,下面是一种MCU的复位方法、装置及系统专利的具体信息内容。

1.一种MCU的复位方法,其特征在于,应用于从MCU,包括:
在正常工作状态下,开启定时器进行计时,并生成第一计时时间值;
判断所述第一计时时间值是否达到第一预设时间阈值
若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态;
若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU。
2.根据权利要求1所述的方法,其特征在于,在所述开启定时器进行计时之后,还包括:
生成第二计时时间值;
判断所述第二计时时间值是否达到第二预设时间阈值;
若所述第二计时时间值达到所述第二预设时间阈值,判断是否向看狗发送喂狗信号;
若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的第二复位信号;
发送所述第一复位信号到所述主MCU;
若向所述看门狗发送所述喂狗信号,令所述第二计时时间值清零,并返回所述生成第二计时时间值。
3.根据权利要求1所述的方法,其特征在于,在判断出接收到所述主MCU发送的所述方波信号之后,还包括:
令所述第一计时时间值清零,并返回所述生成第一计时时间值。
4.根据权利要求1所述的方法,其特征在于,还包括:
在接收到所述主MCU发送的休眠指令时,进入休眠状态;
利用所述定时器,生成第三计时时间值;
判断所述第三计时时间值是否达到定时唤醒时间阈值;
若所述第三计时时间值达到所述定时唤醒时间阈值,令所述定时器的计数数值加1;
判断所述定时器的计数数值是否等于预设计数值;
若所述定时器的计数数值小于所述预设计数值,返回所述利用所述定时器,生成第三计时时间值;
若所述定时器的计数数值等于所述预设计数值,判断是否接收到所述主MCU发送的定时唤醒信号;
若未接收到所述主MCU发送的所述定时唤醒信号,发送所述第一复位信号到所述主MCU;
若接收到所述主MCU发送的定时唤醒信号,令所述定时器的计数数值清零,并返回所述利用所述定时器,生成第三计时时间值,直到接收到永久唤醒信号,结束休眠状态。
5.根据权利要求4所述的方法,其特征在于,在判断出所述第三计时时间值达到所述定时唤醒时间阈值之后,还包括:
判断是否向看门狗发送喂狗信号;
若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的第二复位信号;
发送所述第一复位信号到所述主MCU;
若向所述看门狗发送所述喂狗信号,令所述第三计时时间值清零,并返回所述利用所述定时器,生成第三计时时间值。
6.一种MCU的复位装置,其特征在于,应用于从MCU,包括:
定时器开启模,用于在正常工作状态下,开启定时器进行计时;
第一生成模块,用于生成第一计时时间值;
第一判断模块,用于判断所述第一计时时间值是否达到第一预设时间阈值;
第二判断模块,用于若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态;
第一发送模块,用于若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二生成模块,用于在所述定时器开启模块开启定时器进行计时之后,生成第二计时时间值;
第三判断模块,用于判断所述第二计时时间值是否达到第二预设时间阈值;
第四判断模块,用于若所述第二计时时间值达到所述第二预设时间阈值,判断是否向看门狗发送喂狗信号;
第一接收模块,用于若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的第二复位信号;
第二发送模块,用于发送所述第一复位信号到所述主MCU;
第一清零模块,用于若向所述看门狗发送所述喂狗信号,令所述第二计时时间值清零;
所述第二生成模块,还用于在所述第一清零模块令所述第二计时时间值清零后,生成第二计时时间值。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二清零模块,用于在所述第二判断模块判断出接收到主MCU发送的方波信号之后,令所述第一计时时间值清零;
所述第一生成模块,还用于所述第二清零模块令所述第一计时时间值清零后,生成第一计时时间值。
9.根据权利要求6所述的装置,其特征在于,还包括:
休眠控制模块,用于在接收到所述主MCU发送的休眠指令时,进入休眠状态;
第三生成模块,用于利用所述定时器,生成第三计时时间值;
第五判断模块,用于判断所述第三计时时间值是否达到定时唤醒时间阈值;
相加模块,用于若所述第三计时时间值达到所述定时唤醒时间阈值,令所述定时器的计数数值加1;
第六判断模块,用于判断所述定时器的计数数值是否等于预设计数值;
所述第三生成模块,还用于若所述定时器的计数数值小于所述预设计数值,利用所述定时器,生成第三计时时间值;
第七判断模块,用于若所述定时器的计数数值等于所述预设计数值,判断是否接收到所述主MCU发送的定时唤醒信号;
第三发送模块,用于若未接收到所述主MCU发送的所述定时唤醒信号,发送所述第一复位信号到所述主MCU;
第三清零模块,用于若接收到所述主MCU发送的定时唤醒信号,令所述定时器的计数数值清零;
第八判断模块,用于在所述定时器的计数数值清零后,判断是否接收到永久唤醒信号;
所述第三生成模块,还用于若未接收到所述永久唤醒信号,利用所述定时器,生成第三计时时间值;
结束休眠模块,用于若接收到所述永久唤醒信号,结束休眠状态。
10.一种MCU的复位系统,其特征在于,包括:
从MCU和主MCU,所述从MCU与所述主MCU相连接;
其中,所述从MCU,用于在正常工作状态下,开启定时器进行计时,并生成第一计时时间值,判断所述第一计时时间值是否达到第一预设时间阈值,若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到所述主MCU发送的方波信号,所述主MCU处于正常工作状态,若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU;
所述主MCU,用于向所述从MCU发送所述方波信号,接收所述从MCU发送的所述第一复位信号。

说明书全文

一种MCU的复位方法、装置及系统

技术领域

[0001] 本发明涉及汽车电子监控领域,更具体的说,是涉及一种MCU的复位方法、装置及系统。

背景技术

[0002] 随着通信、连接、计算机技术与汽车的日益融合,汽车MCU作为核心部件在汽车电子中扮演着越来越重要的色,MCU在汽车中应用的数量也相应增多。其中,双MCU结构作为提高汽车系统运行可靠性的主要技术手段,被越来越多地应用在汽车电子产品上。
[0003] 现有的汽车电子产品上所采用的双MCU结构中主MCU与从MCU之间通过串行总线相互传输数据,一旦主MCU发生故障,主MCU必须在计时时间值达到预先设定的喂狗时间值时,才能通过发送喂狗信号使其对应的看狗发送复位信号,从而令主MCU复位以消除故障,然而现有的主MCU的复位方法,在发现故障时无法及时进行复位处理,从而导致主MCU继续向从MCU发送故障数据,严重影响汽车系统运行的可靠性,更有甚者对汽车使用者的生命安全造成威胁。

发明内容

[0004] 有鉴于此,本发明提供了一种双MCU的复位方法、装置及系统,能够在发现故障时及时进行复位处理,进而提高了汽车系统运行的可靠性。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 一种MCU的复位方法,应用于从MCU,包括:
[0007] 在正常工作状态下,开启定时器进行计时,并生成第一计时时间值;
[0008] 判断所述第一计时时间值是否达到第一预设时间阈值
[0009] 若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态;
[0010] 若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU。
[0011] 优选地,在所述开启定时器进行计时之后,还包括:
[0012] 生成第二计时时间值;
[0013] 判断所述第二计时时间值是否达到第二预设时间阈值;
[0014] 若所述第二计时时间值达到所述第二预设时间阈值,判断是否向看门狗发送喂狗信号;
[0015] 若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的第二复位信号;
[0016] 发送所述第一复位信号到所述主MCU;
[0017] 若向所述看门狗发送所述喂狗信号,令所述第二计时时间值清零,并返回所述生成第二计时时间值。
[0018] 优选地,在判断出接收到所述主MCU发送的所述方波信号之后,还包括:
[0019] 令所述第一计时时间值清零,并返回所述生成第一计时时间值。
[0020] 优选地,所述方法还包括:
[0021] 在接收到所述主MCU发送的休眠指令时,进入休眠状态;
[0022] 利用所述定时器,生成第三计时时间值;
[0023] 判断所述第三计时时间值是否达到定时唤醒时间阈值;
[0024] 若所述第三计时时间值达到所述定时唤醒时间阈值,令所述定时器的计数数值加1;
[0025] 判断所述定时器的计数数值是否等于预设计数值;
[0026] 若所述定时器的计数数值小于所述预设计数值,返回所述利用所述定时器,生成第三计时时间值;
[0027] 若所述定时器的计数数值等于所述预设计数值,判断是否接收到所述主MCU发送的定时唤醒信号;
[0028] 若未接收到所述主MCU发送的所述定时唤醒信号,发送所述第一复位信号到所述主MCU;
[0029] 若接收到所述主MCU发送的定时唤醒信号,令所述定时器的计数数值清零,并返回所述利用所述定时器,生成第三计时时间值,直到接收到永久唤醒信号,结束休眠状态。
[0030] 优选地,在判断出所述第三计时时间值达到所述定时唤醒时间阈值之后,还包括:
[0031] 判断是否向所述看门狗发送所述喂狗信号;
[0032] 若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的所述第二复位信号;
[0033] 发送所述第一复位信号到所述主MCU;
[0034] 若向所述看门狗发送所述喂狗信号,令所述第三计时时间值清零,并返回所述利用所述定时器,生成第三计时时间值。
[0035] 一种MCU的复位装置,应用于从MCU,包括:
[0036] 定时器开启模,用于在正常工作状态下,开启定时器进行计时;
[0037] 第一生成模块,用于生成第一计时时间值;
[0038] 第一判断模块,用于判断所述第一计时时间值是否达到第一预设时间阈值;
[0039] 第二判断模块,用于若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态;
[0040] 第一发送模块,用于若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU。
[0041] 优选地,所述装置还包括:
[0042] 第二生成模块,用于在所述定时器开启模块开启定时器进行计时之后,生成第二计时时间值;
[0043] 第三判断模块,用于判断所述第二计时时间值是否达到第二预设时间阈值;
[0044] 第四判断模块,用于若所述第二计时时间值达到所述第二预设时间阈值,判断是否向看门狗发送喂狗信号;
[0045] 第一接收模块,用于若未向所述看门狗发送所述喂狗信号,接收所述看门狗发送的第二复位信号;
[0046] 第二发送模块,用于发送所述第一复位信号到所述主MCU;
[0047] 第一清零模块,用于若向所述看门狗发送所述喂狗信号,令所述第二计时时间值清零;
[0048] 所述第二生成模块,还用于在所述第一清零模块令所述第二计时时间值清零后,生成第二计时时间值。
[0049] 优选地,所述装置还包括:
[0050] 第二清零模块,用于在所述第二判断模块判断出接收到主MCU发送的方波信号之后,令所述第一计时时间值清零;
[0051] 所述第一生成模块,还用于所述第二清零模块令所述第一计时时间值清零后,生成第一计时时间值。
[0052] 优选地,所述装置还包括:
[0053] 休眠控制模块,用于在接收到所述主MCU发送的休眠指令时,进入休眠状态;
[0054] 第三生成模块,用于利用所述定时器,生成第三计时时间值;
[0055] 第五判断模块,用于判断所述第三计时时间值是否达到定时唤醒时间阈值;
[0056] 相加模块,用于若所述第三计时时间值达到所述定时唤醒时间阈值,令所述定时器的计数数值加1;
[0057] 第六判断模块,用于判断所述定时器的计数数值是否等于预设计数值;
[0058] 所述第三生成模块,还用于若所述定时器的计数数值小于所述预设计数值,利用所述定时器,生成第三计时时间值;
[0059] 第七判断模块,用于若所述定时器的计数数值等于所述预设计数值,判断是否接收到所述主MCU发送的定时唤醒信号;
[0060] 第三发送模块,用于若未接收到所述主MCU发送的所述定时唤醒信号,发送所述第一复位信号到所述主MCU;
[0061] 第三清零模块,用于若接收到所述主MCU发送的定时唤醒信号,令所述定时器的计数数值清零;
[0062] 第八判断模块,用于在所述定时器的计数数值清零后,判断是否接收到永久唤醒信号;
[0063] 所述第三生成模块,还用于若未接收到所述永久唤醒信号,利用所述定时器,生成第三计时时间值;
[0064] 结束休眠模块,用于若接收到所述永久唤醒信号,结束休眠状态。
[0065] 一种MCU的复位系统,包括:
[0066] 从MCU和主MCU,所述从MCU与所述主MCU相连接;
[0067] 其中,所述从MCU,用于在正常工作状态下,开启定时器进行计时,并生成第一计时时间值,判断所述第一计时时间值是否达到第一预设时间阈值,若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到所述主MCU发送的方波信号,所述主MCU处于正常工作状态,若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU;
[0068] 所述主MCU,用于向所述从MCU发送所述方波信号,接收所述从MCU发送的所述第一复位信号。
[0069] 经由上述的技术方案可知,与现有技术相比,本发明提供了一种MCU的复位方法、装置及系统,通过在依据定时器计时所生成的第一计时时间值达到第一预设时间阈值时,对这段时间值内是否接收到主MCU发送的方波信号进行判断,能够使从MCU及时获知主MCU是否发生故障,之后在判断出第一计时时间值达到预设时间阈值时若从MCU仍未接收到主MCU发送的方波信号,则及时发送第一复位信号到主MCU,使其进行复位操作,可以及时停止主MCU继续向从MCU发送故障数据,有效避免了从MCU利用故障数据进行相关操作的问题,进而提高了汽车系统运行的可靠性。附图说明
[0070] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0071] 图1为本发明实施例提供的一种MCU的复位方法的方法流程图
[0072] 图2为本发明实施例提供的另一种MCU的复位方法的方法流程图;
[0073] 图3为本发明实施例提供的另一种MCU的复位方法的方法流程图;
[0074] 图4为本发明实施例提供的另一种MCU的复位方法的方法流程图;
[0075] 图5为本发明实施例提供的一种MCU的复位装置的结构示意图;
[0076] 图6为本发明实施例提供的另一种MCU的复位装置的结构示意图;
[0077] 图7为本发明实施例提供的另一种MCU的复位装置的结构示意图;
[0078] 图8为本发明实施例提供的一种MCU的复位系统的结构示意图。

具体实施方式

[0079] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0080] 本实施例公开了一种MCU的复位方法,应用于从MCU,请参见附图1,所述方法具体包括以下步骤:
[0081] S101:在正常工作状态下,开启定时器进行计时,并生成第一计时时间值;
[0082] 具体的,在双MCU均处于正常工作状态时,从MCU会使其内设置的定时器开始计时,此时,可以根据定时器的计时时间生成第一计时时间值,用于作为判断主MCU是否发生故障的时间范围标准,其中,由于定时器计时所产生的时间值是逐渐增加的,故生成的第一计时时间值也随其一起增加。
[0083] 举例说明,当开启从MCU内的定时器进行计时后,该定时器会从0开始计时,且当前计时时间逐渐增加到3s,在此过程中,对应所生成的第一计时时间值也增加到3s,作为后续是否达到第一预设时间阈值的判断标准。
[0084] 本发明实施例所提到的双MCU结构是安装在汽车电子产品上的,用于控制汽车上的多个系统进行相应的操作,如包含双MCU结构的汽车刹车系统、汽车点火系统、汽车门窗系统等等。
[0085] S102:判断所述第一计时时间值是否达到第一预设时间阈值,若达到,则执行S103;
[0086] 具体的,为了在主MCU发生故障后,从MCU能够及时发现,可以在从MCU内预先设定一个第一预设时间阈值,从而在第一计时时间值随定时器增加到第一预设时间阈值时,对主MCU是否发生故障进行一次判断,进而能够及时发现故障,防止从MCU继续从主MCU中接收故障数据。其次,为了尽可能缩短发现故障的时间,可以在不影响主MCU和从MCU之间传输数据的情况下,将第一预设时间阈值设定到较小的数值,如1S。
[0087] S103:判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态,若否,则执行S104;
[0088] 具体的,由于在双MCU均处于正常工作状态时,主MCU会持续向从MCU发送方波信号如周期为50ms±10ms的方波信号,以告知从MCU主MCU仍然在正常运行,因此,需要自从MCU开启定时器进行计时开始,到计时时间值达到第一预设时间阈值这段时间内,即生成的第一计时时间值达到第一预设时间阈值的时间段内,对从MCU是否接收到主MCU发送的方波信号进行判断,以便从MCU能够通过这段时间内是否接收到方波信号判断出主MCU是否已发生故障。
[0089] S104:发送第一复位信号到所述主MCU;
[0090] 具体的,若判断出生成的第一计时时间值达到第一预设时间阈值的时间段内,从MCU一直未接收到主MCU发送的方波信号,则证明主MCU发生故障,此时,从MCU需要立即向从MCU发送一个复位信号即第一复位信号,以便主MCU在接收到该第一复位信号后,及时进行复位操作,从而消除故障。
[0091] 举例说明,在定时器开始计时,且当前计时到2s时,对应生成的第一计时时间值为2s,若第一预设时间阈值设定为2s,且此时判断出在2s内从MCU一直未接收到主MCU发送的方波信号,则判定主MCU发生故障,从MCU发送第一复位信号到主MCU,使其进行复位操作。
[0092] 主MCU发生的故障本发明实施例并不限定,可以是因主MCU的监护线程出现问题而导致的故障。
[0093] 本发明实施例所公开的一种MCU的复位方法,通过在依据定时器计时所生成的第一计时时间值达到第一预设时间阈值时,对这段时间值内是否接收到主MCU发送的方波信号进行判断,能够使从MCU及时获知主MCU是否发生故障,之后在判断出第一计时时间值达到预设时间阈值时从MCU仍未接收到主MCU发送的方波信号,则及时发送第一复位信号到主MCU,使其进行复位操作,可以及时停止主MCU继续向从MCU发送故障数据,有效避免了从MCU利用故障数据进行相关操作的问题,进而提高了汽车系统运行的可靠性。
[0094] 在上述图1所对应实施例的基础上,本实施例公开了另一种MCU的复位方法,应用于从MCU,请参见附图2,所述方法具体包括以下步骤:
[0095] S201:在正常工作状态下,开启定时器进行计时,并生成第二计时时间值;
[0096] 具体的,在双MCU均处于正常工作状态时,从MCU会使其内设置的定时器开始计时,此时,可以根据定时器的计时时间生成第二计时时间值,用于作为判断从MCU是否需要向对应的外部看门狗发送喂狗信号的时间范围标准,其中,由于定时器计时所产生的时间值是逐渐增加的,故生成的第二计时时间值也随其一起增加。
[0097] S202:判断所述第二计时时间值是否达到第二预设时间阈值,若达到,则执行S203;
[0098] 具体的,为了防止从MCU对应的外部看门狗在从MCU未发生故障时,对其发送复位信号使其进行复位操作,从MCU需要定时向其外部看门狗发送喂狗信号,以告知外部看门狗从MCU仍在正常运行,而从MCU定时发送喂狗信号的时间值可以预先设置,即第二预设时间阈值,当判断出第二计时时间值达到第二预设时间阈值时,证明从MCU需要发送喂狗信号了,以防止外部看门狗因未及时接收到喂狗信号而发送复位信号到从MCU。
[0099] S203:判断是否向看门狗发送喂狗信号,若否,则执行S204,若是,则执行S205;
[0100] S204:接收所述看门狗发送的第二复位信号,并执行S206;
[0101] 具体的,若从MCU发生故障,则在第二计时时间值达到第二预设时间阈值时,不会定时向其对应的外部看门狗发送喂狗信号,此时外部看门狗会及时获知从MCU已出现故障问题,并发送一个复位信号即第二复位信号到从MCU,以便从MCU利用接收到的第二复位信号进行相应的复位操作,以消除故障。
[0102] S205:令所述第二计时时间值清零,并返回执行S201;
[0103] 具体的,在判断出从MCU定时对与其相连的看门狗发送喂狗信息以使其获知从MCU当前仍在正常运行后,从MCU会将当前已生成的第二计时时间值清零,以便再次重新计时,作为从MCU下次进行喂狗操作的时间依据。
[0104] S206:发送所述第一复位信号到所述主MCU;
[0105] 具体的,由于从MCU会利用第二复位信号进行复位操作,此时,为了确保与从MCU进行数据通信的主MCU接收到实时的数据,从MCU会向主MCU发送一个第一复位信号,从而使主MCU也进行复位操作,进而实现了主MCU与从MCU的故障同步,有效避免了进行数据通信的双方利用非实时数据进行相关操作的问题,提高了车系统运行的可靠性。
[0106] 本发明实施例所公开的一种MCU的复位方法中,通过在依据定时器生成的第二计时时间值达到第二预设时间阈值,且未向看门狗发送喂狗信号时,接收看门狗发送来的第二复位信号,并及时向主MCU发送第一复位信号,从而实现了主MCU与从MCU之间的故障同步,避免了进行数据通信的双方利用非实时数据进行相关操作的问题,进而提高车系统运行的可靠性。
[0107] 在上述图1所对应实施例的基础上,本实施例公开了另一种MCU的复位方法,应用于从MCU,请参见附图3,所述方法具体包括以下步骤:
[0108] S301:在正常工作状态下,开启定时器进行计时,并生成第一计时时间值。
[0109] S302:判断所述第一计时时间值是否达到第一预设时间阈值,若达到,则执行S303。
[0110] S303:判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态,若否,则执行S304,若是,则执行S305;
[0111] S304:发送第一复位信号到所述主MCU,并执行S306。
[0112] S305:令所述第一计时时间值清零,并返回执行S301;
[0113] 具体的,若在第一计时时间值达到第一预设时间阈值时,从MCU接收到了主MCU发送的方波信号,则证明主MCU仍在正常运行中,此时需要将当前的第一计时时间值清零,并重新利用定时器,生成一个新的第一计时时间值,进而开始新一轮对主MCU是否发生故障的判断。
[0114] 举例说明,在定时器计时到2s时,对应生成的第一计时时间值为2s,若第一预设时间阈值设定为2s,且此时判断出在2s内从MCU接收到了主MCU发送的方波信号,证明主MCU未发生故障,从MCU会将当前生成的第一计时时间值2s进行清零,并在定时器计时到3s时,生成下一个当前时间值为1s的第一计时时间值,直到该第一计时时间值随定时器增加到2s,再循环进行判断。
[0115] S306:在接收到所述主MCU发送的休眠指令时,进入休眠状态,并执行S307;
[0116] 具体的,在安装有双MCU结构的汽车电子产品系统当前不需要进行工作时,会进入休眠状态,以降低系统功耗。因此,在主MCU向从MCU发送了一个休眠指令后,从MCU会进入休眠状态。
[0117] 主MCU向从MCU发送的休眠指令可以是在从MCU当前处于任何状态下随时发送的。
[0118] S307:利用所述定时器,生成第三计时时间值,并执行S308;
[0119] 具体的,在从MCU进入休眠状态后,从MCU会依据其内的定时器再生成一个第三计时时间值,用于在休眠状态下实现对主MCU的监控,以防止在主MCU发生故障时无法及时获知并解决的问题发生。
[0120] 举例说明,在定时器计时到45s时,从MCU因接收到主MCU发送的休眠指令而进入休眠状态,此时从MCU内的定时器计时增加到46s,相应生成的第三计时时间值也增加为1s。
[0121] S308:判断所述第三计时时间值是否达到定时唤醒时间阈值,若达到,则执行S309;
[0122] 从MCU预先设置的定时唤醒时间阈值可以依据与从MCU相连的外部看门狗的溢出周期而设定,如外部看门狗的溢出周期为100ms,从MCU为了能够定时被唤醒以进行喂狗操作,可以将定时唤醒时间阈值设置为80ms±10ms,进而在满足外部看门狗不溢出的前提下,尽量降低从MCU中的静态电流
[0123] S309:令所述定时器的计数数值加1,并执行S3010;
[0124] 具体的,由于从MCU需要定时自动唤醒去实时监控主MCU,故在第三计时时间值达到预先设定的定时唤醒时间阈值后,对定时器的计数数值加1,以便从MCU能够通过定时器的计数数值获知进入休眠状态后的时间总值。
[0125] S3010:判断所述定时器的计数数值是否等于预设计数值,若等于,则执行S3011,若小于,则返回执行S307。
[0126] S3011:判断是否接收到所述主MCU发送的定时唤醒信号,若是,则执行S3012,若否,则执行S3013;
[0127] 具体的,在主MCU与从MCU均进入休眠状态后,主MCU仍会定时向从MCU发送定时唤醒信号以告知从MCU主MCU未发生故障,因此若定时器的计数数值达到预设计数值后,需要对这段时间内从MCU是否接收到主MCU发送的定时唤醒信号进行判断。其中,主MCU定时发送定时唤醒信号的时间值可以预先设置为60s±1s。
[0128] 举例说明,从MCU的定时唤醒时间阈值设置为80ms,预设计数值为800,主MCU定时发送定时唤醒信号的时间值设置为60s,若从MCU使其内的定时器的计数数值经过加1操作达到800时,证明此时从MCU的定时器已经计时了64s,若主MCU未发生故障,则会在从MCU的定时器计时到60s时向从MCU发送一个定时唤醒信号,故在从MCU的定时器的计数数值等于预设计数值800的这段时间范围内,从MCU会收到主MCU发送的定时唤醒信号,进而重新进行下一轮的监控操作;若主MCU发生故障,则从MCU的定时器的计数数值等于预设计数值800的这段时间范围内,不会收到主MCU发送的定时唤醒信号,此时从MCU需要对主MCU发生的故障进行相关处理操作。
[0129] S3012:令所述定时器的计数数值清零,并执行S3014;
[0130] 具体的,若接收到主MCU发送的定时唤醒信号,证明主MCU未发生故障,此时需要令定时器的计数数值清零,以便后续从MCU重新对主MCU进行监控判断。
[0131] S3013:发送所述第一复位信号到所述主MCU;
[0132] 具体的,若未接收到主MCU发送的定时唤醒信号,证明主MCU发生故障,此时从MCU需要及时发送第一复位信号给主MCU,以便主MCU消除其故障。
[0133] S3014:判断是否接收到永久唤醒信号,若是,则执行S3015,若否,则返回执行S307;
[0134] 具体的,在从MCU依据接收到的定时唤醒信号判断出主MCU未发生故障后,若此时接收到外部系统发送的永久唤醒信号时,从MCU会从休眠状态切换到正常工作状态,并自动唤醒主MCU,之后,主MCU与从MCU将执行正常工作状态下的相关监控操作,因此需要在每次接收到定时唤醒信号后,对当前是否接收到永久唤醒信号进行判断。
[0135] 本发明实施例所涉及到的外部系统是与从MCU之间存在连接关系的系统。
[0136] S3015:结束休眠状态。
[0137] 本发明实施例所公开的一种MCU的复位方法中,通过在从MCU进入休眠状态时,依次判断第三计时时间值是否达到定时唤醒时间阈值,定时器的计数数值是否等于预设计数值,以及是否接收到主MCU发送的定时唤醒信号,可以使从MCU及时获知主MCU是否发生故障,进而发送第一复位信号给主MCU,使其通过复位消除故障,进而在休眠状态下,实现从MCU有效监控主MCU是否发生故障的目的,以提高车系统运行的可靠性。
[0138] 在上述图3所对应实施例的基础上,本实施例公开了另一种MCU的复位方法,应用于从MCU,请参见附图4,所述方法具体包括以下步骤:
[0139] S401:在接收到所述主MCU发送的休眠指令时,进入休眠状态。
[0140] S402:利用所述定时器,生成第三计时时间值。
[0141] S403:判断所述第三计时时间值是否达到定时唤醒时间阈值,若达到,则执行S404。
[0142] S404:判断是否向所述看门狗发送所述喂狗信号,若否,则执行S405,若是,则执行S406;
[0143] 具体的,由于在休眠状态下,从MCU仍需要定时被唤醒,从而进行喂狗操作,此时,将第三计时时间值达到定时唤醒时间阈值作为判断需要唤醒从MCU进行喂狗操作的时间条件,以便从MCU定时喂狗。
[0144] S405:接收所述看门狗发送的所述第二复位信号,并执行S407;
[0145] 具体的,若判断出在设定的时间值达到后,从MCU未及时向看门狗发送喂狗信号进行喂狗,则证明当前从MCU出现故障,需要其对应的看门狗通过发送第二复位信号以消除从MCU的故障。
[0146] S406:令所述第三计时时间值清零,并返回S402;
[0147] 具体的,若判断出在设定的时间值达到后,从MCU及时进行了喂狗操作,则证明当前从MCU仍在正常运行,此时需要将当前生成的第三计时时间值清零,以便再次重新计时,作为从MCU下次进行喂狗操作的时间依据。
[0148] S407:发送所述第一复位信号到所述主MCU。
[0149] 具体的,若休眠状态下的从MCU因出现故障而未能在第三计时时间值达到定时唤醒时间阈值之后发送喂狗信号给外部看门狗,此时外部看门狗会及时发送第二复位信号到从MCU,使其发生复位以消除故障,而为了确保主MCU与从MCU之间的故障同步,从MCU会发送第一复位信号到主MCU,使其也一同发生复位。
[0150] 本发明实施例中,通过在每次第三计时时间值达到所述定时唤醒时间阈值,且接收到看门狗发送的第二复位信号时,从MCU发送第一复位信号到主MCU,能够在实现故障同步的基础上,有效解决了进行数据通信的双方利用非实时数据进行相关操作的问题,进而提高车系统运行的可靠性。
[0151] 本实施例公开了一种MCU的复位装置,应用于从MCU,请参见附图5,所述装置包括:
[0152] 定时器开启模块501,用于在正常工作状态下,开启定时器进行计时;
[0153] 第一生成模块502,用于生成第一计时时间值;
[0154] 第一判断模块503,用于判断所述第一计时时间值是否达到第一预设时间阈值;
[0155] 第二判断模块504,用于若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到主MCU发送的方波信号,所述主MCU处于正常工作状态;
[0156] 第一发送模块505,用于若未接收到所述主MCU发送的所述方波信号,发送第一复位信号到所述主MCU。
[0157] 本发明实施例所公开的一种MCU的复位装置,通过在依据定时器计时第一生成模块502所生成的第一计时时间值达到第一预设时间阈值时,第二判断模块504对这段时间值内是否接收到主MCU发送的方波信号进行判断,能够使从MCU及时获知主MCU是否发生故障,之后在第二判断模块504判断出第一计时时间值达到预设时间阈值时从MCU仍未接收到主MCU发送的方波信号,则第一发送模块505及时发送第一复位信号到主MCU,使其进行复位操作,可以及时停止主MCU继续向从MCU发送故障数据,有效避免了从MCU利用故障数据进行相关操作的问题,进而提高了汽车系统运行的可靠性。
[0158] 本发明实施例提供的各个模块的工作过程,请参照附图1所对应的方法流程图,具体工作过程不再赘述。
[0159] 在图5所对应实施例的基础上,本实施例公开了另一种MCU的复位装置,应用于从MCU,请参见附图6,所述装置包括:
[0160] 定时器开启模块501,第二生成模块506,第三判断模块507,第四判断模块508,第一接收模块509,第二发送模块5010和第一清零模块5011;
[0161] 其中,所述第二生成模块506,用于在所述定时器开启模块501开启定时器进行计时之后,生成第二计时时间值;
[0162] 所述第三判断模块507,用于判断所述第二计时时间值是否达到第二预设时间阈值;
[0163] 所述第四判断模块508,用于若所述第二计时时间值达到所述第二预设时间阈值,判断是否向看门狗发送喂狗信号;
[0164] 所述第一接收模块509,用于若所述第二计时时间值达到所述第二预设时间阈值,接收看门狗发送的第二复位信号;
[0165] 所述第二发送模块5010,用于发送所述第一复位信号到所述主MCU。
[0166] 所述第一清零模块5011,用于若向所述看门狗发送所述喂狗信号,令所述第二计时时间值清零,
[0167] 所述第二生成模块506,还用于在所述第一清零模块5011令所述第二计时时间值清零后,生成第二计时时间值。
[0168] 本发明实施例所公开的一种MCU的复位装置中,通过在第二生成模块506依据定时器生成的第二计时时间值达到第二预设时间阈值,且第四判断模块508判断出未向看门狗发送喂狗信号时,由第一接收模块509接收看门狗发送来的第二复位信号,之后第二发送模块5010及时向主MCU发送第一复位信号,从而实现了主MCU与从MCU之间的故障同步,避免了进行数据通信的双方利用非实时数据进行相关操作的问题,进而提高车系统运行的可靠性。
[0169] 本发明实施例提供的各个模块的工作过程,请参照附图2所对应的方法流程图,具体工作过程不再赘述。
[0170] 在图5所对应实施例的基础上,本实施例公开了另一种MCU的复位装置,应用于从MCU,请参见附图7,所述装置包括:
[0171] 定时器开启模块501,第一生成模块502,第一判断模块503,第二判断模块504,第一发送模块505,第二清零模块5012,休眠控制模块5013,第三生成模块5014,第五判断模块5015,相加模块5016,第六判断模块5017,第七判断模块5018,第三发送模块5019,第三清零模块5020,第八判断模块5021和结束休眠模块5022;
[0172] 其中,所述第二清零模块5012,用于在所述第二判断模块504判断出接收到主MCU发送的方波信号之后,令所述第一计时时间值清零;
[0173] 所述第一生成模块502还用于所述第二清零模块5012令所述第一计时时间值清零后,生成第一计时时间值;
[0174] 所述休眠控制模块5013,用于在接收到所述主MCU发送的休眠指令时,进入休眠状态;
[0175] 所述第三生成模块5014,用于利用所述定时器,生成第三计时时间值;
[0176] 所述第五判断模块5015,用于判断所述第三计时时间值是否达到定时唤醒时间阈值;
[0177] 所述相加模块5016,用于若所述第三计时时间值达到所述定时唤醒时间阈值,令所述定时器的计数数值加1;
[0178] 所述第六判断模块5017,用于判断所述定时器的计数数值是否等于预设计数值;
[0179] 所述第三生成模块5014,还用于若所述定时器的计数数值小于所述预设计数值,利用所述定时器,生成第三计时时间值;
[0180] 所述第七判断模块5018,用于若所述定时器的计数数值等于所述预设计数值,判断是否接收到所述主MCU发送的定时唤醒信号;
[0181] 所述第三发送模块5019,用于若未接收到所述主MCU发送的所述定时唤醒信号,发送所述第一复位信号到所述主MCU;
[0182] 所述第三清零模块5020,用于若接收到所述主MCU发送的定时唤醒信号,令所述定时器的计数数值清零;
[0183] 所述第八判断模块5021,用于在所述定时器的计数数值清零后,判断是否接收到永久唤醒信号;
[0184] 所述第三生成模块5014,还用于若未接收到所述永久唤醒信号,利用所述定时器,生成第三计时时间值;
[0185] 所述结束休眠模块5022,用于若接收到所述永久唤醒信号,结束休眠状态。
[0186] 本发明实施例所公开的一种MCU的复位装置中,通过在休眠控制模块5013令MCU进入休眠状态时,依次由第五判断模块5015、第六判断模块5017和第七判断模块5018判断第三计时时间值是否达到定时唤醒时间阈值,定时器的计数数值是否等于预设计数值,以及是否接收到主MCU发送的定时唤醒信号,可以使从MCU及时获知主MCU是否发生故障,进而由第三发送模块5019发送第一复位信号给主MCU,使其通过复位消除故障,进而在休眠状态下,实现从MCU有效监控主MCU是否发生故障的目的,以提高车系统运行的可靠性。
[0187] 本发明实施例提供的各个模块的工作过程,请参照附图3所对应的方法流程图,具体工作过程不再赘述。
[0188] 本实施例公开了一种MCU的复位系统,请参见附图8,所述系统包括:
[0189] 从MCU601和主MCU602,所述从MCU601与所述主MCU602相连接;
[0190] 其中,所述从MCU601,用于在正常工作状态下,开启定时器进行计时,并生成第一计时时间值,判断所述第一计时时间值是否达到第一预设时间阈值,若所述第一计时时间值达到所述第一预设时间阈值,判断是否接收到所述主MCU602发送的方波信号,所述主MCU602处于正常工作状态,若未接收到所述主MCU602发送的所述方波信号,发送第一复位信号到所述主MCU602;
[0191] 所述主MCU602,用于向所述从MCU601发送所述方波信号,接收所述从MCU601发送的所述第一复位信号。
[0192] 具体的,主MCU602用于实现汽车电子产品系统中的主要功能,如功能逻辑、控制算法等,从MCU601用于实现辅助主MCU602的一些功能,如CAN通信、无操作系统等等,以及在主MCU602发生故障后,能够及时发送复位信号使主MCU602进行复位操作来消除故障。
[0193] 其中,为了方便从MCU601实时监控主MCU602,从MCU601还可以和主MCU602之间通过三个I/O线相连接,如中断I/O1、中断I/O2以及复位I/O;当从MCU601生成的第一计时时间值达到第一预设时间阈值时,判断与主MCU602相连的中断I/O2是否有方波信号传输过来,若没有,则证明主MCU602发生了故障,此时从MCU601通过复位I/O向主MCU602发送一个第一复位信号,以便主MCU602利用该第一复位信号进行复位操作。
[0194] 本发明实施例所公开的一种MCU的复位系统中,若从MCU601判断出主MCU602在第一计时时间值达到第一预设时间阈值时,仍未有方波信号发送过来,就及时发送第一复位信号到主MCU602,从而有效消除主MCU602已发生的故障,以提高汽车系统运行的可靠性。
[0195] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈