一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

软件看门狗实现方法、装置和计算机设备与流程

2022-03-19 14:48:32 来源:中国专利 TAG:


1.本技术涉及看门狗技术领域,尤其涉及一种软件看门狗实现方法、装置和计算机设备。


背景技术:

2.自动化控制系统在受到干扰或突发不可预见的情况时,可能会出现死机、进入未知状态无法返回、或进入意外的死循环等现象,虽然概率很小,但是危害极大。目前业界普遍使用看门狗(wdg)技术来解决这类问题。看门狗技术可在监测到上述情况出现时给出复位信号,以便系统利用此信号自动恢复到正常状态。
3.看门狗是个定时器电路,包含一个输入喂狗信号和一个输出复位信号。定时器上电后从零开始计时,输入喂狗信号可对定时器进行清零,使定时器从零开始重新计时。如果超过规定的时间未收到喂狗信号,则定时器将超出设定值,输出复位信号。看门狗只对喂狗的最后时刻进行限制,而对喂狗的起始时刻和次数没有限制。窗口看门狗(wwdg)除具有以上看门狗的功能外,对喂狗的起始时刻和截止时刻有限制,对喂狗的次数没有限制、没有判断。具体地,喂狗的时间必须在指定的时间段之内才能对内部定时器进行清零,不能过早也不能过晚,否则将输出复位脉冲,对目标器件进行复位。
4.现有的看门狗主要依赖专用的看门狗芯片,系统电路复杂。而且对意外喂狗的情况无法指示,对重复喂狗的情况也无法区分和指示。此外,对喂狗信号、时间窗大小、输出复位信号的脉冲宽度有较多限制,对系统的应用限制多、适用范围有限。


技术实现要素:

5.本技术的目的旨在至少在一定程度上解决上述的技术问题之一。
6.为此,本技术的第一个目的在于提出一种软件看门狗实现方法,可以实现对喂狗信号的精确诊断和指示;时间窗大小和输出复位信号的脉冲宽度可任意设置,适用范围更广,精度可达微秒级。
7.本技术的第二个目的在于提出一种软件看门狗实现装置。
8.本技术的第三个目的在于提出一种计算机设备。
9.本技术的第四个目的在于提出一种非临时性计算机可读存储介质。
10.为了实现上述目的,本技术第一方面实施例提出一种看门狗实现方法,包括:
11.延迟启动看门狗,并实时监测喂狗信号;
12.在接收到喂狗信号时,判断所述喂狗信号是否是启动看门狗后的第一次喂狗信号;
13.如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在所述第一次喂狗信号的起始时刻;
14.等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测。
15.可选的,方法还包括:
16.如果所述喂狗信号不是启动看门狗后的第一次喂狗信号,则对本周期内的喂狗信号进行持续计数,并记录本周期内的喂狗信号的出现时间位置。
17.可选的,方法还包括:
18.在本周期结束时,判断在本周期内看门狗是否接收到喂狗信号;
19.如果没有接收到喂狗信号,则在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤;
20.如果接收到喂狗信号,则进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内:
21.如果有本周期内的喂狗信号出现在监测有效窗口内,则在看门狗的定时器溢出前,清零定时器、计数器以及告警信号,并返回进行下一周期的喂狗信号监测。
22.可选的,方法还包括:
23.如果没有本周期内的喂狗信号出现在监测有效窗口内,则输出告警信号;
24.在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤。
25.可选的,方法还包括:
26.在进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内之前,判断本周期内的喂狗信号是否多于一个;
27.如果本周期内的喂狗信号多于一个,则将告警信号置1。
28.本技术实施例的软件看门狗实现方法,通过延迟启动看门狗,并实时监测喂狗信号,并在接收到喂狗信号时,判断所述喂狗信号是否是启动看门狗后的第一次喂狗信号,如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在所述第一次喂狗信号的起始时刻,以及等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测,可以实现对喂狗信号的精确诊断和指示;时间窗大小和输出复位信号的脉冲宽度可任意设置,适用范围更广,精度可达微秒级。
29.为了实现上述目的,本技术第二方面实施例提出了一种软件看门狗实现装置,包括:
30.启动模块,用于延迟启动看门狗,并实时监测喂狗信号;
31.第一判断模块,用于在接收到喂狗信号时,判断所述喂狗信号是否是启动看门狗后的第一次喂狗信号;
32.设置模块,用于如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在所述第一次喂狗信号的起始时刻;
33.处理模块,用于等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测。
34.可选的,装置还包括:
35.记录模块,用于如果所述喂狗信号不是启动看门狗后的第一次喂狗信号,则对本周期内的喂狗信号进行持续计数,并记录本周期内的喂狗信号的出现时间位置。
36.可选的,装置还包括:
37.第二判断模块,用于在本周期结束时,判断在本周期内看门狗是否接收到喂狗信号;
38.输出模块,用于如果没有接收到喂狗信号,则在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤;
39.第三判断模块,用于如果接收到喂狗信号,则进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内:
40.所述处理模块,还用于如果有本周期内的喂狗信号出现在监测有效窗口内,则在看门狗的定时器溢出前,清零定时器、计数器以及告警信号,并返回进行下一周期的喂狗信号监测。
41.可选的,装置还包括:
42.告警模块,用于如果没有本周期内的喂狗信号出现在监测有效窗口内,则输出告警信号;
43.所述输出模块,还用于在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤。
44.可选的,装置还包括:
45.第四判断模块,用于在进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内之前,判断本周期内的喂狗信号是否多于一个;
46.告警设置模块,用于如果本周期内的喂狗信号多于一个,则将告警信号置1。
47.本技术实施例的软件看门狗实现装置,通过延迟启动看门狗,并实时监测喂狗信号,并在接收到喂狗信号时,判断所述喂狗信号是否是启动看门狗后的第一次喂狗信号,如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在所述第一次喂狗信号的起始时刻,以及等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测,可以实现对喂狗信号的精确诊断和指示;时间窗大小和输出复位信号的脉冲宽度可任意设置,适用范围更广,精度可达微秒级。
48.为了实现上述目的,本技术第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的软件看门狗实现方法。
49.为了实现上述目的,本技术第四方面实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面实施例所述的软件看门狗实现方法。
50.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
51.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
52.图1是本技术一个实施例的软件看门狗实现方法的流程图;
53.图2是本技术另一个实施例的软件看门狗实现方法的流程图;
54.图3是本技术又一个实施例的软件看门狗实现方法的流程图;
55.图4是本技术一个具体实施例的软件看门狗实现方法的流程图;
56.图5是本技术另一个具体实施例的软件看门狗实现方法的流程图;
57.图6是本技术一个具体实施例的软件看门狗实现方法的流程图;
58.图7是看门狗集成到智能芯片内部系统中的示意图;
59.图8是看门狗外接到待检测系统的示意图;
60.图9是本技术一个实施例的软件看门狗实现装置的结构示意图;
61.图10是本技术另一个实施例的软件看门狗实现装置的结构示意图;
62.图11是本技术又一个实施例的软件看门狗实现装置的结构示意图;
63.图12是本技术一个具体实施例的软件看门狗实现装置的结构示意图;
64.图13是本技术另一个具体实施例的软件看门狗实现装置的结构示意图。
具体实施方式
65.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
66.以下结合具体实施例对本技术作进一步详细描述,这些实施例不能理解为限制本技术所要求保护的范围。
67.下面参考附图描述本技术实施例的软件看门狗实现方法、装置和计算机设备。
68.图1是本技术一个实施例的软件看门狗实现方法的流程图,如图1所示,该方法包括以下步骤:
69.s1,延迟启动看门狗,并实时监测喂狗信号。
70.在延迟启动看门狗之前,可以先初始化看门狗。具体地,首先清零定时器、计数器以及告警信息,然后配置看门狗的初始信息。初始信息包括看门狗的时钟分频系数、定时器溢出周期计数值、监测有效窗口的大小、输出复位信号的脉冲宽度、延迟启动时间中的至少一种或多种。输出复位信号的脉冲宽度可灵活配置,可从微秒级到分钟级。
71.延迟启动时间满后,可启动看门狗,并实时监测喂狗信号。与此同时,控制看门狗的定时器和计数器进行持续计数。
72.此外,在延迟启动看门狗之后,可以再一次清零定时器、计数器以及告警信息。
73.s2,在接收到喂狗信号时,判断喂狗信号是否是启动看门狗后的第一次喂狗信号。
74.s3,如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在第一次喂狗信号的起始时刻。
75.s4,等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测。
76.本技术的软件看门狗实现方法,通过延迟启动看门狗,并实时监测喂狗信号,并在接收到喂狗信号时,判断喂狗信号是否是启动看门狗后的第一次喂狗信号,如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在第一次喂狗信号的起始时刻,以及等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测,可以实现对喂狗信号的精确诊断和指示;时间窗大小和输出复位信号的脉冲宽度可任意设置,适用范围更广,精度可达微秒级。
77.在本技术的另一个实施例中,如图2所示,还包括:
78.s5,如果喂狗信号不是启动看门狗后的第一次喂狗信号,则对本周期内的喂狗信号进行持续计数,并记录本周期内的喂狗信号的出现时间位置。
79.对意外出现或重复出现的喂狗信号可进行精确诊断并给出不同指示。
80.在本技术的又一个实施例中,如图3所示,还包括:
81.s6,在本周期结束时,判断在本周期内看门狗是否接收到喂狗信号。
82.s7,如果没有接收到喂狗信号,则在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤。
83.s8,如果接收到喂狗信号,则进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内。
84.s9,如果有本周期内的喂狗信号出现在监测有效窗口内,则在看门狗的定时器溢出前,清零定时器、计数器以及告警信号,并返回进行下一周期的喂狗信号监测。
85.在本技术的一个具体实施例中,如图4所示,还包括:
86.s10,如果没有本周期内的喂狗信号出现在监测有效窗口内,则输出告警信号。
87.s11,在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤。
88.在本技术的另一个具体实施例中,如图5所示,还包括:
89.s12,在进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内之前,判断本周期内的喂狗信号是否多于一个。
90.s13,如果本周期内的喂狗信号多于一个,则将告警信号置1。
91.下面通过一个具体的实施例进行详细说明。
92.如图6所示,包括以下步骤:
93.s101,看门狗功能上电初始化。
94.关闭复位信号,定时器、计数器等全部清零,告警信号清零。
95.s102,配置看门狗时基、定时器溢出周期计数值、看门狗监测有效窗口的大小、输出复位信号的脉冲宽度、看门狗的延迟启动时间。
96.其中,时基是指时钟的分频系数。
97.设置延迟启动的目的在于,为避免在系统上电初始化过程中提前到来的错误复位导致系统陷入死循环。
98.s103,延迟启动开始倒计时,计满后启动看门狗监测功能。
99.s104,将定时器、计数器和告警信号清零。
100.s105,对喂狗信号进行持续的实时监测,定时器和计数器持续进行计数。
101.s106,判断收到的喂狗信号是否是看门狗启动后的第一次喂狗信号。
102.s107,如果是启动后的第一次喂狗信号,则将监测窗口的中心位置设置在本次喂狗信号的起始时刻。
103.s108,等待半个窗口时间后,对看门狗定时器进行清零,并返回进行下一周期的喂狗信号监测。
104.s109,如果收到的喂狗信号不是看门狗启动后的第一次喂狗信号,则对本周期内接收到的喂狗信号进行持续计数和出现的时间位置进行记录。
105.s110,在本周期即将结束前,判断本周期是否接收到喂狗信号。
106.s111,如果没有接收到喂狗信号,则等待看门狗定时器溢出时自动触发输出复位信号,停止看门狗监测。
107.s112,如果有接收到喂狗信号,则判断本周期内的喂狗信号是否只有一个。
108.s113,如果不是一个,则将告警信号置1。
109.s114,如果只有一个,则判断本周期内的喂狗信号是否有出现在时间窗口内。
110.s115,如果出现在时间窗口内,则在看门狗定时器溢出前将定时器清零、计数器清零、告警信号清零,然后结束本周期监测,转入下一周期监测。
111.s116,如果未出现在时间窗口内,则告警信号输出等宽脉冲(如1hz频率脉冲,可用于使告警指示灯闪烁),然后跳转至步骤s111。
112.本实施例的软件看门狗实现方法,不依赖专用的看门狗芯片,软件技术即可实现,可集成到已有逻辑器件或微处理器中,简化系统电路设计。可以如图7所示集成到智能芯片内部系统中实现,也可以如图8所示外接到待监测系统中实现。
113.本实施例的软件看门狗实现方法,应用灵活:不依赖专用看门狗芯片,可方便的基于现有fpga、处理器等芯片实现软件看门狗功能;可靠性高:可适应不同的喂狗信号,对错误或重复的喂狗信号能及时诊断和指示;精确度高:时间窗的大小可以任意设置,输出复位信号的脉冲宽度可任意设置。
114.为了实现上述实施例,本技术还提出了一种软件看门狗实现装置。
115.图9是本技术一个实施例的软件看门狗实现装置的结构示意图。
116.如图9所示,该装置包括启动模块10、第一判断模块20、设置模块30和处理模块40。
117.启动模块10,用于延迟启动看门狗,并实时监测喂狗信号;
118.第一判断模块20,用于在接收到喂狗信号时,判断喂狗信号是否是启动看门狗后的第一次喂狗信号;
119.设置模块30,用于如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在第一次喂狗信号的起始时刻;
120.处理模块40,用于等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测。
121.应当理解的是,本实施例的软件看门狗实现装置与第一方面实施例的软件看门狗实现方法的描述一致,此处不再赘述。
122.本实施例的软件看门狗实现装置,通过延迟启动看门狗,并实时监测喂狗信号,并在接收到喂狗信号时,判断喂狗信号是否是启动看门狗后的第一次喂狗信号,如果是启动看门狗后的第一次喂狗信号,则将监测窗口的中心位置设置在第一次喂狗信号的起始时刻,以及等待半个窗口时间后,对看门狗的定时器进行清零,并返回进行下一周期的喂狗信号监测,可以实现对喂狗信号的精确诊断和指示;时间窗大小和输出复位信号的脉冲宽度可任意设置,适用范围更广,精度可达微秒级。
123.在本技术的另一个实施例中,如图10所示,该装置还包括记录模块50。
124.记录模块50,用于如果喂狗信号不是启动看门狗后的第一次喂狗信号,则对本周期内的喂狗信号进行持续计数,并记录本周期内的喂狗信号的出现时间位置。
125.在本技术的又一个实施例中,如图11所示,该装置还包括第二判断模块60、输出模块70和第三判断模块80。
126.第二判断模块60,用于在本周期结束时,判断在本周期内看门狗是否接收到喂狗信号;
127.输出模块70,用于如果没有接收到喂狗信号,则在看门狗的定时器溢出时,输出复
位信号,并返回至延迟启动看门狗步骤。
128.第三判断模块80,用于如果接收到喂狗信号,则进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内。
129.处理模块40,还用于如果有本周期内的喂狗信号出现在监测有效窗口内,则在看门狗的定时器溢出前,清零定时器、计数器以及告警信号,并返回进行下一周期的喂狗信号监测。
130.在本技术的一个具体实施例中,如图12所示,该装置还包括告警模块90。
131.告警模块90,用于如果没有本周期内的喂狗信号出现在监测有效窗口内,则输出告警信号;
132.输出模块70,还用于在看门狗的定时器溢出时,输出复位信号,并返回至延迟启动看门狗步骤。
133.在本技术的另一个具体实施例中,如图13所示,该装置还包括第四判断模块100和告警设置模块110。
134.第四判断模块100,用于在进一步判断是否有本周期内的喂狗信号出现在监测有效窗口内之前,判断本周期内的喂狗信号是否多于一个;
135.告警设置模块110,用于如果本周期内的喂狗信号多于一个,则将告警信号置1。
136.为了实现上述实施例,本技术还提出了一种计算机设备。
137.该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如第一方面实施例的软件看门狗实现方法。
138.为了实现上述实施例,本技术还提出了一种非临时性计算机可读存储介质。
139.该非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面实施例的软件看门狗实现方法。
140.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
141.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介
质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
142.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
143.需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
144.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献