一种基于MCU的硬件看门狗实现方法与流程

文档序号:12824572阅读:1427来源:国知局

本发明涉及一种硬件看门狗系统,特别涉及一种基于mcu的硬件看门狗的实现方法,属于集成电路领域。



背景技术:

嵌入式控制系统运行时发生错误或者受各种干扰,系统偶尔会出现“死机”,导致整个系统程序无法运行。为了杜绝这种问题的发生,对系统运行可靠性要求较高的应用场合在设计时需要在系统处理器外部加入看门狗(watchdog)电路。看门狗电路的作用就是当系统出现错误而进入死机状态时,恢复系统主程序的运行,确保主程序运行稳定、可靠、持续。

现有看门狗电路多采用子模块组合的综合设计方式,其缺陷主要表现为:

1、看门狗电路输出的复位电平时序不可选择,不能适应需要电平时序配合进行复位的应用场合;

2、看门狗电路的超时时间可调范围为固定的t值或根本不可调,适用范围较窄;

3、看门狗电路为复位信号产生电路、看门狗信号产生电路及其附属元器件的综合设计,元器件使用较多,占用电路面积大,在狭小空间使用不便。

为解决上述问题,设计一种以集成电路为基础的基于mcu的看门狗实现方法,就成为本发明所要解决的问题。



技术实现要素:

鉴于上述现有情况和不足,本发明旨在提供一种体积小、方法简单、控制过程稳定、灵活的基于mcu的硬件看门狗实现方法,以满足不同行业对看门狗电路的使用需求,提高mcu作为看门狗使用的安全性和可靠性。

本发明是通过以下技术方案来实现的:

一种基于mcu的硬件看门狗实现方法,具体步骤包括:

步骤1、依据所需看门狗功能,将具有io控制功能和计数功能的mcu上对应的io管脚配置为看门狗使能输入、喂狗输入、中断输出、复位输出和功能屏蔽管脚,并定义相应的电平逻辑,完成基于mcu的看门狗管脚功能初始化。

步骤2、分配基于mcu的看门狗中的超时计数器和中断计数器,根据不同需求设定超时时间和复位电平时序。

步骤3、当看门狗使能输入管脚接收到外界被监控设备上处理器发出的激活信号时,超时计数器开始计数,同时,根据喂狗输入是否收到处理器发来的周期性喂狗信号,判定超时计数器是否进行“清零”操作,具体过程包括。

当超时计数器不溢出时,根据喂狗输入收到的处理器发来的周期性喂狗信号,将所有计数器进行‘清零’,基于mcu的看门狗保持对处理器运行状态的监控。

当超时计数器溢出时,基于mcu的看门狗向处理器输出中断信号,若处理器收到中断信号后重新进行“喂狗”,看门狗恢复正常,所有计数器均“清零”,基于mcu的看门狗继续保持对处理器运行状态的监控;若处理器不能恢复“喂狗”,则中断计数器做+1处理,当超时计数器第2次溢出时,基于mcu的看门狗判断处理器处于“死机”状态,基于mcu的看门狗通过复位输出符合复位电平时序要求的复位信号对处理器进行复位操作,同时,将所有计数器“清零”,重置基于mcu的看门狗使能,复位完成后,跳转至步骤3的开始阶段,基于mcu的看门狗恢复对处理器运行状态的监控。

一种基于mcu的硬件看门狗实现方法,还包括:在长期不用基于mcu的看门狗的应用场所中,通过在功能屏蔽管脚处外接跳线屏蔽基于mcu的看门狗。

本发明所述的一种基于mcu的硬件看门狗实现方法的有益效果包括:

1、实现了看门狗超时时间可在较大范围内的连续可调以及可选择的复位电平时序输出,提高了基于mcu的硬件看门狗的监控和复位能力,扩大了基于mcu的硬件看门狗的适用范围;

2、本发明仅需一片配置有数个管脚的mcu即可实现全部看门狗功能,价格低廉,结构简单,在应用时可极大简化硬件看门狗电路的设计,减少所占电路面积,节约电路成本;

3、开放性好,控制参数可调,为具体使用过程提供了方便,可满足多种行业的使用需要。

具体实施方式

本发明的工作原理为:基于具有基本io控制功能和计数功能的mcu,结合看门狗电路的功能需求配置该mcu的使能输入、喂狗输入、中断输出、复位输出、功能屏蔽等引脚功能,并通过对处理器发出的信号进行接收、分析和处理,实现基于mcu的看门狗功能,完成看门狗对处理器运行状态的监控和正确复位。

本发明所述的一种基于mcu的硬件看门狗实现方法,具体步骤包括:

步骤1、依据所需看门狗功能,将具有io控制功能和计数功能的mcu上对应的io管脚配置为看门狗使能输入、喂狗输入、中断输出、复位输出和功能屏蔽管脚,定义相应的电平逻辑,完成基于mcu的看门狗管脚功能初始化。

其中,看门狗使能输入的管脚功能为接收处理器的激活信号,从而激活基于mcu的看门狗功能;喂狗输入的管脚功能为接收“喂狗”信号,进而判断处理器是否处于工作状态,实现随时对处理器运行状态进行监控的目的;中断输出的管脚功能为在超时计数器溢出时输出中断信号,请求处理器恢复“喂狗”,防止因处理器的临时故障造成错误复位,给实际使用带来不必要的麻烦;复位输出的管脚功能为输出复位信号,对处理器进行复位操作,完成被监控设备的重启功能;功能屏蔽管脚用于屏蔽基于mcu的看门狗,通过人为插入跳线过程,使看门狗处于失效状态。

步骤2、分配基于mcu的看门狗中的超时计数器和中断计数器,根据不同需求设定超时时间和复位电平时序。

在基于mcu的看门狗中需设置相应的超时计数器和中断计数器,以记录处理器‘喂狗’信号的超时情况,以及由于超时可能产生的‘喂狗’过程中断次数,为最终是否对处理器进行复位提供帮助。

步骤3、当看门狗使能输入管脚接收到外界被监控设备上处理器发出的激活信号时,超时计数器开始计数,同时,根据喂狗输入是否收到处理器发来的周期性喂狗信号,判定超时计数器是否进行“清零”操作,具体过程分为三种情况,分别包括:

a、当超时计数器不溢出时,根据喂狗输入收到的处理器发来的周期性喂狗信号,将所有计数器进行‘清零’,基于mcu的看门狗保持对处理器运行状态的监控,整个系统处于正常工作状态。

b、当超时计数器溢出时,基于mcu的看门狗向处理器输出中断信号,若处理器处于临时故障状态,处理器收到中断信号后会重新进行“喂狗”,看门狗恢复正常,所有计数器均“清零”,基于mcu的看门狗继续保持对处理器运行状态的监控。

c、当超时计数器溢出时,基于mcu的看门狗向处理器输出中断信号,若处理器不能恢复“喂狗”,则中断计数器做+1处理,当超时计数器第2次溢出时,基于mcu的看门狗判断处理器处于“死机”状态,基于mcu的看门狗通过复位输出符合复位电平时序要求的复位信号对处理器进行复位操作,同时,将所有计数器“清零”,重置基于mcu的看门狗使能,复位完成后,跳转至步骤3的开始阶段,基于mcu的看门狗重新恢复对处理器运行状态的监控。

当然,在上述一种基于mcu的硬件看门狗实现方法中还包括:在长期不用基于mcu的看门狗的应用场所中,通过在功能屏蔽管脚处外接跳线屏蔽基于mcu的看门狗,使基于mcu的看门狗处于失效状态,方便外接被监控设备在特殊情况下的使用。

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