单片机应用系统中的_看门狗_电路及低成本实现
“看门狗”技术在单片机应用系统中的应用
“看门狗”技术在单片机应用系统中的应用[摘要] 在单片机应用系统中,系统往往受到外界干扰而影响工作可靠性。
“看门狗”是提高系统可靠性的非常重要的技术,因为它既可以由硬件实现,又可以由软件实现。
本文主要从硬件看门狗和软件看门狗两个方面阐明其工作原理并给出应用实例。
[关键词] 单片机应用系统;硬件看门狗;软件看门狗[Abstract] This paper introduces MCU application system can acquire noises from environment an d influnce it’s reliability during the practical work, the methods to involve noises can from hardware and software 。
Watch-dog is a importent technology in system reliability,because it can be achived from not only hadware but also software.It priefly explains the watch-dog’s principle and application through hardware watch-dog and software watch-dog and gives some examples in practical application.[Keywords] MCU application system hardware watch-dog software watch-dog1.概述单片机应用系统是由单片机系统配以相应的软件组成的用于完成某种控制功能的系统。
在实际工作中,单片机应用系统会受到外界干扰而影响其可靠性,减小干扰提高可靠性在单片机应用系统中十分重要,相应的措施有硬件措施和软件措施,因为看门狗既可以通过硬件来实现也可以通过软件来实现,所以它是解决系统抗干扰的非常重要的技术。
SP706看门狗芯片SP706应用电路图
函数 WatchdogRunning( )可以探测看门狗是否已被使能。参见表 1.4 的描述。
表 1.3 函数 WatchdogEnable( )
功能 使能看门狗定时器
3
广州周立功单片机发展有限公司 Tel:(8730925
z 带可编程装载寄存器的 32 位倒计数器 z 带使能控制的独立看门狗时钟 z 带中断屏蔽的可编程中断产生逻辑 z 软件跑飞时由锁定寄存器提供保护
2
广州周立功单片机发展有限公司 Tel:(020)38730923 38730976 Fax:38730925
综上,我们建议:在调试自己的系统时,先不要使用看门狗,待完全调通已经稳定工作 了,最后再补上看门狗功能。
1.4 WatchDog 库函数
1. 运行控制
函数 WatchdogEnable( )的作用是使能看门狗。该函数实际执行的操作是使能看门狗中断 功能,即等同于函数 WatchdogIntEnable( )。中断功能一旦被使能,则只有通过复位才能被 清除。因此库函数里不会有对应的 WatchdogDisable( )函数。参见表 1.3 的描述。
z 带使能/禁止控制的复位产生逻辑 z 在调试过程中用户可控制看门狗暂停
看门狗定时器模块包括 32 位倒计数器(以 6MHz 系统时钟为例,最长定时接近 12 分 钟)、可编程的装载寄存器、中断产生逻辑、锁定寄存器以及用户使能的暂停控制。
C51单片机看门狗电路及程序设计方案
C51单片机看门狗电路及程序设计案院系:信息工程学院年级:2010级电子一班禹豪电子一班训虎电子二班邓启新一、引言在由单片机构成的微型计算机系统中,程序的正常运行常常会因为来自外界的电磁场干扰等原因而被打断,从而造成程序的跑飞,而陷入死循环。
由此导致单片机控制的系统无法继续工作,造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片或程序,俗称"看门狗"(watchdog)(1)看门狗电路基本原理看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连**,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
*此处设计原理实际上为下文中硬件看门狗设计思路。
(2)看门狗电路一般设计式“看门狗”电路一般分为硬件看门狗与软件看门狗两种设计式。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位。
如果出现死循环,或者说PC指针不能回来,那么定时时间到后就会使单片机复位。
常用的WDT芯片如MAX813,5045,IMP 813等,价格4~10元不等.软件看门狗技术的原理和硬件看门狗类似,只不过是用软件的法实现(即利用单片机部定时器资源,通过编程模拟硬件看门狗工作式),以51系列为例:因在51单片机中有两个定时器,在利用部定时器资源来对主程序的运行进行监控时。
关于STC15F2KA60S2看门狗的应用
关于STC15F2K60S2看门狗的应用1.STC15F2K60S2系列单片机的内部结构图STC15F2K60S2系列单片机的内部结构框图如下图所示,STC15F2K60S2系列单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时器、IO口、高速A/D转换、看门狗、UART高速异步串行通信口1/串行通信口2,CCP/PWM/PCA,一组高速同步串行端口SPI,片内高精度R/C 时钟及高可靠复位等模块,STC15F2K60S2系列单片机几乎包含了数据采集和控制中的所有单元模块。
B寄存器AUX-RAM1792字节ADCRAM地址寄存器RAM256字节ACCTMP2TMP1ALU堆栈指针定时器/计数器/0/1定时器/计数器2看门狗(WDT)ISP/IAP串口1串口2程序存储器(Flash)8K~16K地址生成器控制单元P0,P2,P3,P4,P5锁存器P0,P2,P3,P4,P5驱动器Port1驱动器Port1锁存器掉电唤醒专用定时器CPP/PCA/PWM程序计数器(PC)PSWSPIP0,P2,P3,P4,P58/P1.0~P1.7P1.0~P1.7内部高可靠复位(8级可选复位门槛电压)内部高精度R/C时钟温飘常温下温飘STC15F2K60系列内部结构框图2.目的:在工业控制/汽车电子/航空航天等需要高可靠行的系统中,为了防止“系统在异常情况下,受到干扰,MCU/CPU程序跑飞,导致系统长时间异常工作”,通常是引进看门狗,如果MCU/CPU不在规定的时间内按要求访问看门狗,就认为MCU/CPU处于异常状态,看门狗就会强迫MCU/CPU复位,使系统重新从头开始按规律执行用户程序。
看门狗复位状态结束后,不影响特殊功能寄存器IAP_ONTR中SWBS/IAP_ONTR.6位的值,单片机根据复位前SWBS/IAP_ONTR.6的值选择是从用户应用程序区启动,还是从系统ISP监控程序区启动。
单片机应用系统中的看门狗技术
第21卷第2期 吉林大学学报(信息科学版) V ol.21 N o.2 2003年5月 JOURNAL OF JILIN UNIVERS ITY(IN FORM AT ION SCIENC E EDITION) M ay2003文章编号:1671-5896(2003)02-0205-04单片机应用系统中的看门狗技术胡 屏1,柏 军2(1.哈尔滨工业大学威海分校信息与控制工程系,山东威海 264209;2.哈尔滨工业大学威海分校计算机科学与工程系,山东威海 264209)摘要:分析研究了单片机应用系统中软件看门狗、单/双时限和强制复位看门狗等几种常见的看门狗技术及具体的实现方法,从提高看门狗工作可靠性的角度,分析了各种看门狗方案的优缺点,给出了基本的硬件电路和软件控制策略,指出了在设计和应用过程中需注意的一些问题。
关键词:单片机;看门狗;抗干扰;X5045看门狗定时器中图分类号:T P39 文献标识码:A引 言随着单片机技术的发展和制造工艺的日益成熟,单片机的应用领域不断拓宽,但由于单片机自身的抗干扰能力较差,尤其是在一些条件比较恶劣,噪声大的场合,常会出现单片机因受外界干扰而导致死机的现象,造成系统不能正常工作。
设置看门狗是防止单片机死机、提高单片机系统抗干扰性的一种重要途径,笔者研究分析了几种较为实用的看门狗技术,供读者参考。
1 软件看门狗软件看门狗是利用单片机片内闲置的定时器/计数器单元作为看门狗,在单片机程序中适当地插入“喂狗”指令,当程序运行出现异常或进入死循环时,利用软件将程序计数器PC赋予初始值,强制性地使程序重新开始运行。
具体实现方法如下。
1)首先在初始化程序中设置好定时器/计数器的方式控制寄存器(T MOD)和定时时间的初值,并开中断。
2)根据定时器的定时时间,在主程序中按一定的间隔插入复位定时器的指令,即插入“喂狗”指令,两条“喂狗”指令间的时间间隔(可由系统时钟和指令周期计算出来)应小于定时时间,否则看门狗将发生误动作。
单片机看门狗(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单片机中有两个定时器,在利用内部定时器资源来对主程序的运行进行监控时。
STC系列单片机看门狗
其中N是单片机的时钟周期,STC89C5X系列单 片机提供6时钟周期和12时钟周期两种时钟周 期,可以在烧写程序时修改;
Prescale是预分频数,通过设置【看门狗控制 寄存器】可以设置为2、4、8、16、32、64、 128、256;怎么设置演示程序中有介绍;
次,用于判断系统是否重启
i=0;
while(str[i]!='\];
while(TI==0);
TI=0;
i++;
}
//while大循环
while(true)
{
//约每隔800ms喂一次狗,可以通过调整这里的喂
狗时间来验证看门狗是否有效
//我们设置的看门狗约1秒。所以可以用800和2000
{
//初始化时两盏灯都熄灭
LED=1;
LED_busy=1;
TMOD=0x21;
//定时器0工作在方式1,作
为16位定时器;定时器1工作在方式2,作为串行口波特率发生器
TH0=0x4C;
50ms溢出一次
//定时器0装初值:每隔
TL0=0x00;
IE=0x82;
时器0中断
//IE=(1000 0010)B, 使能定
TR0=1;
//启动定时器0
}
//串行口初始化程序
void InitCOM()
{
SCON=0x50;
//SCON=(0101
0000)B,波特率不加倍,允许接收
“看门狗”电路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 在应用中的注意事项 。
用CD4060制作看门狗报警电路
用CD4060制作看门狗报警电路看门狗定时器(WDT, Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数。
如果程序运行正常,过一段时间CPU应发出指令让看门狗,重新开始倒计数。
如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
原理图:CD4060芯片特性1)电压范围宽,应该可以工作在3V〜15V,输入阻抗高,驱动能力差外,跟74系列的功能基本没有区别;2)输入时,1/2工作电压以下为0,1/2工作电压以上为1 ;3)输出时,仁工作电压;0=0V;4)驱动能力奇差,在设计时最多只能带1个TTL负载;5)如果加上拉电阻的话,至少要100K电阻;6)唯一现在使用的可能就是计数器,CD4060的计数器可以到14级二进制串行计数。
以AT89C51为例:看门狗电路由14位二进制计数器 CD4060和三极管VT1、VT2等组成。
Vout 接单片机AT89C51的引脚输出口 P1.7,由单片机的CPU 向看门狗电路发送喂狗信 号一一正脉冲,在两个正脉冲间隔内,P1.7保持为低电平(此功能要结合软件才能实现,相应的软件设计在下面介绍)。
我们知道,单片机 AT89C51的I /O 口带灌电流负载的能力比较 大,每个引脚低电平时的吸入电流为20 mA ,带拉电流负载的能力却很小,实测情况是,每个引脚高电平时的输出电流仅 25卩A ,现在P1.7 口被设计成带拉电流负载的方式,为了提 高P1.7 口带拉电流负载的能力,所以,电路中设置了上拉电阻R3。
14位二进制计数器 CD4060的计数脉冲由其内部振荡器和外接阻容元件R1、R2、C1组成的电路产生,振荡周期为T0SC=2.2X R1X 6= 0.22 ms振荡器产生的计数脉冲(矩形波)可以直接引出,同时还可以从CD4060的10个输出端Q4〜Q10和Q12〜Q14得到不同分频系数的方波输出,各方波输出信号的周期如表1所示。
MCS-51单片机“看门狗”软件设计的两种方法010903
为了减少外围器件,可以采用微处理机内部闲置的定时/计数器,配合以适当的程序就可以方便地构成“看门狗”,在PC异常时能够及时有效地强制“软复位”而恢复系统的正常运行。
2.1 基本原理
微处理机片内的一个定时器单元接收内部时钟提供的稳定脉冲,当此定时器溢出(加法型)或者为零(减法型)时提出中断请求;对应的中断服务程序使PC回到初始化程序的第一行,从而实现强制性“软复位”。程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器清零或置数,即可预防溢出中断而引起的误复位。例如:W77E58型单片机,兼容51系列单片机,它有一个很重要的特点,就是能提供一个看门狗定时器。
uchar WDTmainCount;
uint WDTintCount;
void main(void)
{
EA=0;
WDTmainCount=0;
WDTintCount=0;
//其它初始化
……
EA=1;
While(1)
{
……
WDTintCount++;
if (WDTintCount<INT_COUNT)
为了解决上述问题,可以在中断服务程序中和主程序中加上“喂狗”指令,但不能把取反指令直接放到中断服务程序和主程序中去,笔者的解决办法是把“喂狗”指令分开(如:P10=1和P10=0),然后分别插入到中断服务程序和主程序中,注意,在主程序中只能用其中一条,中断服务只能用另一条,不能混合使用
用C51举例如下:
If (WDTmainCount<MAIN_COUNT)
{
/*“喂狗”*/
////////////////////
TA=0xaa;
单片机任务型软件_看门狗_原理及应用
借助单片机中的定时器中断机制, 每个任务分配计时单元 和运行标志位,由定时中断依据运行标志位状态独立计时, 任 务正常完成时, 运行标志位和计时单元均恢复到非运行状态描 述。在主程序循环中, 任务的限时判断模块独立于原任务处理 它只是对任务运行的时间进行判断, 如 模块之外, 如图 2 所示, 果服务时间超过了正常的运行时间, 则复位这个任务, 即将其 使用的有关资源, 恢复到任务开始前的初始状态, 供下一次任 务使用, 从而实现了任务型软件“ 看门狗” 的功能, 避免了相同 任务之间的干扰。
器的控制命令, 如重起操作系统等。 以下是统计管理程序和中央监控程序通信数据报的结构:
9:; 应 用 程 序 到 目 录 7 <=> 7 ?@AB? 7 C:;+ 后 , 在 文 件 7 :DA 7 :EF@>D=
中添加 一 行 7 <=> 7 ?@AB 7 C:;= ( , 这表明这个目录可以在装载 >C ) 并有读写权限。在每个真实服务 56+ 的任何远程系统上使用, 器上, 在其文件 7 :DA 7 G=DB; 中添加下面一行: &"$&&$3$’ : 7 <=> 7 ?@AB? 7 C:;= 7 <=> 7 ?@AB? 7 D@HABD 7 C:;BFF= 7 IJJK 7 CLMN=@GD, 将 C:;= 映射为本地目录 7 <=> 7 ?@AB? 7 D@HABD 7 C:;BFF= 7 IJJK 7
文章编号 &""!12%%&1( !""# ) %#1"&!!1"!
!"#$%#&’( )$* +&&’#%),#-$ -. /-.,01),%2*-3 4(%2$-’-35 .-" 6)%2 4)78 #$ 9:;
单片机原理及应用课后答案(张鑫)版(可编辑)(可编辑)
单片机原理及应用课后答案 (张鑫)版《单片机原理及应用》思考题与习题参考答案绪论0.1解:单片微型计算机(Single-Chip Microcomputer),简称单片机。
就是将微处理器(CPU)、存储器(存放程序或数据的 ROM和 RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种功能器件集成在一块芯片上的微型计算机。
单片机的主要特点有:(1)可靠性高(2)便于扩展(3)控制功能强(4)低电压、低功耗(5)片内存储容量较小,除此之外,单片机还具有集成度高、体积小、性价比高、应用广泛、易于产品化等特点0.2 解:当前单片机的主要产品有:Intel的8051 系列、Motorola的M68HC系列、Philips(飞利浦)的 80C51 系列、台湾义隆公司(EMC)EM78系列单片机、美国Microchip公司的PIC单片机系列、Atmel公司的AT90 系列单片机Ubicom公司的Scenix 单片机、日本爱普生科技公司的Epson单片机、Zilog公司的Z86 系列、美国国家半导体公司NSCOP8 单片机、台湾Winbond(华邦)的W78 系列等。
MCS-51 为主流产品。
MSP430 的功能较强。
是一种特低功耗的Flash微控制器。
主要用于三表及超低功耗场合。
EM78 系列单片机采用高速 CMOS 工艺制造,低功耗设计为低功耗产品,价格较低。
具有三个中断源、R-OPTION功能、I/O唤醒功能、多功能 I/O口等。
具有优越的数据处理性能,采用 RISC 结构设计。
Microship 单片机是市场份额增长较快的单片机。
它的主要产品是 PIC 系列 8 位单片机。
CPU采用 RISC 结构,运行速度快,价格低适于用量大、档次低、价格敏感的产品。
Motorola 是世界上最大的单片机生产厂家之一,品种全、选择余地大、新产品多。
其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。
单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施
单片机看门狗电路的作用,看门狗系统设计技巧及其抗干扰措施在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称看门狗(watchdog)其作用是使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。
单片机看门狗电路的作用看门狗的作用:看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。
看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。
在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择的定时溢出归零,使处理器重新启动。
软件的可靠性一直是一个关键问题。
任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在嵌入式系统中也同样存在。
由于单片机的抗干扰能力有限,在工业现场的仪器仪表中,常会由于电压不稳、电弧干扰等造成死机。
在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。
为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog TImer)的利用是很有价值的。
单片机原理及应用第四章课后题答案
单片机原理及应用第四章课后题答案单片机原理及应用第四章课后题答案16. MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突?解:数据存储器的读和写由和信号把握,而程序存储器由读选通信号把握,这些信号在规律上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MO。
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,把握信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。
18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,接受地址译码法,画出硬件连接图,并指出各芯片的地址范围。
解:硬件连接电路图如图4.18所示。
各芯片的地址范围为:2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH图4.18 4.18题硬件连接电路图21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B口按方式1输出。
解:程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR,#7F03HMOV A,#10010100BMO @DPTR,ASJMP $END25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极管轮番发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写把握程序。
解:使用8255A,电路连接图如图4.25所示。
图4.25 4.25题硬件连接电路图其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。
设MCS-51单片机主频为12MHz。
程序如下:ORG 0000HLJMP STARTORG 0030HSTART:MOV SP, #60HMOV DPTR, #7FFFH ; 数据指针指向8255A把握口MOV A, #80HMO @DPTR, A ; 工作方式字送8255A把握口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOV A, #0FH ; 置红色发光二极管亮LP1:MO @DPTR, A ; 置红色发光二极管亮LCALL DELAY ; 调用1S延时子程序CPL A ; 置发光二极管亮反色SJMP LP1 ; 循环执行DELAY: MOV R7,#10 ; 1s延时子程序 D1:MOV R6,#200D2:MOV R5,#248D3:NOPDJNZ R5,D3DJNZ R6,D2DJNZ R7,D1RETEND接受定时器T0方式1中断实现1s定时。
单片机系统中的看门狗技术
个领域,而单片机订:这些场合的T作可靠性以及抗干扰能力也显得 越来越重要。环境幽素对此有蘑人的影响,有时会导致单片机不能 正常T作.尤其足n 些条件比较恶劣、噪声大的场合,甚至经常 收藕日期:2004—02—22
出现单片机崮受外界干扰而导致死机的现象。 由于偶然的干扰,使得单片机的程序跑飞,脱离了用户程序,
薰墼=敬一~≥{|
文章编号:1671-1041(2004)04-0083·03
神·EJB容器封装之后,通过远程接u和home接u.供用户和 其它的sessionbean调用。scdybean(素材调用sessionbean)表示 读取素材这样一个过程,可以被反复调用,在这个bean咀面访问 scbean(素材enfitybean),经EJB容器封装后由用户调用.这样做 的目的是为了将客户端需蓐复做的一些繁杂任务封装到一个bean 里面。以实现事务、并发性、持久性的自动管理。
“看门狗”电路原理如图3所示。其中.Vi是单片机系统向 “看门狗”电路提供的输入脉冲信号;V。是“看门狗”电路向单 片机系统送出的系统故障信号,可供计算机复位使用。在这种情况 F.CPU通过程序周期性地向电路送入脉冲,作为“看门狗”电 路的触茇输入。设输入脉冲周期时间T略小“看门狗”的动作时间 T’,即T<T’,则电路就不会动作。而当单片机由十干扰等原因.使 程序跑飞,脱离正常循环.导致触发脉冲丢失,经过一段时间T’ 后. “看门狗”电路的输出vn产生跳变,这一跳变送至计算机进 行中断处理或进行复位操作,重新将程序纳入正常循环。
复位
域
圈5强制复位。看门摘”电路
通过调节可变电阻R3的值,可以调整TH,使之满足单片机复 位信号RESET的时间要求:调节可变电阻R4舶值,可以改变T L’ TL虚人于单片机程序的一个运行周期,且应保证些重要的程序段 不被打断,以免系统产生_【;{操作。
看门狗电路简介(低成本)
看门狗电路简介(低成本)
在工业控制中常使用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)。
, 看 门 狗 电路 如 图 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!
2008年第 2 期 第 7 卷 ( 总第 35 期 )
商丘职业技术学院学报 JOURNA L O F SHANGQ I U VOCAT IONAL AND TECHN ICAL COLLEGE
Vo. l 7, N o . 2 Apr . , 2008
文章编号 : 1671- 8127( 2008) 02- 0063- 04
ቤተ መጻሕፍቲ ባይዱ图 1 由 单稳态触发器构成的 看门狗 电 路
2 . 2计数器型 看门狗 CD4060 为 14 位二进制串行计数 /分 频 /振 荡器 , 由它组成的 看门 狗 电路如图 2 所 示. 正常情 况下 8031单片机每隔一段时间 T ,l 就将 CD4060 复位一次, 一旦由于某种原因导致 CPU 失控 , CD4060 不能及时 被复位 , 就经过 T 2 时间 ( T 2> T1) 从 Q l端输出高电平, 一方面使测控系统复位并脱离死循环 ; 另一方面还将 CD4060 复位 , Q14 变成低电平, 使 看门狗 电路也复位
; 程序起始地址 ; 主程序入口地址 ; T 0 中断入口地址 ; 转入错误处理 , 实现软件复位 ; 开总中断 ; 开 T 0 中断 ; 启动 T 0 ; T 0 定时方式 1 ; 给定时器 T 0 赋初值 ; 用户程序
; 关中断 ! 65!
2008 年
商丘职业技术学院学报
MOV DPTR, # ERR1 PUS H DPL PUS H DPH RET I ERR1: CLR A PUS H ACC PUS H ACC RET I END
4 结
论
在实际应用测控系统中, 可采用硬件 看门狗 技术, 也可采用软件 看门狗 技术 . 软件 看门狗 不需 要增加外部电路 , 经济性好 , 但是软件 看门狗 需要占用内部定时器资源 , 这在有些场合是不允许的. 而且 , 软件 看门狗 本身也可能因为干扰而失效 , 所以其可靠性低于硬件 看门狗 . 所以应综合考虑系统资源、 经 济性、 实用性、 合理制定 看门狗 技术方案 . 必须指出, 看门狗 在外部强烈干扰时也可能失效, 另外 看门狗 技术只是 最后一招 , 作为防范来 使用. 最重要的抗干扰措施是外部干扰的屏蔽和程序的良好设计, 否则 看门狗 频繁使单片机复位 , 系统无 法正常工作 . 参考文献:
张宏伟 , 丁洁 : 单片机应和系统中的 看门狗 电路及低成本实现
第 2期
可以用电路中多余的施密特触发器或者电压比较器实现. 当主程序循环时间很短时, 也可以只用两个反相 器串联 , 去掉两只电阻 , 进一步降低了成本 . 在主程序初始化部分应该把 P1 . 0 / P1 . 1 口置位, 以使用 P1 0 口 为例, 在主程序中使用下列指令序列 : CLR P1 . 0 ; 电容放电, 单稳态电路复位 NOP NOP SETB P1 . 0 ; 在单片机正常工作时, 会不断地给电容放电, 输出端始终为低电平; 当单片机陷入死循环时, 电容由于 充电, 其电压不断升高 , 直至电路状态翻转 , 输出高电平 , 使单片机复位 . 需要指出的是: 由于死循环是程序计数器 PC 发生错误, 把操作码误当成操作数执行 , 偶然的情况下形 成的, 所以会执行意想不到的指令. 如果在死循环中有把 P1 . 0 /P1 . 1 口复位的指令, 该 看门狗 电路会失去 作用. 为了提高可靠性 , 可以在输入端增加一个微分电路并增加一个三极管给电容放电, 同时修改指令.
[ 1] 舒怀林 . 单片机原理与接口技术 [ M ] . 武汉 : 华中理工大学出版社 , 2001 . [ 2] 沙占友 . 模拟与数字万用表检测及应用技术 [ M ] . 北京 : 电子工业出版社 , 2000. [ 3] 周航慈 . 单片机应用程序设计技术 [ M ] . 北京 : 北京航空航天大学出版社 , 1991 .
图 3 由门电路构成的 看门狗 电路
3 软件 看门狗
利用单片机内部的定时 /计 数器 T0 、 T 1 作 看门狗 . 其方法是在主程序一开始就启动计数器工作 , 主 程序中增设定时器赋值指令, 使定时器维持在非溢出工作状态 , 定时时间要稍大于程序一次循环的执行时 间 . 程序正常循环执行一次给定时器送一次初值, 使其不能溢出 . 若程序失控或进入死循环, 定时器计数满 溢出中断, 在中断 服务程序 中实现软 件复位 , 使主 程序自 动复位 进入 初始状 态, 强制 性使程 序重新 运 行
1 看门狗技术基本原理
看门狗 实质上是一个程序监视定时器. 它的定时时间是固定不变的 , 一旦定时时间到, 产生中断或 输出一个脉冲, 强制单片机复位 , 程序指针 PC 恢复初始值 , 从而使程序恢复正常运行 . 因此在单片机正常工 作时, 程序不断地在定时时间到来之前对定时器复位, 定时器就不会产生中断或溢出脉冲 . 如果因干扰而出 现死循环, 定时器不能及时复位 , 定时时间到, 会产生中断或输出一个脉冲, 强制单片机复位
单片机应用系统中的 看门狗 电路及低成本实现
张宏伟, 丁
摘
洁
( 商丘职业技术学院 , 河南 商丘 476000) 要 : 单片机应用系统在工作环境比较恶劣时受到干扰 , 使系统产生死循环这种情况 , 可 采用 看门狗 技术
解决 , 由硬件、 软件实现 . 提高单片机应用系统的可靠性 和抗干 扰能力 . 本文 给出了 一种由门 电路及 阻容元 件构成 的低成本 看门狗 电路实现方法 . 关键词 : 单片机 ; 抗干扰 ; 看门狗 ; 低成本 中图分类号 : TM 4 文献标识码 : A
冯喜忠 ]
A bstract : W ith cons idering unab le- end ing cycle in th e p rocess use of s ingle ch ip m icrocom puter system, th is article d iscusses th ew ays of avoid ing program s in single ch ip m icrocompu ter go ing in to unab le- end ing cycle by using soft w are and hardware w atchdog technology w hen s ingle ch ip m icrocom puter system is disturbed, w h ich can i m p rove th e reliab il ity and an ti- in terference ab ility of s ingle ch ip app licat ion sys tem. Th is article also proposes a m ethod of w atchdog circu it in low cost . K ey w ords: s ingle ch ip m icrocom puter ; an ti- in terference; w atchdog; low cost
[责任编辑 The R ea liza tion ofW a tchdog C ircuit and Low Cost in the S ingle Ch ip M icrocom puter Application System
ZHANG H ong- we , i D ING Jie
( Shang qiu Voca tional &T echn ica l C ollege, S hangqiu 476000, Ch ina )
; 准备返回地址
; 清除高级中断激活标志 ; 准备复位地址 ; 压入复位地址 ; 清除低级中断激活标志
需要特别指出的是: 在中断服务程序中不能简单的用一条 L J M P START 来实现软件的复位 , 因为干扰造 成的死循环有可能发生在中断服务程序中 , 这时中断激活标志就已经置位. 如果简单的把 PC 复位, 因为中 断激活标志依然置位 , 这样程序就不能正常的响应中断 . 必须把中断激活标志复位, 才能真正实现单片机软 件模拟复位 , 效果才能和硬件复位相同.