一种复位电路、方法和装置与流程

文档序号:11385898阅读:528来源:国知局
一种复位电路、方法和装置与流程

本发明涉及自动控制技术领域,具体而言,涉及一种复位电路、方法和装置。



背景技术:

目前,为了防止单片机以及由单片机构成的微机系统中运行的软件出现软件跑飞以及防止软件在线运行时候出现死循环的问题,常常在单片机内设置看门狗,以在软件跑飞以及死循环时对单片机进行复位。

相关技术中,看门狗大多数是以在单片机预设的软件看门狗中设置定时器的方式,软件看门狗主动向单片机的监控进程发送特定的监控心跳消息,向监控进程反馈自身的状态,从而实现对于单片机内部软件的监控。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

软件看门狗无法对单片机的硬件系统进行复位,一旦单片机的系统硬件出现故障,无法及时对系统硬件进行复位,影响单片机整体的稳定性。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种复位电路、方法和装置,以对单片机的系统硬件进行复位。

第一方面,本发明实施例提供了一种复位电路,设置在单片机中,所述单片机包括系统硬件和设置在单片机内部的系统软件,所述复位电路包括:控制模块和与所述控制模块连接的看门狗芯片;

所述控制模块,用于控制所述看门狗芯片对所述单片机的系统硬件进行复位操作。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:还包括:与所述控制模块连接的射频模块;

所述射频模块,用于向所述控制模块发送喂狗信号;

相应的,所述控制模块,用于当接收到所述射频模块发送的喂狗信号时,对所述看门狗芯片进行喂狗操作。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:所述控制模块,设置有延时计数器;

所述控制模块,具体用于:

当接收到喂狗信号时,对所述延时计数器进行累加运算,得到累加运算结果;

当所述累加运算结果大于预设门限值时,使所述看门狗芯片对所述单片机的系统硬件和/或射频芯片进行复位操作。

第二方面,本发明实施例还提供一种应用上述复位电路的复位方法,用于对单片机和/或射频芯片进行复位操作,所述单片机包括系统硬件和设置在单片机内部的系统软件,所述复位方法包括:

获取状态机参数,所述状态机参数包括:预设的正常工作参数和复位参数;

当确定所述状态机参数为所述正常工作参数时,通过延时计数器进行累加运算,得到当前的累加运算结果;

当当前的所述累加运算结果大于预设的门限值时,将所述状态机参数设置为所述复位参数,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中:所述通过延时计数器进行累加运算,得到当前的累加运算结果,包括:

判断当前是否接收到计数器清零信号;

如果是,则对延时计数器进行清零操作,并通过延时计数器进行累加运算,得到累加运算结果;

如果否,则通过延时计数器进行累加运算,得到累加运算结果。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中:所述方法还包括:

通过预设的看门狗进程对单片机内部的系统软件进行监控,并在所述看门狗进程对所述系统软件进行监控的过程中,向所述看门狗进程发送心跳消息,对所述看门狗进程进行喂狗操作。

结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中:所述方法还包括:

获取门限值修改指令,所述门限值修改指令中携带有门限值更新数据;

通过所述门限值更新数据,对所述门限值进行调整。

第三方面,本发明实施例还提供一种复位装置,应用于单片机中,所述单片机包括系统硬件和设置在单片机内部的系统软件,所述装置包括:

参数获取模块,用于获取状态机参数,所述状态机参数包括:预设的正常工作参数和复位参数;

计算模块,用于当确定所述状态机参数为所述正常工作参数时,通过延时计数器进行累加运算,得到当前的累加运算结果;

复位驱动模块,用于当当前的所述累加运算结果大于预设的门限值时,将所述状态机参数设置为所述复位参数,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作。

结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中:所述计算模块,包括:

判断单元,用于判断当前是否接收到计数器清零信号;

第一计算单元,用于如果所述判断单元的判断结果为是,则对延时计数器进行清零操作,并通过延时计数器进行累加运算,得到累加运算结果;

第二计算单元,用于如果所述判断单元的判断结果为否,则通过延时计数器进行累加运算,得到累加运算结果。

结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中:所述装置还包括:

系统软件监控模块,用于通过预设的看门狗进程对单片机内部的系统软件进行监控,并在所述看门狗进程对所述系统软件进行监控的过程中,向所述看门狗进程发送心跳消息,对所述看门狗进程进行喂狗操作。

本发明实施例提供的复位电路、方法和装置,通过设置在复位电路中的看门狗芯片对单片机的系统硬件进行复位操作,与相关技术中软件看门狗无法对单片机的硬件系统进行复位相比,一旦单片机的系统硬件出现故障,可以通过看门狗芯片对系统硬件进行复位,保证单片机的稳定性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供的复位电路的一种结构示意图;

图2示出了本发明实施例1所提供的复位电路的另一种结构示意图;

图3示出了本发明实施例2所提供的复位方法的流程图;

图4示出了本发明实施例3所提供的一种复位装置的结构示意图。

图标:100-控制模块;1002-微控制器;1004-微控制器电源;102-看门狗芯片;200-控制模块;202-射频模块;2022-射频电源;2020-射频芯片;204-看门狗芯片;400-参数获取模块;402-计算模块;404-复位驱动模块。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,看门狗大多数是以在单片机预设的软件看门狗中设置定时器的方式,软件看门狗主动向单片机的监控进程发送特定的监控心跳消息,向监控进程反馈自身的状态,从而实现对于单片机内部软件的监控。软件看门狗无法对单片机的硬件系统进行复位,一旦单片机的系统硬件出现故障,无法及时对系统硬件进行复位,影响单片机整体的稳定性。基于此,本申请提供的一种复位电路、方法和装置。

需要注意的是,在本发明的描述中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

另外,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

本实施例提出一种能够对单片机的系统硬件进行复位的复位电路。

参见图1,本实施例提出的一种复位电路,设置在单片机中,上述单片机包括系统硬件和设置在单片机内部的系统软件,上述复位电路包括:控制模块100和与上述控制模块100连接的看门狗芯片102;

上述控制模块100,用于控制上述看门狗芯片102对上述单片机的系统硬件进行复位操作。

上述看门狗芯片102,用于根据对上述单片机的系统硬件进行复位操作。

上述控制模块100,包括:微控制器1002和微控制器电源1004;微控制器1002分别与微控制器电源1004和看门狗芯片102连接;微控制器电源1004还与看门狗芯片102连接。

上述控制模块100和看门狗芯片102还分别与单片机(图1中未示出)连接。

微控制器1002,用于控制上述看门狗芯片102对上述单片机的系统硬件进行复位操作。

微控制器电源1004,用于对微控制器1002供电。

上述单片机的系统硬件,除了包括上述微控制器1002和微控制器电源1004之外,还包括一些能够使微控制器1002正常工作的与微控制器1002连接的负载电路、存储器、缓存器和输入/输出设备。

上述单片机的系统软件,设置在单片机存储器内,当单片机的系统硬件工作时,被上述微控制器读取出来执行该系统软件的功能。

上述看门狗芯片102对控制模块100进行复位时,会通过与微控制器电源1004连接的线路向微控制器1002发送复位信号。

综上所述,本实施例提供的复位电路,通过设置在复位电路中的看门狗芯片对上述单片机的系统硬件进行复位操作,与相关技术中软件看门狗无法对单片机的硬件系统进行复位相比,一旦单片机的系统硬件出现故障,可以通过看门狗芯片对系统硬件进行复位,保证单片机的稳定性。

相关技术中,通过软件喂狗的方式,经常会导致单片机中喂狗进程正常,但软件本身已跑飞的现象发生。为了避免这种情况,参见图2所示的复位电路结构,本实施例提供的复位电路,还包括:与上述控制模块200连接的射频模块202;

上述射频模块202,用于向上述控制模块200发送上述喂狗信号;

相应的,上述控制模块200,用于当接收到上述射频模块202发送的喂狗信号时,对看门狗芯片204进行喂狗操作。

具体地,射频模块202,包括:射频芯片2020和与该射频芯片2020连接的射频电源2022;该射频芯片2020还与控制模块200通过串行外设接口(serialperipheralinterface,spi)总线连接;射频电源2022还与上述看门狗芯片204连接。

射频芯片2020,用于在接收到外部设备发送的触发喂狗信息时,向上述控制模块200发送上述喂狗信号;

射频电源2022,用于向射频芯片2020供电。

射频芯片2020可以通过现有的任何有线或者无线方式接收外部设备发送的触发喂狗信息,这里不再赘述。

上述外部设备,可以是任何现有的可以向射频芯片发送触发喂狗信息的计算设备,这里不再一一赘述。

所以,为了保证复位后的单片机硬件系统能够正常工作,所以看门狗芯片204在对控制模块200进行复位的同时,还需要通过与射频电源2022连接的线路向射频芯片2020发送复位信号。从而对射频模块也进行复位操作。

通过以上的描述可以看出,在复位电路中配置射频芯片在接收和/或发送数据的同时发出喂狗信号,无需通过软件看门狗发出喂狗信号,可以在单片机内软件本身已跑飞的情况下,快速、准确的使看门狗芯片对单片机的系统硬件进行复位操作,大大提高了喂狗信号的发出准确率。

相关技术中,硬件看门狗产品的喂狗周期过短且不可调节,通常为5秒左右,如果射频芯片与外部设备的交互周期大于5秒或者在当前工作环境下需要设置较长的喂狗周期时,无法满足较长喂狗周期的需求。为了满足较长喂狗周期的需求,本实施例提出的控制模块,设置有延时计数器;

上述控制模块,具体用于执行以下步骤(1)至步骤(2):

(1)当接收到喂狗信号时,对上述延时计数器进行累加运算,得到累加运算结果;

(2)当上述累加运算结果大于预设门限值时,使上述看门狗芯片对上述单片机的系统硬件和/或射频芯片进行复位操作。

在上述步骤(1)中,延时计数器,可以由单片机中设置的硬件计数器或者预先缓存在单片机中的软件计数器实现相应的功能。该延时计数器的门限值可以根据用户的需求进行调整。

通过以上的描述可以看出,通过延时计数器进行累加计算,并在计算得到的累加运算结果大于预设的门限值时,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作,可以根据需求任意改变延时计数器的门限值,从而延长或者缩短看门狗芯片的喂狗周期。

实施例2

本实施例提出一种应用上述实施例1提出的复位电路的复位方法,用于对单片机和/或射频芯片进行复位操作,上述单片机包括系统硬件和设置在单片机内部的系统软件。

相关技术中,硬件看门狗产品的喂狗周期过短且不可调节,通常为5秒左右,如果射频芯片与外部设备的交互周期大于5秒或者在当前工作环境下需要设置较长的喂狗周期时,无法满足较长喂狗周期的需求。为了满足较长喂狗周期的需求,参见图3所示的流程,本实施例提出的复位方法包括以下步骤:

步骤300、获取状态机参数,上述状态机参数包括:预设的正常工作参数和复位参数。

其中,上述状态机参数,设置在单片机中,用于指示当前单片机的系统硬件的工作状态。其中,当状态机参数为正常工作参数时,说明单片机的系统硬件工作正常,当状态机参数为复位参数时,说明单片机的系统硬件工作异常,需要进行复位。

优选地,为了使用方便,可以将正常工作参数设置为0,并将复位参数设置为1。

步骤302、当确定上述状态机参数为上述正常工作参数时,通过延时计数器进行累加运算,得到当前的累加运算结果。

在上述步骤302中,上述累加运算,就是在上次累加运算结果的数值基础上进行加一操作,得到当前的累加运算结果。

上述步骤302具体包括以下步骤(1)至步骤(3):

(1)判断当前是否接收到计数器清零信号,如果是则执行步骤(2),如果否则执行步骤(3);

(2)对延时计数器进行清零操作,并通过延时计数器进行累加运算,得到累加运算结果;

(3)通过延时计数器进行累加运算,得到累加运算结果。

在上述步骤(1)中,计数器清零信号是复位电路中的射频模块在接收到外部设备发送的计数器清零请求时,向单片机发送的信号。

步骤304、当当前的上述累加运算结果大于预设的门限值时,将上述状态机参数设置为上述复位参数,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作。

其中,看门狗芯片复位单片机的系统硬件和/或射频芯片的过程与实施例1中描述的看门狗芯片复位单片机的系统硬件和/或射频芯片的过程一致,这里不再赘述。

对单片机系统硬件和/或射频芯片的复位操作,包括:停止射频芯片对看门狗芯片进行喂狗操作、暂停单片机中的系统软件的运行和将控制模块中的延时计数器清零。并在复位操作后,将上述状态机参数设置为正常工作参数。

步骤306、当当前的上述累加运算结果小于等于预设的门限值时,对当前的累加运算结果进行缓存,并返回上述步骤300。

综上所述,本实施例提出的一种复位方法,通过延时计数器进行累加计算,并在计算得到的累加运算结果大于预设的门限值时,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作,可以根据需求任意改变延时计数器的门限值,从而延长或者缩短看门狗芯片的喂狗周期。

为了更好地使单片机进行工作,在进行单片机硬件监控的基础上,还可以对单片机内部运行的系统软件进行监测,所以在本实施例提出的复位方法,还包括以下步骤:

通过预设的看门狗进程对单片机内部的系统软件进行监控,并在上述看门狗进程对上述系统软件进行监控的过程中,向上述看门狗进程发送心跳消息,对上述看门狗进程进行喂狗操作。

通过以上的描述可以看出,在单片机中不仅设置可以对单片机系统硬件进行复位的看门狗芯片,而且在单片机内部通过预设的看门狗进程对单片机内部的系统软件进行监控,从而即通过看门狗芯片对单片机系统硬件进行监控,又可以通过看门狗进程对单片机内部的系统软件进行监控,保证单片机运行过程的软件和硬件能够正常运转。

相关技术中,硬件看门狗的喂狗周期并不可调,导致硬件看门狗的使用灵活性较差。为了提高硬件看门狗的灵活性,本实施例提出的上述方法还包括以下步骤(1)至步骤(2):

(1)获取门限值修改指令,上述门限值修改指令中携带有门限值更新数据;

(2)通过上述门限值更新数据,对上述门限值进行调整。

在上述步骤(1)中,门限值修改指令是由用户触发的。

用户触发门限值修改指令的过程包括以下具体步骤(11)至步骤(12):

(11)当用户想要对门限值进行修改时,会通过与单片机连接的输入设备选择在与微控制器连接的输出设备上预设的门限值编辑按钮,使得输出设备上展示预设的门限值编辑页面;

(12)在上述门限值编辑页面内,单片机获取用户输入的门限值更新数据,并根据用户输入的门限值更新数据生成门限值修改指令,从而触发门限值修改指令。

通过以上步骤(1)至步骤(2)描述的内容可以看出,在获取到门限值修改指令后,根据门限值更新数据对门限值进行调整,从而根据需要调整看门狗芯片的喂狗周期,提高硬件看门狗的使用灵活性。

实施例3

本实施例提出一种复位装置,用于执行上述实施例2提出的复位方法。

参见图4所示的结构,本实施例提出的复位装置,应用于单片机中,上述单片机包括系统硬件和设置在单片机内部的系统软件,上述装置包括:

参数获取模块400,用于获取状态机参数,上述状态机参数包括:预设的正常工作参数和复位参数;

计算模块402,用于当确定上述状态机参数为上述正常工作参数时,通过延时计数器进行累加运算,得到当前的累加运算结果;

复位驱动模块404,用于当当前的上述累加运算结果大于预设的门限值时,将上述状态机参数设置为上述复位参数,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作。

具体地,上述计算模块,包括:

判断单元,用于判断当前是否接收到计数器清零信号;

第一计算单元,用于如果上述判断单元的判断结果为是,则对延时计数器进行清零操作,并通过延时计数器进行累加运算,得到累加运算结果;

第二计算单元,用于如果上述判断单元的判断结果为否,则通过延时计数器进行累加运算,得到累加运算结果。

综上所述,本实施例提出的一种复位方法,通过延时计数器进行累加计算,并在计算得到的累加运算结果大于预设的门限值时,使看门狗芯片对单片机的系统硬件和/或射频芯片进行复位操作,可以根据需求任意改变延时计数器的门限值,从而延长或者缩短看门狗芯片的喂狗周期。

相关技术中,硬件看门狗的喂狗周期并不可调,导致硬件看门狗的使用灵活性较差。为了提高硬件看门狗的灵活性,本实施例提出的复位装置还包括:

系统软件监控模块,用于通过预设的看门狗进程对单片机内部的系统软件进行监控,并在上述看门狗进程对上述系统软件进行监控的过程中,向上述看门狗进程发送心跳消息,对上述看门狗进程进行喂狗操作。

通过以上的描述可以看出,在获取到门限值修改指令后,根据门限值更新数据对门限值进行调整,从而根据需要调整看门狗芯片的喂狗周期,提高硬件看门狗的使用灵活性。

本发明实施例所提供的进行复位方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,上述程序代码包括的指令可用于执行前面方法实施例中上述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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