是不是有了看门狗就不需要单片机复位电路路了?

单片机看门狗电路的作用
查看: 6990|
摘要: 看门狗的作用:看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入 ...
看门狗的作用:&看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗计数器正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断。在定时器中断中执行一些复位操作,使系统恢复正常的工作状态,即在程序没有正常运行期间,如期复位看门狗以保证所选择
的定时溢出归零,使处理器重新启动。软件的可靠性一直是一个关键问题。任何使用软件的人都可能会经历计算机死机或程序跑飞的问题,这种情况在中也同样存在。由于的抗干扰能力有限,在工业现场的中,常会由于电压不稳、电弧干扰等造成死机。在水表、电表等无人看守的情况下,也会因系统遭受干扰而无法重启。为了保证系统在干扰后能自动恢复正常,看门狗定时器(Watchdog Timer)的利用是很有价值的。&&&&&&& 现今市面上流行的一些单片机,多嵌有内部WDT,如TI的MSP430系列,Philips的P87XXX和P89XXX系列,Microchip的PIC列,Atmel的AT89SXX系列和Holtek公司的Htxxx系列。但是这些内部看门狗在工作时,多存在一定的误差。一些工程师在设计的过程中,由于忽略了这一点,导致系统出现异常。MSP430系列单片机是美国德州仪器公司(TI)近几年开发的新一代单片机,该系列是一款16位、具有精简指令集、超低功耗的全新概念混合型单片机。在众多单片机系列中,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,已成为一颗耀眼的新星。其内部自带看门狗及复位电路,理论上如果程序跑飞,可用看门狗将其复位。但在实际使用过程中,发现看门狗的作用并非万无一失,以下实验证明了这一点。实验电路如图1所示。
&&& 试验程序清单:#include&msp430x12.h&void main(void){p1dir l=0x0f; //设置p1.2-.p1.0为输出for(;;){volwdtctl=wdtpw+//复位wdtpiout==0x0t;i=5000;do(i--)while(i!=0);}}&&&&&& 上述实验启动后,如果程序正常运行,LED会闪烁。缺省时,MSP430的看门狗是允许状态,所运行的程序会不断地访问看门狗。理论上,这个系统是不会发生启动失败的,因为即使启动失败,看门狗也应该在数百毫秒内启动,复位整个系统。基于这种思想,对单片机的复位进行测试。K2断开,用K1连续产生。Reset信号,测试看门狗使系统重启的成功率。K2闭合,则reset端高电平,理论上K1不能有效产生复位脉冲,观察看门狗是否起作用。&&&&&&& 实验结果与分析&&&&&& 实验结果如下:K2断开,连续开关K1,上电重启系统,平均155次失败1次(LED不闪),即看门狗失效概率0.6%;K2闭合,连续开关K1,平均18次失败1次(LED不闪),且一旦失败,将连续失败下去,看门狗无效率占到了约5.5%。另外,当采用同样具有内置看门狗的其他系列单片机替代实验中的MSP430,启动程序段作相应修改时,实验结果仍大致相同,这说明具有内置看门狗的单片机面临的问题是相同的。经分析可能有如下原因:&&&&&&&&&& ①由于看门狗的时钟不独立,计数时钟与系统为同一分频链路,因此看门狗不能在系统出现问题时有效运作。&&&&&&&&&& ②由于时钟可用软件设置,启动失败时,开机时钟可能处于空档,没有时钟看门狗不能生效。&&&&&&&&&& ③有些看门狗需要用软件设置或启动,因此启动失败后,初始化程序没有激活,CPU可能跳转到随机代码,使看门狗被禁止。这样的看门狗是需要有可靠的上电复位作保证的,因此,从理论上讲,原设计存在着不合理性。基于上述分析,采用片外看门狗专用芯片TPS3823由独立的分频振荡电路提供计数脉冲。实验电路如图2所示。
单片机看门狗电路上述电路中,TPS3823输出定时溢出信号给Reset端。程序段中,CPU要不断地通过I/O口输出喂狗信号,使看门狗计数器清零。在此电路中重复上述试验中K1、K2的相同动作,系统重启成功率达到100%。
&&&&&& 未来的内置看门狗必须有独立可靠的时钟。系统上电后,看门狗即为允许状态,无需软件设置,它只能被外部硬件跳线或内部熔丝(fuse)所禁止。目前,如果要求设计可靠性较高的嵌入式系统,外置看门狗是必须考虑的。内置看门狗的另一问题是系统复位后,程序应判断是由Reset端正常上电复位,还是程序跑飞看门狗所致,由此确定现场数据是否应该保留。这也是在看门狗应用中所应考虑的。
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:查看: 4010|回复: 10
原子哥 麻烦看看! 独立看门狗不能产生复位信号!
主题帖子精华
新手上路, 积分 39, 距离下一级还需 11 积分
在线时间0 小时
&&&&&以下是我的主函数和独立看门狗配置函数,跟实验板的例子一样,根据按键返回值来进入iwdg_Feed();喂狗,可是烧到板子没去按键喂狗,不会产生复位信号,按键返回值没问题,能进行喂狗
没按键喂狗,不会产生复位信号
疑问:独立看门狗是不是要设置时钟,还是什么关键步骤没配置。希望原子哥指点一下!&&&
int main(void)
//&u8 t = 0;
&systick_Init();
&Led_Init();
&Key_Init();
&iwdg_config();
&delay_ms(300);
&led0 = 0;
&led1 = 1;
&&if(key_scan() == 3)
&&iwdg_Feed();
void iwdg_config()
&IWDG-&KR = 0x5555;
&IWDG-&gtR = 0x04;
&IWDG-&RLR = 625;
&IWDG-&KR = 0xAAAA;
&IWDG-&KR = 0xCCCC;
void iwdg_Feed(void)
&IWDG-&KR = 0
&led1 = !led1;
&delay_ms(100);
主题帖子精华
初级会员, 积分 78, 距离下一级还需 122 积分
在线时间0 小时
看门狗到底是什么?&有什么用的?
1.环保数采仪监控系统?2.物联网、管网监控系统?3.水文水利监控系统?4.油烟在线监控系统.?5.智能小区水电表监控系统.?提供各种自动化监控解决方案!?有需要请联系,QQ&!
主题帖子精华
在线时间352 小时
回复【楼主位】LXJ:
---------------------------------
初始化和喂狗都无问题.
我算了一下你的看门狗复位时间是1秒钟.
是不是你自己仿真了?插JTAG了?还是软件仿真?
回复【2楼】MartinARM:
---------------------------------
百度.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
初级会员, 积分 78, 距离下一级还需 122 积分
在线时间0 小时
不喜欢狗&这种东西不能去玷污美丽的度娘
1.环保数采仪监控系统?2.物联网、管网监控系统?3.水文水利监控系统?4.油烟在线监控系统.?5.智能小区水电表监控系统.?提供各种自动化监控解决方案!?有需要请联系,QQ&!
主题帖子精华
在线时间352 小时
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
新手上路, 积分 39, 距离下一级还需 11 积分
在线时间0 小时
回复【3楼】正点原子:
---------------------------------
我就是把板的例子烧进去就可以,但是烧这个就不行,都是通过USB转串口烧进去的!
主题帖子精华
新手上路, 积分 39, 距离下一级还需 11 积分
在线时间0 小时
搞定了原来只是复位不明显,其实是有复位的,谢谢原子哥
主题帖子精华
初级会员, 积分 78, 距离下一级还需 122 积分
在线时间0 小时
回复【3楼】正点原子:
---------------------------------
用JTAG为什么不行啊,USB装串口的&话&&是可以的
主题帖子精华
在线时间352 小时
回复【8楼】gongkansb:
---------------------------------
JTAG有干扰.具体看原理图.
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
中级会员, 积分 470, 距离下一级还需 30 积分
在线时间1 小时
回复【7楼】LXJ:
---------------------------------
复位还有明显和不明显的说法?我看门狗没复位不知道什么情况。你指点下&不明显复位是什么概念
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看)
ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
主题帖子精华
中级会员, 积分 470, 距离下一级还需 30 积分
在线时间1 小时
回复【10楼】a4615800:
---------------------------------
解决了。手动复位管脚上面一个10UF的电容去掉就可以了。
ES?全称?Embedded?Show;ES是由众多嵌入式爱好者组织的一个团队,致力于带领学生进步,帮助毕业生找到工作,更重要的是在职的嵌入式工作者提供自主外包和创业的机会。(详情进群查看)
ES的宗旨是:交流共享与合作发展。ES?QQ群?第三群:?。群内论坛有很多嵌入式开发模块解决方案可以参考。进群的立马共享自己做的模块简介。
Powered by复位电路_百度百科
复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算器有着异曲同工之妙,只是启动原理和手段有所不同。
复位电路简介
复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。和计算器清零按钮有所不同的是,复位电路启动的手段有所不同。一是在给电路通电时马上进行复位操作;二是在必要时可以由手动操作;三是根据程序或者电路运行的需要自动地进行。复位电路都是比较简单的大都是只有电阻和电容组合就可以办到了,再复杂点就有等配合程序来进行了。
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才会撤除,微机电路开始正常工作。
复位电路类型
目前为止,复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)型复位电路。
复位电路概况
如果主板上没有ISA总线,也就是8XX系列芯片组的主板,IDE的复位直接来自于南桥,在两者之间通常也会有一个非门或是反向电子开关,PCI总线的复位直接来自于南桥,有些主板会在两者之间加有跟随器,此跟随器起缓冲延时作用。且PCI的常态为3.3V 或5V,复位时为0V,AGP总线的复位信号和PCI总线的复位信号是同路产生。也有的主板AGP总线的复位也是由南桥直接供给,常态时为高电频,复位时为低电频,对于北桥的复位信号也是和PCI总线的复位信号同时产生,也就是说PCI总线的复位信号,AGP总线的复位信号和北桥的复位信号通常是串在一根线上的,复位信号都相同,对于CPU的复位信号,不同的主板都是由北桥供给,I/O的复位信号是由南桥直接供给,通常是3.3V或5V。在8XX系列芯片组的主板中,中心(B205)和时钟发生器芯片也有复位信号,且复位信号由南桥直接供给,常态为3.3V,复位时为0V。
复位电路工作原理如右图所示,VCC上电时,使电容C充电,在10K电阻上出现高电位电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机。工作期间,按下S22,C放电,在10K电阻上出现电压,使得单片机复位。
S松手,C又充电,几个毫秒后,单片机进入工作状态。
复位电路复位方式
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从R引脚输入到芯片内的施密特中的。当系统处于正常工作状态时,且稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。
1、手动按钮复位
手动按钮复位需要人为在复位输入端上加入高电平(图1)。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
2、上电复位
的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
3、积分型上电复位
常用的上电或开关复位电路如图3所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。
C=1uF,Rl=lk,R2=10k
复位电路分类
单片机复位电路主要有四种类型:
(1)微分型复位电路:
(2)积分型复位电路:
(3)比较器型复位电路:
比较器型复位电路的基本原理。上电复位时,由于组成了一个RC低通网络,所以比较器的正相输入端的电压比负相端输入电压延迟一定时间.而比较器的负相端网络的时间常数远远小于正相端RC网络的时间常数,因此在正端电压还没有超过负端电压时,比较器输出,经反相器后产生.复位的宽度主要取决于正常电压上升的速度.由于负端电压放电回路时间常数较大,因此对电源电压的波动不敏感.但是容易产生以下二种不利现象:
(1)电源二次开关间隔太短时,复位不可靠:
(2)当电源电压中有浪涌现象时,可能在浪涌消失后不能产生复位脉冲。
为此,将改进比较器重定电路,如图9所示.这个改进电路可以消除第一种现象,并减少第二种现象的产生.为了彻底消除这二种现象,可以利用数字逻辑的方法和比较器配合,设计的比较器重定电路。此电路稍加改进即可作为上电复位和看门狗复位电路共同复位的电路,大大提高了复位的可靠性。
(4)看门狗型复位电路.
看门狗型复位电路主要利用正常工作时,定时复位计数器,使得计数器的值不超过某一设定的值;当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出的程序放在何处是最优的设计。一般设计,将此段程序放在定时器中断服务子程序中。[1]
然而,有时这种设计仍然会引起程序走飞或工作不正常。原因主要是:当程序"走飞"发生时,定时器初始化以及开中断之后的话,这种"走飞"情况就有可能不能由Watchdog复位电路校正回来.因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位.为此提出定时器加预设的设计方法.即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句.在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替.这样,当程序走飞后,其进入陷阱的可能性将大大增加.而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位.当然这种技术用于实时性较强的控制或处理软件中有一定的困难。
.维库电子通[引用日期]
企业信用信息看门狗电路_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
看门狗电路
上传于||文档简介
&&8c1​看​门​狗​电​路
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 单片机复位电路 的文章

 

随机推荐