一种微控制器异常强制复位的看门狗电路的制作方法

文档序号:8430606阅读:1906来源:国知局
一种微控制器异常强制复位的看门狗电路的制作方法
【技术领域】
[0001]本发明涉及嵌入式系统中微控制器(MCU)软件跑飞时的复位和硬件死锁情况下的强制复位电路。
【背景技术】
[0002]在嵌入式系统中微控制器(MCU)因受到外界干扰或其它原因影响,常会出现死机或程序跑飞的现象,造成产品不能正常工作。业界使用看门狗技术来解决这一问题,通过看门狗将死机或跑飞的系统复位并使其正常工作。看门狗分为微控制器内部看门狗和外部看门狗。内部看门狗是利用MCU内部资源实现的,包括内部专用看门狗或使用内部定时器实现看门狗功能。开启看门狗功能后,MCU要通过软件定期的对定时器重新赋初值或清零(喂狗),一旦MCU异常,定时器将溢出,内部硬件会自动对MCU进行复位操作。外部看门狗是指在MCU外部增加看门狗芯片或电路实现看门狗功能的情况。目前基本上都使用外部专用看门狗芯片,极个别产品会使用外部自行设计的看门狗电路。因为看门狗芯片已经能满足常规的MCU异常时的复位需求。外部看门狗在上电时即开启,MCU需要通过1引脚的电平变化来实现喂狗功能,一旦MCU异常,喂狗控制脚变化超时,外部看门狗将产生复位信号,复位信号加到MCU的外部复位脚,使系统复位。
[0003]外置的专用看门狗芯片或电路实际上是一个特殊的定时器,当定时时间到时,发出溢出脉冲,该脉冲输入到单片机的外部复位引脚上,从而实现系统复位。软件在主程序循环中适时地执行喂狗操作(通过控制引脚变化来清除外部看门狗),保证系统正常运行时看门狗不溢出;而当系统运行异常时,看门狗超时发出溢出脉冲,通过单片机的RESET引脚使单片机复位。这种方式相比内部硬件看门狗及软件看门狗更加可靠,不存在因为上电复位失败而导致内部看门狗及软件看门狗失效的可能,缺点是需要外配芯片或电路。目前常用的集成看门狗电路很多,如DS1232、MAX705?708、MAX791等。图1是DS1232芯片与AT89C52芯片的电路图,单片机通过P3.3脚控制DS1232的喂狗信号,该喂狗信号在主程序的适当时机给出,保证DS1232芯片不溢出,RST脚则保持为低电平;当单片机死机时,P3.3脚不再给出喂狗脉冲,则DS1232定时到时后RST脚输出高电平脉冲将单片机复位。
[0004]现有的看门狗电路,存在如下缺陷:
KMCU内部看门狗在软件未将该功能开启时将不起作用。内部看门狗在MCU死锁时将失效。
[0005]2、外部看门狗喂狗引脚设计为低电平有效或高电平有效,当MCU死机时喂狗脚的状态是不定的。如果与外部看门狗喂狗引脚的有效电平一致,将导致外部看门狗失效。
[0006]3、外部看门狗喂狗条件简单,一般为高低电平变化即可,在系统受到干扰或MCU软件异常时容易错误的产生喂狗条件,使外部看门狗不能正常工作。
[0007]4、外部看门狗复位信号直接连接到MCU的复位脚上,在MCU死锁时,MCU已经内部保护起来,通过该引脚已经不能正常复位MCU。
[0008]5、外部看门狗为与MCU复位脚配合使用,复位电平有效时间都比较短,一般在毫秒级,不适合用于进行断电复位。系统中都含有较大的电容,毫秒级的停电不能有效的将存储的电量消耗掉,因此不能实现断电复位。

【发明内容】

[0009]本发明的目的在于提供一种可靠的微控制器异常强制复位的看门狗电路,使MCU不管在软件跑飞和死锁情况下,均能有效的对系统进行复位,从而保证系统、产品的可靠运行。
[0010]本发明所述的微控制器异常强制复位的看门狗电路,包括第一 CD4017计数器模块,第二 CD4017计数器模块,555振荡器电路模块和电平转换电路模块;
所述电平转换电路,用于将MCU输入的喂狗信号的电压转换成与第一 CD4017计数器相匹配的电压,其输入端连接MCU喂狗信号的输出脚,其输出端连接第一 CD4017计数器模块的脉冲输入脚(CLK脚),将经电平转换电路转换后的喂狗信号输入到第一⑶4017计数器模块;
所述555振荡器电路模块,用于生成周期性的脉冲信号,并将生成的脉冲信号输送到第一⑶4017计数器模块的复位脚(RST脚)和第二⑶4017计数器模块的脉冲输入脚(CLK脚);
所述第一 CD4017计数器模块,其脉冲输入脚(CLK脚)连接电平转换模块的输出端,复位脚(RST脚)则与555振荡器电路模块的输出端连接,其数据输出脚Q8脚则连接到第二CD4017计数器模块的复位脚(RST脚);其将十个喂狗脉冲,转成一个脉冲信号提供给第二计数器作为复位信号;
第二⑶4017计数器模块,其频率输入脚(CLK脚)连接555振荡器电路模块的输出端,其复位脚(RST脚)连接第一 CD4017技术器模块的数据输出脚Q8,其数据输出脚Q9则连接到控制MCU工作的电源电路,通过电源电路控制对MCU的供电和停电;其接收555振动器电路模块的脉冲信号和第一 CD4017计数器模块的复位信号,控制MCU的供电和停电。
[0011]555振荡器电路模块,可以产生任意占空比和周期的脉冲信号,该脉冲信号为第二⑶4017计数器模块提供脉冲输入,同时每个脉冲的高电平将第一⑶4017计数器模块复位,第一⑶4017计数器模块的RST脚高电平有效。
[0012]当第二⑶4017计数器模块的复位脚(RST)始终保持低电平,即未执行有效的喂狗时,555振荡器电路模块产生的连续9个脉冲可使第二 CD4017计数器模块的数据输出脚Q9从低电平变为高电平,此时MCU电源电路可关断MCU的供电,看门狗执行断电功能。延时到555振荡器电路模块的一个周期后,产生的第10个脉冲可使第二⑶4017计数器模块的数据输出脚Q9从高电平变为低电平,此时MCU电源电路对MCU及其它元件将重新上电,此时看门狗执行完断电复位功能。MCU正常运行时要在555振荡器电路模块输出低电平的时间内连续通过喂狗信号输入脚(WatchDog)向看门狗电路输入10个脉冲,使第一⑶4017计数器模块的数据输出脚Q8产生I个高电平脉冲,该高电平脉冲施加到第二 CD4017计数器模块的复位脚(RST)使第二⑶4017计数器模块复位(
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1