当前位置:首页 > 单片机 > 单片机
[导读]应用于工业过程控制和智能化仪器仪表的单片机,由于现场条件往往十分恶劣,不可避免地会受到各种各样的电磁干扰。当串入系统的干扰作用于单片机内部的CPU部件时,后果更加严重,将导致系统失控。最典型的失控故障是破

应用于工业过程控制和智能化仪器仪表的单片机,由于现场条件往往十分恶劣,不可避免地会受到各种各样的电磁干扰。当串入系统的干扰作用于单片机内部的CPU部件时,后果更加严重,将导致系统失控。最典型的失控故障是破坏程序计数器PC的状态,导致程序在地址空间内“乱飞”,或者陷入“死循环”。因此,尽可能早地发现程序失控,并采取相应的补救措施,是单片机应用系统抗干扰设计的重要内容。

使程序从“乱飞”状态纳入正轨的方法称为程序拦截技术,包括指令冗余技术、软件陷阱技术等。使程序摆脱“死循环”,通常多采用硬件电路实现的监视技术,又称“看门狗”技术(Watchdog)。常见的硬件“看门狗”电路有单稳态型“看门狗”电路、计数器型“看门狗”电路、微处理器监控专用芯片等。上述的抗干扰方法可参阅有关资料文献。本文将讨论由软件实现的“看门狗”技术。

由硬件电路实现的“看门狗”技术,可以有效地克服主程序或中断服务程序由于陷入“死循环”而带来的不良后果。但在工业应用当中,严重的干扰有时会破坏中断方式控制字,导致中断关闭,这时一般的硬件“看门狗”将不能使中断恢复正常。依靠软件进行多重监视,可以弥补上述不足。

软件“看门狗”技术的基本思路是:在主程序中对中断服务程序的运行进行监视;在中断服务程序中对主程序的运行进行监视;采用两个中断实施相互监视,称之谓软件三重监视抗干扰技术。从概率观点,这种相互依存,相互制约的抗干扰措施,将使系统的可靠性大大提高。

本文以MCS—51单片机为例,说明软件三重监视的基本原理。系统软件包括主程序、T0定时中断子程序和T1定时中断子程序3部分,将T0设计成高级中断,T1设计成低级中断,从而形成中断嵌套。

1 主程序监视过程设计

主程序完成系统测控功能的同时,还要监视T0中断服务程序因干扰而引起的中断关闭故障。A0为T0中断服务程序运行状态的观测单元,T0每发生一次中断,A0计数单元少一次中断(T0定时溢出时间小于测控功能模块运行时间),引起A0的变化。在测控功能模块的出口处,将A0值与E0值进行比较,以判断A0是否发生变化。若A0发生变化,说明T0中断运行正常;若A0不变化,说明T0中断关闭,则转到程序入口0000H处,进行出错处理后,程序恢复正常运行。

设A0、E0、M计数单元分别为内RAM中的30H、40H和50H单元,监视程序如下:

loop1:MOV  50H, #00H; 清M单元

MOV 40H, 30H ;暂存A0单元

…; 测控功能模块

CLR C

MOV A, 30H

SUBB A, 40H; 判断A0变化

JZ loop

MOV 30H, #00H

LJMP loop1

loop:LJMP 0000H

2 T1中断服务程序监视过程设计

T1中断服务程序在完成特定测控功能的同时,还要监视主程序的运行状态。在中断服务程序中设置一个主程序运行计时器M1,T1每中断一次,M便自行加1。M中的数值与T1定时溢出时间之积表示时间值。若由M表示的时间值大于主程序的运行时间,说明主程序因干扰而陷入了“死循环”,T1中断服务程序便修改断点地址,返回0000H,进行出错处理。若M不大于主程序运行时间,说明主程序运行正常,中断服务程序也正常返回。M单元在系统主程序运行中循环清“0”。

设单片机晶振频率为6MHz,T1以工作方式1产生2ms的定时中断,则T1的计数初值为:

(216-N)×2×10-6=2×10-3

N=64536D=FC18H

主程序的最大循环时间为200ms,T取值应不小于64H,可取68H。A1为T1中断程序运行状态监测单元,取内RAM 31H单元,M仍取50H单元,60H、61H为暂存单元,则T1中断监视程序如下:

PUSH  PSW       ;保护现场

PUSH ACC

MOV TH1, #0FCH    ;T1置初值

MOV TL1, #18H

INC 31H     ;A1单元加1

INC 50H ;M单元加1

CLR C

MOV A,#68H

SUBB A,50H ;T≥M?

JC loop

…     ;中断测控程序

POP ACC ;恢复现场

POP PSW

RETI  ;返回

loop:POP  ACC       ;恢复现场

POP PSW

POP 60H ;原断点弹出

POP 61H

MOV 60H,#00H ;断点修改为0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI    ;返回

3 T0中断服务程序监视过程设计

T0中断的功能是监视T1中断服务程序的运行状态。由于T0中断服务程序较短,因干扰而引起的“死循环”的几率很小,重点考虑中断关闭故障。A1、B1为T1中断运行状态观测单元。A1的初值为00H,T1每中断一次,A1便加1,T0中断服务程序中若检测到A1>0,说明T1中断正常;若A1=0,则B1单元加1(B1的初值为00H),若B1的累加值大于Q,说明T1中断失效,失效时间为T0定时溢出时间与Q值之积。例如:T0的定时溢出时间为4ms,T1的定时溢出时间为2 ms,当Q=5时,说明允许T1的失效时间为20 ms,在这样长的时间内,T1并没有发生中断,说明T1中断发生了故障。由于T0中断级别高于T1中断级别,所以T1的任何故障(如死循环、中断关闭)都会由T0检测出来。T0中断服务程序一般很短,发生“死循环”的几率很小。

设单片机晶振频率为6MHz,T0以工作方式1产生4 ms的定时中断,则T0的计数初值为:

(216-N)×2×10-6=4×10-3

N=63536D=F830H

设计数单元A0、A1、B1分别为内RAM 30H、31H、32H,Q=5,60H、61H为暂存单元,则T0中断监视程序如下:

PUSH   PSW     ;保护现场

PUSH ACC

MOV TH0,#0F8H ;设T0初值

MOV TL0,#30H

INC 30H ;A0加1

MOV A,31H ;A1单元判0

JZ loop1

CLR A     ;清A1、B1单元

MOV 31H,A

MOV 32H,A

loop0:POP ACC ;恢复现场

POP PSW

RETI  ;返回

loop1:INC 32H ;B1加1

CLR C

MOV A  ,32H;B1≥Q?

SUBB A,#05H

JC loop0

POP  ACC    ;恢复现场

POP PSW

POP 60H ;原断点弹出

POP 61H

MOV 60H,#00H ;修改断点0000H

MOV 61H,#00H

PUSH 60H

PUSH 61H

RETI

当系统受到干扰后,主程序可能发生“死循环”,中断服务程序也可能陷入“死循环”,或因中断方式字的破坏而关闭中断。主程序的“死循环”可由T1中断服务程序监视;T1中断服务程序的“死循环”和中断关闭故障由T0中断服务程序监视;T0的中断故障可由主程序监视。由于采取了三重软件监测方法,大大提高了系统运行的可靠性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:以物联网应用为背景,讨论了基于无线技术的电磁环境及频谱应用情况,分析了造成干扰的成因及抗干扰的措施,研究了通信抗干扰技术增效对比及抗干扰评估方法并得到了相关结果。该结果对未来无线物联网大规模应用系统的通信干扰问题和...

关键字: 无线物联 电磁环境 干扰成因 抗干扰技术 干扰评估

在生活中,你可能接触过各种各样的电子产品,那么你可能并不知道它的一些组成部分,比如它可能含有的模拟量传感器,那么接下来让小编带领大家一起学习模拟量传感器抗干扰技术。

关键字: 模拟量传感器 抗干扰技术 静电屏蔽

5月7日,MediaTek举办线上媒体技术沟通会,发布天玑1000系列技术增强版—;—;天玑1000+。 MediaTek无线通信事业部副总经理李彦辑博士表示:“MediaTek天玑1000系列作为旗

关键字: MEDIATEK HZ ENGINE 抗干扰技术

据英国Cobham公司网站公告,英国Cobham公司所属的航宇通信(Cobham Aerospace ConNECtivity)公司宣布,已与英国国防部防务装备和保障(DE&S)局签署合同,研究

关键字: COB 信号 卫星导航 抗干扰技术

电路有干扰怎么办?常用抗干扰技术有哪些?在电子测量装置的电路中出现的、无用的信号称为噪声,当噪声影响电路正常工作时,该噪声称为干扰。信号传输过程中干扰的形成必须具备三项因素,即干扰源、干扰途径以及对噪声敏感性较高的接收电...

关键字: 屏蔽 抗干扰技术 滤波器

一、本文概述 不仅是日常生活,还是工业生产场景中,我们都会遇到各种各样的电子测量仪器仪表,针对于不同的测量要求,需要有基于不同的测量原理的测量仪表,其涉及到的测量原理和测量方式都不尽相同,从业者在选择

关键字: 抗干扰技术 电子测量仪表 误差处理

随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连,相互影响,由于运行方式的改变,故障,

关键字: 单片机 抗干扰技术

蒸汽流量计的抗干扰技术?蒸汽流量计是一种常用的流量测量仪器,主要针对于行业中的液体介质经行测量,被广泛的应用于工业、化工、治金、石油、船舶、机床等多个行业当中。蒸汽流量计在使用当中也是会受到一定的干扰问

关键字: 抗干扰技术 蒸汽流量计

格式:void 函数名()interrupt 中断号 using 工作组{  中断服务程序内容}  注意:中断不能返回任何值,所以前面是 void 后面是函数名,名字可以自己起,但不要与c语言的关键字相同;中断函数不带任...

关键字: C51 中断服务程序

一、电源的干扰及其抑制技术一般情况下,任何电子设备或系统无疑都离不开供电电源,因此首先探讨电源的抗干扰措施具有实际的意义。信号发生器包括静电测试仪、浪涌测试仪、脉冲群模拟器等都可作为干扰源模拟测试。电

关键字: 单片机 抗干扰技术 测控系统
关闭
关闭