单片机复位看门狗电路
C51单片机看门狗电路及程序设计方案
C51单片机看门狗电路及程序设计案院系:信息工程学院年级:2010级电子一班禹豪电子一班训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。
由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
*此处设计原理实际上为下文中硬件看门狗设计思路。
(2)看门狗电路一般设计式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的法实现(即利用单片机部定时器资源,通过编程模拟硬件看门狗工作式),以51系列为例:因在51单片机中有两个定时器,在利用部定时器资源来对主程序的运行进行监控时。
基于MAX706的可靠看门狗电路设计方法
基于MAX706的可靠看门狗电路设计方法摘要:单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于如何正确给“看门狗”电路进行复位(即“喂狗"),文章在介绍了一种采用MAX706和89C52构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。
关键词:抗干扰单片机看门狗 MAX706 89C52随着MCS-51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机".笔者通过近几年的设计实践及不断试验,总结了一套可靠的“看门狗"硬件电路及软件设计方法。
由于一些专业期刊曾经刊登过许多关于“看门狗”硬件电路构成的文章,同时也详细的关于“看门狗”电路非正常失效故障原因的分析及针对性软件设计技巧[1],本文给出了一个采用MAX706和89C52构成的“看门狗"硬件电路,并且从新的角度说明了如何确保“看门狗"电路的正常工作,同时给出了它的软件设计方法。
1 “看门狗"硬件电路简述现以MAX706监控电路为例(见图1)来说明“看门狗”硬件电路的工作过程,我们知道,MAX706是一种性能优良的低功耗CMOS监控电路芯片,其内部电路由上电复位、可重触发“看门狗”定时器及电压比较器等组成[2]。
MAX706只要在1.6秒时间内检测到WCI引脚有高低电平跳变信号,则“看门狗”定时器清零并重新开始计时;若超出1.6秒后,WCI引脚仍无高低电平跳变信号,则“看门狗”定时器溢出,WDO引脚输出低电平,进而触发MR手动复位引脚,使MAC706复位,从而使“看门狗”定时器清零并重新开始计时,WDO 引脚输出高电平,MAX706的RST复位输出引脚输出大约200毫秒宽度的低电平脉冲,使单片机控制系统可靠复位,重新投入正常运行。
2 “看门狗”电路软件设计方法以往的“看门狗"电路复位指令(即“喂狗”)一般总是插入在主程序中,而且“喂狗”指令一般是脉冲式,可以连续用两条取反指令(如CPL P1。
看门狗 知识总结
在该电路中SPC3的复位电路与89C52的复位电路应相互独立,这样在单片机复位时SPC3仍能够正常通信。
由MAX705组成的看门狗复位电路可以保证单片机系统在程序“跑飞”时能够可靠复位,MAX705的复位脉冲输出有正脉冲和负脉冲两种方式,当复位脉冲为负脉冲时,需要外接反相器后再连接到单片机的复位端,具体连接如图4。
图4 看门狗电路在正常情况下,P1.x引脚不超过1.6s就向WDI端发出“喂狗”信号,程序陷入死循环后,“喂狗”信号无法发出,当死循环运行时间超过1.6s时,MAX705的看门狗输出将变低并触发,复位信号从端输出。
1看门狗看门狗实际上是一个计数器,它需要在一定的看门狗延时周期内被清零,如果没有清零动作,看门狗电路将产生一个复位信号以使系统重新启动或建立一个非屏蔽中断(NMI)并执行故障恢复子程序。
大多数看门狗电路是沿触发,这样,无论是上升沿还是下降沿触发看门狗的输入端(WDI)通常都能够清计数器。
WDI引脚一般连接在处理器的一个I/0口,这条口线可由软件触发。
图1所示是微处理器通过在WDl脚发送脉冲清除看门狗定时器以防止复位的连接方式,实际上,清看门狗计数器的命令必须在主程序内。
如果看门狗没有被清零,复位后软件将从地址为0000(启动程序)的子程序处开始运行。
计算主程序的运行时间往往很困难,因为在此期间可能需要多次调用子程序,这与系统输入有关。
因此,设计人员常常选择看门狗延时周期远远高于测试到的或计算出的循环时间。
图2所示是正常工作情况下(看门狗在延时周期内被请零)的看门狗信号和复位信号。
图3所示为看门狗计数器溢出时引发一次复位的时序示意图。
工业标准的看门狗电路延时周期一般在l00ms~2s范围内,当然,也有些可调节或定制的看门狗电路能够覆盖更宽的延时范围(30ms至几分钟)。
如果主程序的执行时间对于看门狗电路而言过长,设计人员可以在主程序的不同部位多次执行看门狗触发命令,也可以选用看门狗延时周期更长的器件。
c51单片机的复位电路
单片机复位电路设计一、概述影响单片机系统运行稳定性的因素可大体分为外因和内因两部分:1、外因射频干扰,它是以空间电磁场的形式传递在机器内部的导体<引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。
2、内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定。
起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。
二、复位电路的可靠性设计1、基本复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
图1所示的RC复位电路可以实现上述基本功能,图3为其输入-输出特性。
但解决不了电源毛刺<A 点)和电源缓慢下降<电池电压不足)等问题而且调整 RC 常数改变延时会令驱动能力变差。
左边的电路为高电平复位有效右边为低电平 Sm为手动复位开关Ch可避免高频谐波对电路的干扰。
图1 RC复位电路图2所示的复位电路增加了二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。
图3所示复位电路输入输出特性图的下半部分是其特性,可与上半部比较增加放电回路的效果图2 增加放电回路的RC复位电路使用比较电路,不但可以解决电源毛刺造成系统不稳定,而且电源缓慢下降也能可靠复位。
图4 是一个实例当 VCC x (R1/(R1+R2> > = 0.7V时,Q1截止使系统复位。
Q1的放大作用也能改善电路的负载特性,但跳变门槛电压 Vt 受 VCC 影响是该电路的突出缺点,使用稳压二极管可使 Vt 基本不受VCC影响。
见图5,当VCC低于Vt(Vz+0.7V>时电路令系统复位。
51单片机看门狗电路简介
51单片机看门狗电路简介采用89C51 单片机和X25045 组成的看门狗电路,X25045 硬件连接图如图2 所示。
X25045 芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。
在看门狗定时器预置的时间内若没有总线活动,则X25045 将从RESET输出一个高电平信号,经过微分电路C2、R3 输出一个正脉冲,使CPU 复位。
图2 电路中,CPU 的复位信号共有3 个:上电复位(C1、R2),人工复位(S、R1、R2)和Watchdog 复位(C2、R3),通过或门综合后加到RESET 端。
C2、R3 的时间常数不必太大,有数百微秒即可,因为这时CPU 的振荡器已经在工作。
图2 X25045 看门狗电路硬件连接图看门狗定时器的预置时间是通过X25045 的状态寄存器的相应位来设定的。
如表2 所示,X25045 状态寄存器共有6 位有含义,其中WD1、WD0 和看门狗电路有关,其余位和EEPROM 的工作设置有关。
表2 X25045 状态寄存器WD1=0,WD0=0,预置时间为1.4s。
WD1=0,WD0=1,预置时间为0.6s。
WD1=1,WD0=0,预置时间为0.2s。
WD1=1,WD0=1,禁3; /*时钟信号由P1.3 产生*/sbit si=P1; /*SI 由P1.0 产生*/sbit so=P1;/*SO 由P1.1 产生*/sbit c=ACC;/*定义位变量*/bdata unsigned char com;void tran() /*发送一字节数据子函数*/{unsigned char i;for(i=0; i8; i++){ ACC=com; /*将数据放入a 中*/si=c;sck=0; /*sck 产生一个上跳变*/sck=1;com=com1; /*左移一位*/}return;} main(){com=0x06; /*发写读使能命令*/cs=0;tran();cs=1;com=0x01; /*发写状态字命令*/cs=0;tran();com=0x00; /*定时1.4s*/tran();cs=1;...;系统正常运行的程序部分} 需要注意的是,在程序正常运行的时候,应该在适当的地方加一条喂狗指。
单片机的4种工作方式介绍
单片机的4种工作方式介绍单片机共有复位、程序执行、低功耗和编程与加密四种工作方式,下面分别加以介绍。
1.复位方式(1)为什么要复位大家知道,单片机执行程序时总是从地址0000H 开始的,所以在进入系统时必须对CPU 进行复位,也叫初始化;另外由于程序运行中的错误或操作失误使系统处于死锁状态时,为了摆脱这种状态,也需要进行复位,就象电脑死机了要重新启动一样。
(2)复位的原理单片机复位的方法其实很简单,只要在RST 引脚(9 脚)上加一个持续时间为24 个振荡周期(即两个机器周期)的高电平就可以了。
如果晶振为12M,计算一下这个持续脉冲需要多长时间?(3)如何进行复位复位操作有上电自动复位、按键复位和外部脉冲复位3 种方法,上电自动复位是通过外部复位电路的电容充电来实现的,当电源刚接通时电容C 对下拉电阻开始充电,由于电容两边的电压不能突变,所以RTS 端维持高电平,只要这个充电时间不超过1ms,就可以实现对单片机的自动上电复位,即接通电源就完成了系统的初始化,在实际的工程应用中,如果没有特殊要求,一般都采用这种复位方式;按键复位的电路如图2 所示,它其实就是在上电复位的基础上加了R2 和SA,这种电路一般用在需要经常复位的系统中;外部脉冲复位的电路如图3 所示,外部复位通常用于要求比较高的系统,比如希望系统死锁后能自动复位。
外部复位是由专门的集成电路来实现的,也就是我们通常俗称的“看门狗”电路,这种电路有很多,它们不但能完成对单片机的自动复位功能,而且还有管理电源、用作外部存储器等功能,比如X25045,MAX813L 等等就是比较常用的此类芯片。
(4)复位后的状态这就是单片机复位后内部系统的状态。
2.程序执行方式程序执行是单片机的基本工作方式,由于复位后PC=0000 ,所以程序就从地址0000H 开始执行,此时单片机就根据指令的要求完成一系列的操作控制,比如前面讲的让LED 灯闪烁起来,不过在实际使用中,程序并不会从0000H 开始执行,而总是安排一条跳转指令,比如LJMP START ,为什么要这样安排,我们讲到中断时再来解释。
单片机看门狗(Watchdog)的工作原理及其应用
单片机看门狗(Watchdog)的工作原理及其应用2010年05月16日星期日 23:00在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环。
程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果。
所以,出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"(watchdog)。
看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行。
这个时候,看门狗电路就会由于得不到单片机送来的信号。
便在它和单片机复位引脚相连的引脚上送出一个复位信号。
使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
看门狗,又叫 watchdog timer,是一个定时器电路。
一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU 正常工作的时候,每隔一端时间输出一个信号到喂狗端,给 WDT 清零。
如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,是MCU复位,防止MCU死机。
看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以,在使用有看门狗的芯片时要注意清看门狗。
C51单片机看门狗电路及程序设计方案解读
C51单片机看门狗电路及程序设计方案院系:信息工程学院年级:2010级电子一班刘禹豪电子一班赵训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。
由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
(2)看门狗电路一般设计方式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计方式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的方法实现(即利用单片机*此处设计原理实际上为下文中硬件看门狗设计思路。
内部定时器资源,通过编程模拟硬件看门狗工作方式),以51系列为例:因在51单片机中有两个定时器,在利用内部定时器资源来对主程序的运行进行监控时。
单片机的复位方式
单片机的复位方式1. 简介单片机是一种集成了计算机的核心部件的微型电子器件。
它具有处理数据、控制外部设备和执行用户程序等功能。
在单片机工作过程中,复位是一个十分重要的概念。
复位是将单片机恢复到初始状态的过程,以确保系统正常运行。
2. 复位的作用•清除寄存器和内存中的数据,将它们初始化为默认值。
•复位控制寄存器和标志位。
•启动系统时钟和计时器。
•重置各个模块的状态。
3. 单片机的复位方式单片机可以通过多种方式进行复位,下面将介绍几种常见的复位方式。
3.1. 上电复位上电复位是最常见的复位方式之一,当单片机供电时,内部电路会自动进行复位操作。
上电复位可以确保单片机在初始状态下开始工作。
3.2. 外部复位外部复位是通过外部电路对单片机进行复位。
单片机通常会提供一个复位引脚,当复位引脚接收到低电平信号时,单片机进行复位操作。
外部复位可以在需要时手动进行,比如在系统发生故障时,可以通过按下复位按钮将单片机强制复位。
3.3. 看门狗复位看门狗复位是通过看门狗定时器来实现的。
看门狗定时器是一种特殊的计时器,用于监控系统的运行状态。
如果单片机在指定时间内没有喂狗,看门狗定时器将会触发复位操作,以确保系统的稳定性和可靠性。
3.4. 软件复位软件复位是通过程序指令来实现的。
单片机通常提供了专门的指令,用于清除寄存器、初始化内存和复位系统。
可以在需要时由程序员编写代码触发软件复位。
4. 复位优先级在单片机进行复位操作时,可能会出现多个复位信号同时存在的情况。
为了确定复位的优先级,单片机通常将复位信号进行优先级编码。
具体的优先级编码方式可能因单片机型号和厂家而有所不同。
5. 复位时序在进行复位操作时,需要遵循一定的时序要求,以确保复位操作的有效性。
具体的复位时序因单片机而异,常见的复位时序包括:•复位脉冲宽度:复位信号的宽度必须大于指定的最小复位脉冲宽度。
•稳定时间:在复位信号结束后,需要等待一段时间以确保系统稳定后再进行操作。
单片机应用系统中的_看门狗_电路及低成本实现
, 看 门 狗 电路 如 图 1 所 示. 图 中
! 63!
2008 年
商丘职业技术学院学报
74LS123 触发器的输入端接高电平 , 负脉冲触发 . 第一个触发器工作状态由单片机 P1 口的 P1 . 7 控制, 系统 开始工作时 , P1 . 7 向 2A 端输入一个负脉冲, 使 2Q 端产生一个正跳变, 但并不能触发第二个单稳态触发器 动作, 1Q 端仍为低电平. P1 . 7负触发脉冲的时间间隔取决于系统控制主程序运行周期 . 在单片机应用系统 应用程序设计中 , 软件流程要设计成循环结 构. 发出喂狗信号的指令包 含在主程序中, 使用 CLR P1 . 7和 SETB P1. 7 两条指令. 如果主程序运行周期小于单稳态触发器的暂态时间 , 则当单片机正常运行时 , 将不断 重新触发第二个单稳态触发器, 其输出端 2Q 端始终保持高电平, 1A 端保持高电平 , 第一个单稳态触发器就 不会产生动作. 如果单片机受到干扰 , 产生了死循环, 那么第二单稳态触发器的暂态时间内 , 就不会出现送 给 2A 端的负脉冲 , 第二个单稳态触发器脱离暂态 , 2Q 端回到低电平触发第一个单稳态触发器翻转到暂态 , 1Q 端产生脉冲信号, 使单片机可靠复位, 系统运行的可靠性大大提高.
[ 2 ] 374- 375
.
图 2 由计数器构成的 看门狗 电路
2 . 3 由门电路构成 看门狗 电路 在电路的设计中往往会有多余的门电路, 这时可以用作 看门狗 电路 , 既降低了成本, 又提高了电路的 可靠性 . 电路形式可以有很多种 , 特别在 89C1051 / 2051 的应用电路中, 利用其 P1 . 0 /P1. 1 口没有上拉电阻 的特点 , 可以用两个 CMOS 门电路 ( 本例中是六反相器 CD4069 中的两个空余反相器 ) 设计一个极简单的低 成本 看门狗 电路, 如图 3 . 由于需要的定时时间比较长 , 因此只能使用输入阻抗高的 CMOS 门电路, 当然也 ! 64!
“看门狗”电路DS1232在单片机产品中的应用
免费赠阅
《L ED 光柱专用芯片应用专集》
L ED 光柱被誉为替代指针式动圈表的优 选产品 , 本专集汇集了常用 L ED 光柱有关技 术数据及各种显示方式的驱动电路 , 是设计人 员开发光柱仪表的实用手册 。
成熟技术奉献 函索电告即寄
杭州三可仪表厂 (市场部) 赠阅电话 : (0571) 6994515 传真 :6985324 联系人 :冯国强 地址 :杭州艮山西路 158 号 邮编 :310021
(2) DS1232 内部第 6 引脚没有上拉电阻 , 如果 单片机的其它外围接口芯片需要用到低电平复位信 号 , 那么 , 必须在该引脚上外接一个上拉电阻 , 如图 3 中的 R 。
(3) 如果用仿真器调试用户目标板 ,并且 S T 端 与 单 片 机 的 AL E 相 连 , 那 么 最 好 先 不 要 插 上 DS1232 芯片 , 因为在仿真器与 PC 机相连单步运行 程序时 , 单片机的 AL E 信号并不是连续供给的 , 容 易造成非正常复位 ,影响调试工作的进行 。
图 1 DS1232 外形及引脚排列
图 2 DS1232 内部结构框图
© 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
“看门狗”电路 DS1232 在单片机产品中的应用
- 21 -
●不需要分立元件 ; ●适应温度范围宽 , - 40~ + 85 ℃。
J ia Zhenguo Xu Lin
摘要 : 介绍一种看门狗集成电路 DS1232 的功能及与单片机的实际接口电路 , 结合工程实际指出了
DS1232 在应用中的注意事项 。
单片机汇编语言实现看门狗
CS=0; if(bRegion==0) //write the page addr else WriteByte(cAddress); WriteByte(cData); SCK=0; // CS=1; } uchar ReadEpm(uchar cAddress,bit bRegion) /* 读入一个字节,cAddress 为读入地址,bRegion 为页 */ { uchar cData; while((ReadReg()&0x01)==1);//the device is busy CS=0; if(bRegion==0) else WriteByte(cAddress); cData=ReadByte(); CS=1; return cData; } main() { WriteReg(0x00);//set the watchdog time as 1.4s CS=1; CS=0; } //reset the watchdog
SCK=0; SCK=1; ucData<<=1; } } uchar ReadReg() { uchar ucData; CS=0; WriteByte(RDSR); ucData=ReadByte(); CS=1; return ucData; } uchar WriteReg(uchar ucData) { uchar ucTemp; ucTemp=ReadReg(); if((ucTemp&0x01)==1) //the device is busy return 0; CS=0; WriteByte(WREN);//when write the WREN, the cs must have a high level CS=1; CS=0; WriteByte(WRSR); WriteByte(ucData); CS=1; return 1; } void WriteEpm(uchar cData,uchar cAddress,bit bRegion) /* 写入一个字节,cData 为写入的数,cAddress 为写入地址,bRegion 为页 */ { while((ReadReg()&0x01)==1); //the device is busy CS=0; WriteByte(WREN); //when write the wren , the cs must have a high level CS=1; //write register //read register
采用MAX813的单片机看门狗电路图
采用MAX813的单片机看门狗电路图
MAX813L芯片特点:
上电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值200ms。
独立的看门狗输出,如果看门狗输入在1.6内未被触发,其输出将由高电平变为低电平。
1.25V门限值检测器,用于电源故障报警、电池低电压检测。
低电平有效的手动复位输入。
MAX813L引脚功能如下表:
max813组成的单片机看门狗电路如下图所示。
晶体振荡器采用11.0592MHz,这是为满足9600/s的波特率而选用的.DIP8为8位地址开关,作为通信结点的地址编码.最多可编256个地址码.MAX813L是看门狗芯片,在上电、掉电期间及在通信期间及在电压降低的情况下可产生一个复位信号。
51单片机的看门狗
“看门狗〞概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进展实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗〞(watch dog)。
参加看门狗电路的目的是使单片机可以在无人状态下实现连续工作,其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,给看门狗引脚送电平的程序便不能被执行到,这时,看门狗电路就会由于得不到单片机送来的信号,便将它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,从而单片机将从程序存储器的起始位置重新开场执行程序,这样便实现了单片机的自动复位。
通常看门狗电路需要一个专门的看门狗芯片连接单片机来实现,不过这样会给电路设计带来复杂,STC单片机内部自带有看门狗,通过对相应特殊功能存放器的设置就可实现看门狗的应用,STC89系列单片机内部有一个专门的看门狗定时器存放器,Watch Dog Timer 存放器,其相应功能见下个知识点。
看门狗定时器存放器(WDT_CONTR)STC单片机看门狗定时器存放器在特殊功能存放器中的字节地址为E1H,不能位寻址,该存放器用来管理STC单片机的看门狗控制局部,包括启停看门狗、设置看门狗溢出时间等。
单片机复位时该存放器不一定全部被清0,在STC下载程序软件界面上可设置复位关看门狗或只有停电关看门狗的选择,大家根据需要可做出适合自己设计系统的选择。
其各位的定义如表4.2.1所示。
表1看门狗定时器存放器(WDT_CONTR)EN_WDT:看门狗允许位,当设置为“1〞时,启动看门狗。
STM32F103系列单片机最实用看门狗的详细资料概述
STM32F103系列单片机最实用看门狗的详细资料概述为什么使用看门狗事情很简单先前做的一款采集数据的产品不知道为何异常,陷入死循环然后“死机”,分析了很多次,没发现原因,但是每次重新上点后就能正常采集到数据。
后来找到了解决方法:看门狗!目的是当程序走入死循环或者硬件异常时,可以自动复位,这样就可以得到跟重新上电后差不多的效果了。
使用的平台:stm32f103系列单片机使用的烧写调试模式:Jlink SWD 模式。
使用STM32官方模板库。
ST系列单片机看门狗分为两种:1.独立看门狗,2.窗口看门狗。
独立看门狗:可参看RM(reference Manual)的Independent watchdog (IWDG)当然,只是简要查看下RM中的介绍(至于寄存器的操作,我们可以略过,因为我们使用库的开发,但是基本流程一定要了解!)。
在这里我们要抓住几个关键点:a、stm32f10x系列有两个看门狗,看门狗主要用于检测由于软件出错的问题,并触发系统自动复位,或者触发一个中断(窗口看门狗才有)。
b、独立看门狗的时钟源为LSI,尽管主时钟出错,它还是能保持激活状态。
窗口看门狗的时钟源为APB1时钟,并且可以修改分频值。
c、独立看门狗:有独立时钟(内部低速时钟LSI),所以不受系统硬件影响的系统故障探测器。
主要用于监视硬件错误。
精确度要求比较低。
d、窗口看门狗:时钟与系统相同。
如果系统时钟不走了,这个狗也就失去作用了,主要用于监视软件错误。
精确度要求更高。
看门狗原理简介:有某个寄存器按照时钟源不断的递减(有只狗,不断的消耗能量),当该。
关于飞思卡尔单片机9S12出现看门狗COP不复位且系统出现死机现象,所有功能或管脚无输出并卡死等问题的总结
关于飞思卡尔单片机MC9S12XET256A出现看门狗COP不复位且系统出现死机现象,所有功能或管脚无输出并卡死等问题的总结,希望给遇到同样问题的朋友提供参考。
由于对飞思卡尔的看门狗COP不是很了解,导致工作过程遇到了一些麻烦,后来经过很长时间的搞鼓,并通过NXP官网技术支持的帮助,解决了问题,现总结如下: 与其他单片机不同的是看门狗计数溢出后:9S12是先复位系统(寄存器和所有外设都恢复到默认状态),然后PC指向看门狗中断向量所保存的看门狗中断服务程序地址)。
注意!看门狗中断是不可屏蔽中断,且它并不是一个中断服务函数,只是一个路径。
系统复位以后,执行的第一动作就是将系统指针PC首先跳到该路径上,因此必须在代码里声明该路径的地址向量,声明的地方在一个后缀名为.prm的文件里。
默认只有VECTOR 0 _Startup,但9s12有三种复位的情况,分别指向三个地址,0号是系统上电,非法地址等复位;1号是时钟异常复位;2号就是我们需要的看门狗复位;我们让系统复位后,都把PC指向启动首地址。
注意!如果不定义,系统指针就一直指向对应中断标号的地址上,且不会再跳转移动,整个系统像跑飞或卡死的现象。
这个问题外国朋友Radek说得通俗易懂,如下:Hi XJC,I am glad that it works now.The problem is that the COP do not cause any watchdog interrupt and CopInterrupt() isn’t an interrupt routine (ISR).When COP is not triggered properly, it will reset MCU. If COP is detected as reset source, vector at address 0xFFFA will be fetched. This vector points to your CopInterrupt() routine.Similar is valid also for CM reset (vector at 0xFFFC).POR/External/Illegal Address resets will fetch reset vector at address 0xFFFE.So, the CopInterrupt() routine is executed as first code after MCU reset (while the stack is not initialized yet) and RTI instruction at end of routine doesn’t have sense (there isn’t any context which might be restored). The CopInterrupt() (CMInterrupt()) routine must end by jump into some code. For example:asm jmp _Startup;If you do not want different behavior/code for POR/CM/COP resets, you may define_Startup() routine for all three vectors inside prm file. For example:VECTOR 0 _Startup //Power On, External, Illegal Address resetsVECTOR 1 _Startup //Clock Monitor resetVECTOR 2 _Startup //COP Watchdog resetIn that case you don’t need to define CopInterrupt()/CMInterrupt() routines.I hope it helps you.Have a great day,Radek正常情况下,很多人容易配置成如下图所示的示例,那么就会出现两种情况:当在中断里面放while(1);语句,可以正常产生看门复位;当放一个很长的for循环(超过看门狗溢出的时间),则马上出现卡死现象,不复位情况。
看门狗电路简介(低成本)
看门狗电路简介(低成本)
在工业控制中常使用MCS-51系列单片机,为了防止程序跑飞往往外接一个看门狗电路。
看门狗电路可完成加电复位和死机复位两种功能。
成品的看门狗集成电路如MAX813L等价格一般都较高。
现介绍一种由通用数字电路CD4011组成的廉价的看门狗电路。
上图是由与非门CD4011组成的看门狗电路,图2为有关引脚波形图。
由上图可以看出,在不考虑1脚的喂狗信号的情况下,三个与非门A、B、C、串接成一个环路。
由于VD1、R2、C2、和R3、C3两组延时电路的作用,它们将组成一个振荡器。
平时与非门A的2脚为高电平(见后面喂狗信号引起VDI、R2、C2充放电的说明),10时刻的喂狗信号(高电平至低电平的跳变)经R1、C1微分后送到1脚,其输出3脚变为高电平,经VDI给C2充电,
C2很快充满至5V。
与非门B的输入端5脚和6脚为高电平,输出端4脚为低电平。
在喂狗脉冲沿过去后的t1时刻,1脚恢复为高电平,3脚变为低电平,该低电平经R2给C2放电,放电速度远远慢于充电速度。
当C2电压由
5V降到约为2.5V时与非门B的4脚将由低电平变为高电平。
正常工作时在4脚变为高电平之前又有新的喂狗信号到来,3脚又变为高电平,C2又迅速
充满到5V。
因此4脚一直保持为低电平,与非门C的10脚则一直保持为高电平。
一旦喂狗信号丢失,4脚将在延时一段时间(t2-t0)后的12时刻变为高电平,此高电平即为CPU复位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
705系列复位电路#概述GC705/706/707/708/813L是一组CMOS微处理器监控电路,可用来监控微处理器系统供电异常、电池故障和工作状态。
和采用分立元件及多片IC组合成电路相比,明显减小了系统电路的复杂性和元器件的数量,并提高了系统的可靠性和精度。
GC705/706/813L具备以下四项基本功能:1)电源开机,关机及电源供电不足时给出复位输出。
2)内含独立的看门狗电路输出。
如看门狗电路输入在1.6秒内未得到翻转信号,看门狗电路输出端将变成低电平。
3)内含门限1.25V的检测器,用于掉电报警,电池欠电监测和监测加错电源的状况(以+5V为准)。
4)手动复位时,给出确定脉宽的负向复位脉冲GC707/708和GC705/706基本功能一致,区别只在于GC705/706芯片中的第8脚正脉冲的复位(RESET)输出取消了,换成了看门狗定时器,原第6脚空脚被用做看门狗电路的输入端。
GC813L则除了第7脚输出正脉冲的RESET外,其它功能和GC705/706完全一样。
这几种电路的管脚功能定义和差异详见管脚定义图和管脚说明附表。
#应用范围计算机,微处理器和微控制器系统;嵌入式控制器系统;智能仪器仪表;通信系统;工业自动化系统;电池供电手持设备等等。
# 电气参数 除非特殊说明,Vcc =4.75V~5.5V (GC705/GC707/GC813), Vcc=4.5V~5.5V (GC706/GC708),T A = T MIN to T MAX参数符号 测试条件最小值典型值 最大值 单位GC705、706、707、708 1.0 5.5电源电压范围 Vcc GC813 1.1 5.5VGC705、706、813 150 350电源电流IccGC707、70850 350uAGC705、707、8134.50 4.65 4.75 GC706、708 4.25 4.40 4.50 复位门限 V RT GC706T 3.00 3.08 3.15 V复位门限迴差40 mV复位脉冲宽度 t RS 140 200 280 ms I SOURSE =800uAVCC-1.5 I SINK = 3.2mA 0.4GC705~708,VCC=1V ,I SINK =50uA 0.3GC707\708,I SOURCE =800uAVCC-1.5GC707\708,I SINK = 1.2mA 0.4 复位输出电压GC813,I SOURCE =4uA,V CC =1.1V 0.8V看门狗计时长度 t WD GC705\706\813 1.00 1.60 2.25 秒 WDI 脉冲宽度 t WPVIL =0.4V ,VIH =(VCC)(0.8) 50 ns 下限 0.8WDI 输入阈值 上限 GC705\706\813 V CC =5V3.5 VGC705\706\813,WDI =VCC 50 150WDI 输入电流 GC705\706\813,WDI =0V -150 -50uAGC705\706\813,I SOURCE =800uA VCC-1.5WDI 输出电压 GC705\706\813,I SINK =1.2mA 0.4VMR 上拉电流MR =0V100 250 600 uA MR 脉冲宽度 t MR150 ns 下限 0.8MR 输入阈值 上限2.0VMR 到RESET 的延迟 t MD250 ns PFI 输入阈值 VCC =5V V PFI 输入电流-25 25 nAI SOURCE =800uA VCC-1.5PFO 输出电压I SINK =3.2mA0.4V#极限参数源跌落),RESET引脚就会变低。
如果在已经开始的复位脉冲期间出现电源跌落,只要Vcc不比1.0V还低,就能使RESET维持电压不高于0.4V的低电平。
GC705和GC706提供的复位信号为低电平RESET,而GC813L提供的复位信号为高电平RESET,三者其它功能完全相同。
有些单片机,如INTEL的80C51系列,需要高电平有效的复位信号。
¾看门狗定时器GC705/706/813L片内看门狗定时器用于监控MCU的活动。
如果在1.6秒内WDI端没有收到来自MCU 的触发信号,而且WDI未处于高阻态,则WDO输出变低。
只要复位信号有效或WDI输入高阻,则看门狗定时器功能就被处于清零和不计时状态。
一旦复位信号撤消并且WDI输入端检测到大于50ns的低电平或高电平跳变,定时器将开始计时。
典型的应用是将WDO端连接到MCU的非屏蔽中断(MDO)端。
当Vcc下降到低于复位门限时,即使看门狗定时器还没有完成计时周期,WDO端也将输出低电平。
通常这将触发一次非屏蔽中断,但是RESET如果同时变低,则复位功能优先权高于非屏蔽中断。
如果将WDI脚悬空,WDO脚可以被用作电源跌落检测器的一个输出端。
由于悬空的WDI将禁止内部定时器工作,所以只有当Vcc下降到低于复位门限时,WDO脚才会变低,因此功能变成电源跌落检测输出。
¾人工复位手动复位输入端(MR)可用按钮开关来触发。
由于存在最小140ms复位脉宽的要求,所以不需要再加按键防抖动措施。
MR输入和CMOS/TTL逻辑电平兼容,可由外部逻辑电路驱动。
对GC705/706/813L来说,可通过MR端强制看门狗定时器溢出的办法来产生复位脉冲,方法是简单地将MR端连接到WDO端,就可以使看门狗定时器超时产生复位脉冲。
当需要高电平有效的复位信号时,应该选用GC813L。
¾电源故障比较器GC705系列电路内含的电源故障比较器可有很多用途,这是因为它的输出端(PFO)和同相端(PFI)在内部是独立的。
其反相输入端内部连接一个1.25V的参考电压源。
为了建立一个电源故障预警电路,可以在PFI脚上连接一个电阻分压支路,该支路连接的监视点通常在稳压电源集成电路之前。
通过调节电阻值,合理地选择分压比,以便于使稳压器+5V 输出端电压下降之前,PFI端的电压刚好下降到低于1.25V。
使用为(PFO)为MCU提供中断信号,以便其能够对即将到来的电源掉电作好充分地准备。
#典型应用电路图#应用实例¾典型应用GC705/706/707/708/813L的典型应用电路如上图所示。
从图中可以看出,GC705/706/707/708/813L的4项功能全部被开发利用,构成了微处理器的一个可靠的保护神,仅仅占用了一条I/O端口资源。
利用该I/O口,通过执行软件,周期性的向看门狗发送WDI信号。
其周期不应大于1.6s。
¾特殊应用根据不同的开发目的和设计要求,以及不同的MCU型号选择,可以灵活地使用GC705/706/707/708/813L。
以下给出几种不同用法,以便从中受到启发。
(1)确保Vcc=0V时RESET信号电平仍有效通常情况下,当Vcc降至1V以下,GC705/706的RESET端不再吸入电流而呈现开路,故输出电平不确定。
如果在该脚接一只下拉电阻到地,来泄放杂散电荷,这样即使Vcc降至1V以下,也能保障RESET电平有效。
对该阻值的要求并不严格,一只100kΩ的电阻即可满足需要。
(2)与具有双向复位引脚的单片机接口有些单片机具备双向复位引脚,比如MOTOROLA的68HC11系列,不仅可以接收外部电路提供的复位信号,还能向外部电路输出复位信号。
当与GC705/706的RESET端连接时,可能会产生竞争。
例如,如果在GC705/706输出低电平的同时,68HC11内部欲将复位端拉高,结果就会出现不确定的逻辑电平。
为了避免此类情况发生,在GC705/706的RESET端与68HC11的双向复位引脚之间连接一只4.7k电阻即可。
此外,经过缓冲器的驱动还可为系统中的其它器件提供复位信号。
# 管脚功能描述管脚号GC705/706/813 GC707/708名称功能1 1 MR手动复位输入端,当MR 被拉低到0.8V 以下时,可激发出一个RESET 脉冲。
MR 低电平有效,内部有250uA 的上拉电流。
MR 可由一个TTL 或CMOS 标准逻辑所驱动,也可用一个接地开关端。
2 2 VCC +5V 电源输入3 3 GND 所有信号的参考0V 地。
4 4 PFI电源失效监控输入。
当PFI 低于1.25V 时,PFO 也变低。
PFI 不用时,接到GND 或接到VCC 。
5 5 PFO当PFI 低于1.25V 时,PFO 变低并吸入电流。
其它时候PFO 保持高电平。
6 WDI 看门狗输入端。
如果WDI 保持低电平或高电平达到1.6秒,内部看门狗计时器溢出,WDO 变为低电平。
将WDI 悬空或连到高阻三态线上将禁止看门狗计时器功能。
内部看门狗计时器在复位阶段时保持清零状态,此时,WDI 可视作无信号输入。
6 NC 空脚。
7 7 RESET低电平有效的复位端被触发时输出脉宽200ms 负脉冲,并在VCC 低于复位阈值(GC705为4.65V ,GC706为4.40V )时保持低电平。
当VCC 上升到复位阈值以上或MR 从低电平变为高电平时,该端口仍要保持200ms 时长的低电平。
看门狗计时器溢出并不能触发RESET ,除非将WDO 连接到MR 。
8 WDO当看门狗内部计时器完成1.6秒的计时后,如未被清零将输出低电平,也不会重新开始计数。
WDO 在欠电情况下也会变低。
只要VCC 低于复位阈值,WDO就保持低电平,WDO 和RESET 不同点是,WDO 没有最小延迟脉冲宽度,一旦VCC 上升复位阈值以上,WDO 马上变为高电平。
8 RESET高电平有效的复位端,和第7脚的RESET 反相。
GC813只有一种RESET 输出。
# 文档信息◆ 创建日期:2005-11-15文档修改日期:2008-9-4修改内容:在参数表中增加GC706T复位电压值。