您的位置 首页 方案

浅谈单片机程序的跑飞和一种看门狗电路

1 程序跑飞现象随着单片机在能源领域中的广泛应用,单片机的抗干扰问题越来越突出,煤矿井下环境一般比较恶劣,这便会为单片机控制系统带来各种干扰,

1 程序跑飞现象

跟着单片机在动力领域中的广泛使用,单片机的抗搅扰问题越来越杰出,煤矿井下环境一般比较恶劣,这便会为单片机操控体系带来各种搅扰,致使体系不能正常作业。单片机使用体系的抗搅扰功用首要取决于硬件的抗搅扰规划,但软件

抗搅扰规划作为硬件抗搅扰的完善和弥补,效果也非常重要,由于很多的搅扰一般并不能影响体系内硬件的运作,却常会使体系的软件无法正常运转,单片机使用的一个杰出问题,就是单片机运转过程中经常出现的程序跑飞现象。

在单片机体系中,由于搅扰的原因,在非预期的状况下,使得程序计数器PC 的值产生随机的改动,然后使得程序的流向指向不确定区域,这就是程序的跑飞。程序跑飞后或许会使指令的地址码和操作码产生改动,PC 把操作数当作指令来履行;或许PC值指向一条不合逻辑关系的指令甚或对错程序区,运转成果常常会使单片机进入死循环———就是咱们常说的“死机”。为保证在无人当值的状况下,单片机“死机”后能主动康复过来,一般选用软件圈套,外部WDT 电路,以及软件操控的WATCHDOG 等办法,使体系康复正常(后两种俗称“看门狗”),限于篇幅不做专门阐明,这儿首要向咱们介绍用555 定时器软硬结合做看门狗的一种办法。

2 555定时器

一般状况下,看门狗首要是经过不断监督程序运转一个事情的时刻是否超越预订的时刻来判别程序是否进入了死循环,因而使用555 定时器可复位的触发功用外加延时电路可完成看门狗的功用。555定时器是一种多用途的单片集成电路,内部电路如图1 所示。

CO端是操控电压输入端,加操控电压可改动A1“-”端及A2“ +”端的参阅电压,若不必,可经过一个小电容接地,以防旁路高频交流搅扰;R 为定时器直接复位端,加低电平可将定时器直接置“0”,此刻,OUT输出“0”,Q 为1”,V 导通,D 端对地通路;TH 为复位阀值输入端,当TH 电压超越2/3UDD(即A1 负端分压)时,A1 输出为“1”,OUT 输出“0”,相同,D 端对地通路;TR 为置位输入端,当TR电压低于1/3 UDD(即A2 正端分压)时,A2 输出“1”,定时器被置位,此刻,OUT 输出“1”,Q 为“0”,V截止,D端对地断路。

3 看门狗电路及运转指令以INTEL公司的16 位单片机8096 为例,555定时器作为看门狗与单片机的接口电路可规划如图2 所示。

首先在单片机初始化时用指令“ORBPORT1,#01H”置P1.0 为“1”,则三极管T 导通,555 芯片的R 为“1”,TH、TR 端经R、C 充电,电位逐步上升,当电位还低于1/3 UDD 时,OUT 输出“1”,D端对地断路,电容C 正常充电,一旦程序跑飞或进入死循环,在电位上升到高于2/3 UDD时仍没有“喂狗”,则OUT输出变为“0”,经三极管T拉低单片机的RESET 脚,并使复位电容放电,这时

D 端对地短路,电容C 也经过Rf 放电,当TH、TR端电位放电到低于1/3 UDD(留意)时,OUT输出从头变为“1”,单片机进入复位状况。

“喂狗”是指复位看门狗,在本电路中只须运转以下指令即可。

ANDB PORT1,#0FEH ;使P1.0 为“0”

SKIP ;空操作,用于延时

SKIP ;以使TR电压降到1/3 UDD为宜

ORB PORT1,#01H ;使P1.0 为“1”

当P1.0 被置为“0”时,555 定时器的R 端为“0”,三极管T 截止。R 端为“0”则555 芯片被复位,OUT 输出为“0”,一起D 端对地短路,电容C放电为从头延时做准备,但由于三极管的截止,此刻OUT 输出尽管也为“0”却并不影响单片机的RESET脚,单片机正常作业,然后区别开了“喂狗”与体系故障时看门狗产收效果的不同之处。

4 需求留意的问题

这儿依然有一个问题需求留意,那就是555定时器的正常作业与否彻底依赖于单片机P1.0的状况,但在某些搅扰比较严重的状况下,单片机的误操作是有或许改动P1.0 的预置状况的,若单片机在进入死循环之前,P1.0 被误置为了“0”,看

门狗一直处于“被喂”的状况,那这个电路便就无法再发挥效果了,对这种状况咱们可用软件冗余的办法来应对,就是在程序的要害当地屡次插写看门狗的激活指令:

NOP

ORB PORT1,#01H

值得提示一下的是这儿“NOP”指令的效果不容忽视,可使跑飞的程序归入正轨,不致冲散后边的要害指令。不过尽管如此软件冗余的使用也仍是有一个条件的,那就是跑飞的程序有必要落在程序区,冗余的指令得到履行方可收效,若跑飞的程序落在了非程序区,仅凭指令冗余技能便不行靠了,这时咱们便还须凭借其他抗搅扰技能的支撑,如软件圈套、标志技能,实质牢靠性程序的规划等,在此不再赘述,但这些都有必要包含在一个牢靠的程序内———究竟,单片机体系来自搅扰的影响是立体的,那么,咱们的应对战略便也须是全方位的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/140751.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部