基于有限状态机的看门狗实现方法、装置、设备及存储介质与流程

文档序号:19155055发布日期:2019-11-16 00:38阅读:215来源:国知局
基于有限状态机的看门狗实现方法、装置、设备及存储介质与流程

本发明涉及嵌入式计算机系统领域,尤其涉及一种基于有限状态机的看门狗实现方法、装置、设备及存储介质。



背景技术:

嵌入式计算机系统在复杂环境中工作可能存在外部干扰导致程序挂死或者跑飞的情况,所以监控程序运行状态的看门狗是系统的必备功能。

看门狗功能通常有以下几种实现方式:1)采用外部看门狗芯片。由于cpu的喂狗信号通常是在系统启动的最后阶段才会输出,所以系统启动过程中应该屏蔽看门狗复位功能。然而这样一来,若cpu启动过程中挂死,则系统无法自动复位。2)采用嵌入式处理器内部集成的看门狗计时器。采用这种方式的缺陷是不如独立看门狗芯片稳定,若程序异常操作将看门狗功能关闭,则程序挂死无法实现自动复位。3)使用控制器通过硬件描述语言构建看门狗功能电路。本发明正是基于第三种实现方式,结合有限状态机的使用实现启动过程中程序挂死复位功能。



技术实现要素:

本发明实施例提供了基于有限状态机的看门狗实现方法、装置、设备及存储介质,用以解决现有技术中计算机系统启动过程中挂死无法实现自动复位的问题。

第一方面,本发明实施例提供了一种基于有限状态机的看门狗实现方法,所述方法包括:

依据所述有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;

在所述系统上电成功时,将所述有限状态机从第一状态转换到第二状态;

当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;

若启动时间大于等于第二预设时间还没检测到所述第一信号,将所述有限状态机从第二状态转换到第四状态并发出第二信号;

当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。

优选地,所述方法还包括:

若在所述第三状态检测到所述第一信号异常,则将所述有限状态机从第三状态转换到第四状态;

若在所述第三状态检测到所述控制单板的电源异常,则将所述有限状态机从第三状态转换到第一状态。

优选地,所述第一状态为初始态,所述第二状态为启动态,所述第三状态为运行态,所述第四状态为掉电态。

优选地,所述第一信号为喂狗信号,所述第二信号为掉电信号。

优选地,在正常情况下所述第一信号为为方波信号,通过检测所述第一信号的高低电平宽度来判断所述第一信号是否正常。

优选地,所述有限状态机包括组合逻辑和时序逻辑,在组合逻辑中实现系统状态的判断及输出,在时序逻辑中实现当前系统状态和下一系统状态的切换。

优选地,所述若启动时间大于等于第二预设时间还没检测到所述第一信号,所述有限状态机转换到掉电态并发出第二信号包括:

所述第二信号的输出时间为2s。

第二方面,本发明实施例提供了一种基于有限状态机的看门狗实现装置,所述装置包括:

划分模块,用于依据有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;

第一转换模块,用于在所述控制单板上电成功时,将所述有限状态机由第一状态转换到第二状态;

第二转换模块,用于当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;

第三转换模块,用于若启动时间大于等于第二预设时间还没检测到所述第一信号时,使所述有限状态机从第二状态转换到第四状态并发出第二信号;

第四转换模块,用于当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。

第三方面,本发明实施例提供了一种基于有限状态机的看门狗实现设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

综上所述,本发明实施例提供的基于有限状态机的看门狗实现方法、装置、设备及存储介质。本发明通过依据所述有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;在所述控制单板上电成功时,将所述有限状态机从第一状态转换到第二状态;当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;若启动时间大于等于第二预设时间还没检测到所述第一信号,将所述有限状态机从第二状态转换到第四状态并发出第二信号;当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。通过上述对所述有限状态机的设置,可以在系统启动阶段挂死或者运行阶段挂死时,通过重新上下电来实现系统的自动复位功能。本发明能够实时检测处理器送出的喂狗信号,实现系统的自动复位。此外,本发明还可以提高系统集成度及可靠性,降低硬件成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明优选实施例基于有限状态机的看门狗实现方法的流程图。

图2是本发明另一优选实施例基于有限状态机的看门狗实现方法的流程图。

图3是本发明实施例的基于有限状态机的看门狗实现装置的结构示意图。

图4是本发明实施例的基于有限状态机的看门狗实现设备的结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

请参见图1及图2,本发明实施例提供了一种基于有限状态机的看门狗实现方法。本发明通过依据所述有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;在所述控制单板上电成功时,将所述有限状态机从第一状态转换到第二状态;当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;若启动时间大于等于第二预设时间还没检测到所述第一信号,将所述有限状态机从第二状态转换到第四状态并发出第二信号;当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。通过上述对所述有限状态机的设置,可以在系统启动阶段挂死或者运行阶段挂死时,通过重新上下电来实现系统的自动复位功能。本发明能够实时检测处理器送出的喂狗信号,实现系统的自动复位。此外,本发明还可以提高系统集成度及可靠性,降低硬件成本。

所述方法包括如下步骤:

s1、依据所述有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;

优选地,所述第一状态为初始态,所述第二状态为启动态,所述第三状态为运行态,所述第四状态为掉电态。

s2、在所述系统上电成功时,将所述有限状态机从第一状态转换到第二状态;

具体地,在本实施例中,cpld为单独供电的机电管理模块,用于获取所述系统的工作状态。当所述系统的控制单板的最后一级电源1.0v上电成功后,所述有限状态机由初始态转换成启动态。

s3、当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;

优选地,所述第一信号为喂狗信号,所述第二信号为掉电信号。

具体地,设置启动态时间计数器从系统的启动时间开始计时。当所述机电管理模块检测到处理器输出的喂狗信号且所述启动态时间计数器的计数值达到第一预设时间时,所述有限状态机从启动态转换到运行态。可以理解的是,在本实施例中,所述第一预设时间为45s,在另一个优选地实施例中,所述第一预设时间可根据系统加载时间自行设置,在此不作具体限定。

s4、若启动时间大于等于第二预设时间还没检测到所述第一信号,将所述有限状态机从第二状态转换到第四状态并发出第二信号;

s5、当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态;

优选地,当所述启动态时间计数器的计数值达到60s还没检测到所述喂狗信号时,则所述有限状态机从启动态转换到掉电态。同时设置掉电态时间计数器对所述有限状态机的掉电时间进行计时,这时所述机电管理模块输出2s的掉电信号控制系统掉电。2s时间后所述有限状态机由掉电态转换到初始态。可以理解的是,在本实施例中,所述第二预设时间为60s,在另一个优选地实施例中,所述第二预设时间可根据系统加载时间自行设置,在此不作具体限定。

优选地,所述方法还包括:

若在所述第三状态检测到所述第一信号异常,则将所述有限状态机从第三状态转换到第四状态;

具体地,若在运行态检测到喂狗信号异常,则将所述有限状态机从运行态转换到掉电态。

若在所述第三状态检测到所述控制单板的电源异常,则将所述有限状态机从第三状态转换到第一状态。

具体地,若在运行态检测到所述控制单板的电源异常,则将所述有限状态机从运行态转换到初始态。

优选地,在正常情况下所述第一信号为为方波信号,通过检测所述第一信号的高低电平宽度来判断所述第一信号是否正常。

具体地,设定正常情况下处理器输出的喂狗信号为1hz的方波信号,宽度为500ms。通过1hz主时钟来判断所述喂狗信号高低电平的宽度来判断喂狗信号是否正常。设置高电平宽度寄存器counter_width_h和低电平宽度寄存器counter_width_l。当所述喂狗信号为低电平时,将所述高电平宽度寄存器counter_width_h清零。当所述喂狗信号为高电平时,则所述高电平宽度寄存器counter_width_h加1。当所述喂狗信号为高电平时,将所述低电平宽度寄存器counter_width_l清零。当所述喂狗信号为低电平时,将所述低电平宽度寄存器counter_width_l加1。当counter_width_l及counter_width_h的宽度不是500ms时,则将所述喂狗信号判定为异常。可以理解的是,在本实施例中,所述方波信号的宽度通过编程设置,在此不作具体限定。

优选地,所述有限状态机包括组合逻辑和时序逻辑,在组合逻辑中实现系统状态的判断及输出,在时序逻辑中实现当前系统状态和下一系统状态的切换。

优选地,所述若启动时间大于等于第二预设时间还没检测到所述第一信号,所述有限状态机转换到掉电态并发出第二信号包括:

所述第二信号的输出时间为2s。

请参阅图3,明实施例提供了一种基于有限状态机的看门狗实现装置,所述装置包括:

划分模块1用于依据有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;

第一转换模块2,用于在所述控制单板上电成功时,将所述有限状态机由第一状态转换到第二状态;

第二转换模块3,用于当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;

第三转换模块4,用于若启动时间大于等于第二预设时间还没检测到所述第一信号时,使所述有限状态机从第二状态转换到第四状态并发出第二信号;

第四转换模块5,用于当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。

另外,结合图1描述的本发明实施例的基于有限状态机的看门狗实现方法可以由基于有限状态机的看门狗实现设备来实现。图4示出了本发明实施例提供的基于有限状态机的看门狗实现设备的硬件结构示意图。

基于有限状态机的看门狗实现设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种基于有限状态机的看门狗实现方法。

在一个示例中,基于有限状态机的看门狗实现设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将基于有限状态机的看门狗实现设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

另外,结合上述实施例中的基于有限状态机的看门狗实现方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于有限状态机的看门狗实现方法。

综上所述,本发明实施例提供的基于有限状态机的看门狗实现方法、装置、设备及存储介质。本发明通过依据所述有限状态机将系统划分为第一状态、第二状态、第三状态及第四状态;在所述控制单板上电成功时,将所述有限状态机从第一状态转换到第二状态;当检测到第一信号且启动时间大于等于第一预设时间时,将所述有限状态机从第二状态转换到第三状态;若启动时间大于等于第二预设时间还没检测到所述第一信号,将所述有限状态机从第二状态转换到第四状态并发出第二信号;当接收到所述第二信号时,将所述有限状态机从第四状态转换到第一状态。通过上述对所述有限状态机的设置,可以在系统启动阶段挂死或者运行阶段挂死时,通过重新上下电来实现系统的自动复位功能。本发明能够实时检测处理器送出的喂狗信号,实现系统的自动复位。此外,本发明还可以提高系统集成度及可靠性,降低硬件成本。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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