关于单片机看门狗技术的研究报告_第1页
关于单片机看门狗技术的研究报告_第2页
关于单片机看门狗技术的研究报告_第3页
关于单片机看门狗技术的研究报告_第4页
关于单片机看门狗技术的研究报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 看门狗技术的的简介摘要:在实验中开发出来的各种控制小系统经常会出现运行不稳定、死机或停不了机即程序跑飞等现象,这是由于恶劣的工业现场环境如大功率感性负载的干扰所至。基于单片机的“看门狗技术能解决这个问题。B本文分别介绍用软件和硬件来实现“看门狗技术。关键词:;单片机抗干扰;“看门狗技术 运用目前,单片机有8位和16位之分,其型号非常多,有PIC、MSP430等微功耗型,也有MCS一5198、ADuc812、Motorola、EPSON等非卑微功耗型。单片机广泛应用于长度、温度、力学、流量、电学、化学等专业的各种智能仪表中,这些仪表有些应用在有强磁场、电源尖峰、电火花等外界干扰的场合中,这

2、些干扰有可能造成仪表中单片机的程序运行出现“跑飞现象,引起程序混乱,输出或显示不正确,甚至“死机。为了提高仪表可靠性及抗外界干扰能力,通常在智能仪表中采用“看门狗技术。所谓的看门狗技术实际上是一个监视定时器,它的定时时间为固定不变,一旦定时时间到,电路就产生复位信号或中断信号。当程序正常运行时,在小于定时时间隔内,单片机输出一信号刷新定时器,定时器处于不断的重新定时过程,因此看门狗电路就不会产生复位信号或中断信号,反之,当程序因出现干扰而“跑飞时,单片机不能刷新定时器,产生复位信号或产生中断信号使单片机复位或中断,在中断程序中使其返回到起始程序,恢复正常。一般来说,很多智能仪表采用外部硬件看门

3、狗来确保程序因出现干扰而“跑飞时能正常运行。因为如果用软件方法来实现这种功能,在有有干扰的情况下,程序可能因为无法读取而失败。2 硬件“看门狗技术的实现硬件“看门狗技术实施起来那么显得更为简单、可靠。特别是对于硬件工程师来讲最为方便。下面就通过自行设计的“生物组织自动脱水机的智能控制系统中的抗干扰复位口,介绍硬件“看门狗技术的实现方法。生物组织脱水机智能控制系统硬件由89C51单片机、2864EEPROM、27512EPROM、6264SRAM、ADC0809、MGLS240128T液晶显示模块、键盘输入电路和CD4060硬件“看门狗电路等组成。其电路示意图如图1所示。图1 硬件电路示意图主控

4、单片机选用ATMEL公司AT89C51系列单片机中结构最紧凑、体积最小的AT89C2051,外接一片2864作为程序存储器,再选用一片27512和一片6264作为存放调试程序和运行程序的中间数据及最后结果。液晶屏选用内藏T6963C控制器型MGLS240128T液晶显示模块,支持图形和文本两种显示方式,有8位数据总线、10位控制线和电源线,连接时,单片机利用数据总线和控制信号,直接采用I/O设备访问形式控制液晶屏。抗干扰复位口的工作原理:为了提高系统的抗干扰能力.防止程序进入死循环,采用了14位二进制串行计数/定时器CD4060构成了“看门狗。在正常工作时,安插在循环程序中的去除脉冲信号能够周

5、期性地消除“看门狗定时器的定时时间,换句话说就是用硬件“喂狗,使“看门狗定时器不会溢出。当系统受到干扰使程序“跑飞时,循环程序中的去除脉冲的周期性信号那么消失,那么停止了“喂狗。此时“看门狗定时器中的定时时间由于得不到及时消除而产生溢出,立即通过14位二进制串行计数/定时器CD4060的Q14端、二极管D2给单片机AT89C2051的RST端发出一个复位信号(正脉冲) ,使系统复位并重新开始启动。其电路图如图2所示。此外,在程序中,我们把RAM分成两局部:运行存储器和备份存储器。备份存储器再分为二个区,存放数据时,将它们存放在三个相对远离分散的区域内,建立双重备份数据。在CPU受到干扰而造成程

6、序“乱飞时,即使RAM中保存的原始数据、标志、变量等遭到破坏,在系统复位后,也可立即利用备份RAM进行自检和恢复,保证了系统的正常运行。图23 软件看门狗原理软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以51系列来讲,我们知道在51单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。我们可以对T0设定一定的定时时间,当产生定时中断的时候对一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明T0中断正常,如果没有发生变化那么使程

7、序复位。对于T1我们用来监控主程序的运行,我们给T1设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位,T1 的定时中断就会使单片机复位。在这里T1的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。而T1的中断正常与否我们再由T0定时中断子程序来监视。这样就够成了一个循环,T0监视T1,T1监视主程序,主程序又来监视T0,从而保证系统的稳定运行。 51 系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复位.看门狗可设定溢出率,也可单独用来作为定时器使用.凌阳61的看门狗比拟单一,一个是时间单一,第二是功能在实际的使用中只需在循环当

8、中参加清狗的指令就OK了。 C8051Fxxx单片机内部也有一个21位的使用系统时钟的定时器,该定时器检测对其控制 存放器的两次特定写操作的时间间隔。如果这个时间间隔超过了编程的极限值,将产生一个WDT复位。 看门狗使用注意:大多数51 系列单片机都有看门狗,当看门狗没有被定时清零时,将引起复位。这可防止程序跑飞。设计者必须清楚看门狗的溢出时间以决定在适宜的时候,清看门狗。清看门狗也不能太过频繁否那么会造成资源浪费。程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器置数,即可预防溢出中断而引起的误复位。看门狗运用:看门狗是恢复系统的正常运行及有效的监视管理器具有锁定光驱,锁定任

9、何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像等具有很好的应用价值. 系统软件看门狗的设计思路1.看门狗定时器T0的设置。在初始化程序块中设置T0的工作方式,并开启中断和计数功能。系统Fosc=12 MHz,T0为16位计数器,最大计数值为(2的10次方)-1=65 535,T0输入计数频率是Fosc/12,溢出周期为(65 535+1)1=65 536(s)。 2.计算主控程序循环一次的耗时。考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为166 ms。系统设置看门狗定时器T0定时30 ms(T0的初值为65 536-30 000=35 536)。主控程序的

10、每次循环都将刷新T0的初值。如程序进入死循环而T0的初值在30 ms内未被刷新,这时看门狗定时器T0将溢出并申请中断。 3.设计T0溢出所对应的中断效劳程序。此子程序只须一条指令,即在T0对应的中断向量地址(000BH)写入无条件转移命令,把计算机拖回整个程序的第一行,对单片机重新进行初始化并获得正确的执行顺序。1 uP监视器构成看门狗电路在非卑微功耗智能仪表中,可用uP监视器(如MAX7 X、X2504 X等1设计硬件看门狗电路,以MAX706P为例(具体电路如图1)看门狗电路。该电路具有手动复位、看门狗、电压监视功能。看门狗工作原理:MAX706的内部看门狗定时器定时时间为16秒,如果在1

11、6秒内,看门狗输入脚WDI保持为规定电平(高电平或低电平),看门狗输出端丽变为低电平,二极管D导通,使低电平加到复位端 ,MAX706产生复位信号RESET使单片机复位,直到复位后看门狗被清零,丽才变为高电平。当WDI有一个跳变沿(上升沿或下降沿)信号时,看门狗定时器被清零。如图I所示,将WDI端与单片机某I0输出端相连,程序只要在小于16秒内将该I0端取反一次,使定时器清零而重新计数,不产生超时溢出,程序正常运行。当程序“跑飞时,不能执行产生跳变指令,到16秒时,丽因超时溢出而变为低电平,产生复位信号使单片机复位。由于uP监视器构成看门狗电路的工作静态电流大,因此,只能用于对功耗要求不高的智

12、能仪表中。2 TTL型看门狗电路根据看门狗工作原理,看门狗电路至少包括脉冲产生电路和定时计数器电路。由CD4060和32768Hz石英晶振组成脉冲产生电路,产生4Hz脉冲源。74LS293计数器对4Hz脉冲源进行计数,其输出端Q与单片机复位端RESET相连,单片机的某IO端与74LS293的清零端R相连,程序在15秒之内输出一次由低到高且又由高到低的窄脉冲,输出端Q 一直为低电平,否那么将输出为高电平,其工作原理同上。实际电路如图2,该电路可用于低功耗的智能仪表中。如采用MCS5198单片机,用P12脚输出窄脉冲,可以在应用软件中适当处参加以下程序:ROCLK BIT P12 ;定义P12脚C

13、LR ROCLK ;P12为低电平CLRSTART:SETB ROCLK ;P12为高电平NOP ;延时,输出窄脉冲CLR ROCLK ;P12为低电平CLREND: ;复位结束3 CoMS型看门狗电路工作原理与rIfIL型看门狗电路相似。将74LS293计数器换成CD4024计数器,实际电路如图3。由于该电路采用工作静态电流极小的CMOS集成电路,因此可用于微功耗的智能仪表特别是便携式、一体化仪表中。经过现场实际使用,证明该电路是可靠的,仪表未出现程序无法运行和“死机现象。如采用MSP430F1IX单片机,用P10输出输出窄脉冲,可以在应用软件中适当处参加以下程序:BISB #001H,&P1DIR;P10为IO输出,初始化MOVB#000H,&P1OUT ;P10输出低电平CLRSTART:XORB#001H,&P1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论