第16课 计算机测控系统软件抗干扰_第1页
第16课 计算机测控系统软件抗干扰_第2页
第16课 计算机测控系统软件抗干扰_第3页
第16课 计算机测控系统软件抗干扰_第4页
第16课 计算机测控系统软件抗干扰_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

1、于劲松于劲松检测与自动化工程系检测与自动化工程系 新主楼新主楼 E902 计算机测控技术第七单元 抗干扰技术7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计 在干扰作用下,微机系统硬件部分不会受到在干扰作用下,微机系统硬件部分不会受到任何损坏,或易损坏部分设置有监测状态可任何损坏,或易损坏部分设置有监测状态可供查询供查询 程序区不会受干扰侵害程序区不会受干扰侵害 RAM区中的重要数据不被破坏,或虽被破坏区中的重要数据不被破坏,或虽被破坏可以重新建立可以重新建立7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计1) 软件抗干扰是一种软件抗干扰是一种价廉、灵活、方便价廉、灵活、方便的抗干扰的

2、抗干扰方法。方法。 纯软件抗干扰不需要硬件资源,不改变纯软件抗干扰不需要硬件资源,不改变硬件的环境,不需要对干扰源精确定位,不需硬件的环境,不需要对干扰源精确定位,不需要定量分析;要定量分析;2) 用软件方法处理故障,实质上是采用用软件方法处理故障,实质上是采用冗余冗余技术技术对故障进行屏蔽,对干扰响应进行掩盖,在干对故障进行屏蔽,对干扰响应进行掩盖,在干扰过后对干扰所产生的影响在功能上进行补偿,扰过后对干扰所产生的影响在功能上进行补偿,实现容错自救实现容错自救 ;3) 软件抗干扰是软件抗干扰是对硬件抗干扰的补充对硬件抗干扰的补充,解决硬件,解决硬件无法解决的干扰问题。无法解决的干扰问题。7.

3、3 测控系统软件抗干扰设计测控系统软件抗干扰设计 1 1、采取软件的方法抑制叠加在模拟输入信号、采取软件的方法抑制叠加在模拟输入信号上噪声对数据采集结果的影响,如数字滤波器上噪声对数据采集结果的影响,如数字滤波器技术;技术; 2、由于干扰而使运行程序发生混乱,导致程、由于干扰而使运行程序发生混乱,导致程序乱飞或陷入死循环时,采取使程序纳入正轨序乱飞或陷入死循环时,采取使程序纳入正轨的措施,如的措施,如软件冗余、软件陷阱、软件冗余、软件陷阱、“看门狗看门狗”技术。技术。 7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计 在不同的工业控制系统中,测控软件虽然完成的在不同的工业控制系统中,测控软

4、件虽然完成的功能不同,但就其结构来说,一般具有如下特点:功能不同,但就其结构来说,一般具有如下特点: (1)实时性:实时性:工业控制系统中有些事件的发生具有工业控制系统中有些事件的发生具有随机性,要求工控软件能够及时地处理随机事件;随机性,要求工控软件能够及时地处理随机事件; (2)周期性:周期性:工控软件在完成系统的初始化工作后,工控软件在完成系统的初始化工作后,随之进入主程序循环。在执行主程序过程中,如有随之进入主程序循环。在执行主程序过程中,如有中断申请,则在执行完相应的中断服务程序中断申请,则在执行完相应的中断服务程序(往往具往往具有周期性)后,继续主程序循环;有周期性)后,继续主程序

5、循环; 7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计 (3)相关性:相关性:工控软件由多个任务模块组成,各模工控软件由多个任务模块组成,各模块配合工作,相互关联,相互依存;块配合工作,相互关联,相互依存; (4)交互性:交互性:工控软件允许操作人员干预系统的运工控软件允许操作人员干预系统的运行,调整系统的工作参数。行,调整系统的工作参数。 7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计 但在工业现场环境的干扰下,但在工业现场环境的干扰下,测控软件的周期性、测控软件的周期性、相关性及实时性相关性及实时性受到破坏,程序无法正常执行,受到破坏,程序无法正常执行,导致测控系统的失控,其表

6、现是:导致测控系统的失控,其表现是: (1)程序计数器)程序计数器PC值发生变化,破坏了程序的值发生变化,破坏了程序的正常运行正常运行 (2)输入)输入/输出接口状态受到干扰,破坏了测控输出接口状态受到干扰,破坏了测控软件的相关性和周期性,造成系统资源被某个任软件的相关性和周期性,造成系统资源被某个任务模块独占,使系统发生务模块独占,使系统发生“死锁死锁”7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计(3)数据采集误差加大)数据采集误差加大(4)RAM数据区受到干扰发生变化数据区受到干扰发生变化 (5)控制状态失灵)控制状态失灵7.3 测控系统软件抗干扰设计测控系统软件抗干扰设计一、指令

7、冗余技术一、指令冗余技术 为了使为了使“乱飞乱飞”程序在程序区迅速纳入正程序在程序区迅速纳入正轨,应该多用单字节指令,并在关键地方轨,应该多用单字节指令,并在关键地方人为地插入一些单字节指令人为地插入一些单字节指令NOP,或将有,或将有效单字节指令重写,称之为指令冗余。效单字节指令重写,称之为指令冗余。1. NOP使用使用 51单片机指令系统包括:单片机指令系统包括:49条单字节指令、条单字节指令、45条双字条双字节指令和节指令和17条三字节指令,例如:条三字节指令,例如:CLR AE4H 只有操作码,隐含操作数只有操作码,隐含操作数MOV A, 10H74H 10H 操作码操作码 操作数操作

8、数MOV 40H, 30H75H 40H 30H 码码 数数 数数 指令顺序决定操作码和操作数,而操作时序完全指令顺序决定操作码和操作数,而操作时序完全由程序计数器由程序计数器PC控制,一旦控制,一旦PC因干扰而出现错误,因干扰而出现错误,程序将脱离正常运行,出现程序将脱离正常运行,出现“乱飞乱飞”。在取指令时刻落。在取指令时刻落到双字节指令或三字节指令的操作数上,将操作数当到双字节指令或三字节指令的操作数上,将操作数当作操作码,程序执行将出错。作操作码,程序执行将出错。 为使为使“乱飞乱飞”程序在程序区纳入正轨,应该多用单程序在程序区纳入正轨,应该多用单字节指令,并在关键地方人为地插入一些单

9、字节指令字节指令,并在关键地方人为地插入一些单字节指令NOP,或将有效单字节指令重写,或将有效单字节指令重写指令冗余指令冗余。 在双字节指令或在双字节指令或3字节指令后插入两个单字节指令后插入两个单字节字节NOP指令,这样保证其后的指令不被拆指令,这样保证其后的指令不被拆散,使乱飞的程序进入正轨。散,使乱飞的程序进入正轨。对于程序流向起决定作用的指令(如:对于程序流向起决定作用的指令(如:RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC、DJNZ、SETB、EA等前面等前面插入两条插入两条NOP指令,保证乱飞的程序迅速进指令,保证乱飞的程序迅速进入正轨,确保上述指

10、令的执行。入正轨,确保上述指令的执行。 对于程序流向起决定作用的指令对于程序流向起决定作用的指令(如如RET、RETI、ACALL、LCALL、LJMP、JZ、JNZ、JC、JNC等等)和某些对系统工作状态和某些对系统工作状态有重要作用的指令有重要作用的指令(如如SETB、EA等等)的后面的后面,可,可重复写上这些指令重复写上这些指令,以确保这些指令,以确保这些指令的正确执行。的正确执行。 时间冗余方法是通过消耗时间资源达到纠时间冗余方法是通过消耗时间资源达到纠错目的。错目的。 1 1、重复检测法、重复检测法 : 当硬件无法去除输入信号中迭加的尖峰当硬件无法去除输入信号中迭加的尖峰干扰,可采用

11、时间冗余的重复检测法干扰,可采用时间冗余的重复检测法, ,对接口对接口中的输入数据信息进行多次检测,若检测结中的输入数据信息进行多次检测,若检测结果完全一致,则是真的输入信号;若相邻的果完全一致,则是真的输入信号;若相邻的检测内容不一致,或多次检测结果不一致,检测内容不一致,或多次检测结果不一致,则是伪输入信号。则是伪输入信号。 图图731 重复检测法重复检测法 2、重复输出法:重复输出法: 对于那些用锁存器输出的控制信号,为对于那些用锁存器输出的控制信号,为保证不因干扰而出现错误保证不因干扰而出现错误, ,可采用重复输出可采用重复输出法。对可编程输出接口芯片可将法。对可编程输出接口芯片可将工

12、作方式控工作方式控制字和输出状态字一并多次重复输出制字和输出状态字一并多次重复输出。输出。输出重复周期尽可能短些。重复周期尽可能短些。 3、指令复执技术、指令复执技术 : 这种技术是重复执行已发现错误的指这种技术是重复执行已发现错误的指令(一旦发现错误、就重新执行被错误破令(一旦发现错误、就重新执行被错误破坏的现行指令),如故障是瞬时的,在指坏的现行指令),如故障是瞬时的,在指令复执期间,有可能不再出现,程序可继令复执期间,有可能不再出现,程序可继续执行。续执行。 4、程序卷回技术、程序卷回技术 程序卷回不是某一条指令的重复执行,而是程序卷回不是某一条指令的重复执行,而是一小段程序的重复执行。

13、为了实现卷回,也要一小段程序的重复执行。为了实现卷回,也要保留现场。这种卷回方法可卷回若干次,直到保留现场。这种卷回方法可卷回若干次,直到故障排除或显示故障为止。故障排除或显示故障为止。 在程序的适当位在程序的适当位置设置若干检查点,置设置若干检查点,在每一个检查点保存在每一个检查点保存程序在程序在该检查点之前该检查点之前正确运行而得到的全正确运行而得到的全部信息及标志。部信息及标志。如果如果故障是暂时性的故障是暂时性的,则程则程序卷回到上一检查点序卷回到上一检查点开始重新执行,这样开始重新执行,这样可以完全消除错误,可以完全消除错误,其框图如左图所示。其框图如左图所示。 5、延时避开法、延时

14、避开法 当系统要接通或断开大功率负载时,如大当系统要接通或断开大功率负载时,如大型感性负载的通断,容易引起电源过电压、欠型感性负载的通断,容易引起电源过电压、欠压、浪涌以及产生尖峰干扰等,此时使压、浪涌以及产生尖峰干扰等,此时使CPU暂暂停工作,待干扰过去以后再恢复工作,这比单停工作,待干扰过去以后再恢复工作,这比单纯在硬件上采取抗干扰措施要方便许多。纯在硬件上采取抗干扰措施要方便许多。一、软件陷阱一、软件陷阱 软件陷阱,就是用引导指令强行将捕获软件陷阱,就是用引导指令强行将捕获到的乱飞程序引向复位入口地址到的乱飞程序引向复位入口地址0000H,在,在此处将程序转向专门对程序出错进行处理的此处

15、将程序转向专门对程序出错进行处理的程序,使程序纳入正轨。程序,使程序纳入正轨。 软件冗余软件冗余使乱飞的程序纳入正轨是有条件的,使乱飞的程序纳入正轨是有条件的,首先跑飞的程序必须落到程序区,其次必须执首先跑飞的程序必须落到程序区,其次必须执行到冗余指令行到冗余指令。 当跑飞的程序落到非程序区当跑飞的程序落到非程序区(如如EPROM中未使中未使用的区域、程序中的数据表格区等用的区域、程序中的数据表格区等)时,第一个时,第一个条件便不满足;当跑飞的程序落到一个已形成条件便不满足;当跑飞的程序落到一个已形成死循环的程序中,第二个条件也不满足。对前死循环的程序中,第二个条件也不满足。对前一种情况采取的

16、措施是一种情况采取的措施是设立设立软件陷阱软件陷阱,对后一,对后一种情况可采取种情况可采取“看门狗看门狗”技术解决技术解决。软件陷阱可采用两种形式,如表软件陷阱可采用两种形式,如表7-3-1所示所示。 未使用的中断区未使用的中断区 未使用的未使用的EPROM空间空间 非非EPROM芯片空间芯片空间 运行程序区运行程序区 中断服务程序区中断服务程序区 RAM数据保护的条件陷阱数据保护的条件陷阱 软件陷阱软件陷阱是指用来将捕获的跑飞程序引向复位入口是指用来将捕获的跑飞程序引向复位入口或错误处理程序入口地址的几条指令。或错误处理程序入口地址的几条指令。通常把以下几条指令作为常用的软件陷阱通常把以下几

17、条指令作为常用的软件陷阱: :NOPNOPNOPNOPLJMP 0000H LJMP 0000H 机器码机器码 00 00 02 00 0000 00 02 00 00( ( 或或LJMP ERROR, ERROR LJMP ERROR, ERROR 为错误处理程序的入口标号为错误处理程序的入口标号) )为防止干扰导致未使用的中断被异常开放为防止干扰导致未使用的中断被异常开放, , 对于未使用的对于未使用的中断服务程序则可以这样中断服务程序则可以这样: :NOPNOPNOPNOPPOP direct1 ;POP direct1 ;将断点弹出堆栈区将断点弹出堆栈区 POP direct2POP

18、direct2LJMP 0000HLJMP 0000H ; ;转到转到0000H0000H NOPNOPPOP direct1 ;将断点弹出堆栈区将断点弹出堆栈区 POP direct2PUSH 00H ; 断点地址改为0000HPUSH 00HRETI 未使用的中断区未使用的中断区中断程序中中断程序中direct1direct1、direct2direct2为主程序中非使用单元为主程序中非使用单元 在未使用的在未使用的EPROM空间填入空间填入 LJMP 0202H ; 机器码机器码 02 02 02 LJMP 0000H ; 机器码机器码 02 00 00 当乱飞程序进入当乱飞程序进入此区

19、后,便会迅速自动入轨此区后,便会迅速自动入轨 在地址在地址 0202H:LJMP 0000H 在程序存储空间中非在程序存储空间中非EPROM区区 当跑飞程序计数器当跑飞程序计数器PC值落入到非值落入到非EPROM区,读入区,读入的数据将是的数据将是FFH,是,是“MOV R7,A”的机器码,将破的机器码,将破坏坏R7值。可通过译码将值。可通过译码将EPROM未占用的程序存储器未占用的程序存储器空间映射到一个外部中断,在中断服务程序中,将跑空间映射到一个外部中断,在中断服务程序中,将跑飞的程序拉回正轨。飞的程序拉回正轨。 运行程序区运行程序区运行程序采用模块化结构,在模块间采用软运行程序采用模块

20、化结构,在模块间采用软件陷阱,程序正常运行不执行这些陷阱指令,件陷阱,程序正常运行不执行这些陷阱指令,一旦乱飞的程序落入陷阱可被拉回正常轨道。一旦乱飞的程序落入陷阱可被拉回正常轨道。 中断服务程序区中断服务程序区设定定时陷阱中断服务程序,在中断服务程设定定时陷阱中断服务程序,在中断服务程序中判断中断点地址,序中判断中断点地址,如地址是非有效的程序如地址是非有效的程序地址,则说明出现了程序乱飞,在中断服务程地址,则说明出现了程序乱飞,在中断服务程序中将乱飞的程序拉回程序复位点或故障处理序中将乱飞的程序拉回程序复位点或故障处理程序入口程序入口。 RAM数据保护的条件陷阱数据保护的条件陷阱单片机外单

21、片机外RAM保存大量数据,数据写入是使用保存大量数据,数据写入是使用“MOVX DPTR,A”指令来完成。当指令来完成。当CPU受到受到干扰而非法执行该指令时,就会改写干扰而非法执行该指令时,就会改写RAM中的中的数据,导致数据丢失。数据,导致数据丢失。为了减小为了减小RAM中数据丢失的可能性,可在中数据丢失的可能性,可在RAM写操作之前加入条件陷阱,不满足条件不允许写操作之前加入条件陷阱,不满足条件不允许写操作,并进入陷阱,形成死循环。进入死循写操作,并进入陷阱,形成死循环。进入死循环再采用环再采用“看门狗看门狗”技术。技术。教材教材P240 程序计数器程序计数器PC受干扰而失控,除引起程序

22、受干扰而失控,除引起程序跑飞,也可能使程序陷入跑飞,也可能使程序陷入“死循环死循环”。指令。指令冗余技术、软件陷阱技术都无法使程序摆脱冗余技术、软件陷阱技术都无法使程序摆脱死循环。这时通常采用程序监视技术,又称死循环。这时通常采用程序监视技术,又称“看门狗看门狗”技术(技术(watchdog)。)。 “看门狗看门狗”技术的基本原理是不断监视程序技术的基本原理是不断监视程序循环的运行时间,若发现超过正常运行所需循环的运行时间,若发现超过正常运行所需的时间,则认为进入死循环,将强迫程序返的时间,则认为进入死循环,将强迫程序返回初始入口(如:回初始入口(如:0000H),或出错处理程),或出错处理程

23、序入口。序入口。1、单稳态型、单稳态型“看门狗看门狗”电路电路 74LS123 包括两个独立的单稳,各管脚以字头包括两个独立的单稳,各管脚以字头 1、2相区别。单稳输出脉冲的宽度,主要由外相区别。单稳输出脉冲的宽度,主要由外接的定时电阻接的定时电阻( Rext )和定时电容和定时电容( Cext )决定。单决定。单稳的翻转时刻决定于稳的翻转时刻决定于 A、B、CLR 三个输入三个输入 相相与的结果,具体参见它的功能表。与的结果,具体参见它的功能表。 单稳态型单稳态型“看门狗看门狗”电路电路 图图734 单稳态单稳态“看门狗看门狗”电路电路图图735 74LS123 管脚排列与功能管脚排列与功能

24、 图图736 单稳态单稳态“看门狗看门狗”程序框图程序框图TWTW1A1Q/2A2QREST进入死循环进入死循环图图737 计数器型计数器型“看门狗看门狗”电路电路 为了保证微处理器稳定而可靠运行,须配置为了保证微处理器稳定而可靠运行,须配置电压监控电路;为实现掉电数据保护,需备用电电压监控电路;为实现掉电数据保护,需备用电池及切换电路;为了是微机处理器尽快摆脱因干池及切换电路;为了是微机处理器尽快摆脱因干扰而陷入的死循环,需要配置扰而陷入的死循环,需要配置“看门狗看门狗”电路,电路,如如MAX705/706/813L具备具备“看门狗看门狗”定时器功定时器功能。能。严重的现场干扰可能破坏严重的

25、现场干扰可能破坏中断控制字,中断控制字,导致中断关闭导致中断关闭,而在主程序循环中硬件看门,而在主程序循环中硬件看门狗技术无法解决此类干扰。狗技术无法解决此类干扰。这样就出现了依靠软件定时中断对程序这样就出现了依靠软件定时中断对程序进行监控的软件进行监控的软件“看门狗看门狗”。软件软件“看门狗看门狗”的思路:的思路:主程序循环监控定时器主程序循环监控定时器T0中断,定时器中断,定时器T0监控监控T1中断,中断,T1中断监控主程序。这种相中断监控主程序。这种相互依存相互制约的抗干扰措施使系统运行互依存相互制约的抗干扰措施使系统运行可靠性大大提高。可靠性大大提高。T0的优先级高于的优先级高于T1。

26、 图图7310 主程序流程图主程序流程图由T0修改主程序完成主程序完成系统测控功系统测控功能的同时,能的同时,还监视还监视T0中断因干扰中断因干扰引起的中断引起的中断关闭故障。关闭故障。A0为为T0中中断服务程序断服务程序运行状态观运行状态观测单元测单元,T0中断一次,中断一次,A0自动加自动加1 图图7311 T1中断程序流程中断程序流程由主程由主程序清零序清零完成系统特完成系统特定测控功能定测控功能的同时,还的同时,还监视主程序监视主程序运行状态。运行状态。在中断服务在中断服务程序中设置程序中设置一个主程序一个主程序运行计时器运行计时器M,T1每中每中断断1次,次,M加加1.MT进进入死循

27、环入死循环 图图7312 T0中断程序流程中断程序流程 监视监视T1中断服中断服务程序的运行状务程序的运行状态,程序短,受态,程序短,受干扰机率小,干扰机率小,T1中断中断1次,次,A1加加1.T0中断级别高中断级别高于于T1中断,中断,T1的任何中断故障的任何中断故障都会因都会因T0的中断的中断而被检测出来。而被检测出来。 硬件看门狗技术能够监视程序陷入死循环,硬件看门狗技术能够监视程序陷入死循环,但对中断关闭无能为力;而软件看门狗能够监但对中断关闭无能为力;而软件看门狗能够监视中断关闭故障,但对高级中断陷入死循环无视中断关闭故障,但对高级中断陷入死循环无能为力。这样软、硬件看门狗技术相结合

28、,将能为力。这样软、硬件看门狗技术相结合,将可以获得更好的抗干扰效果。可以获得更好的抗干扰效果。 图图7313 主程序流程图主程序流程图硬件配置同硬件配置同图图7-3-4,图,图中的中的A0,A1为为T0,T1中中断运行状态断运行状态观测器。观测器。T0,T1中断中断一次,一次,A0,A1加加1 图图7316 主程序流程图主程序流程图n若测控功能若测控功能模块程序较模块程序较短,执行一短,执行一次时间内不次时间内不足以使足以使T0、T1发生定时发生定时中断,这时中断,这时可采用右图可采用右图所示方案,所示方案,确保确保N次循次循环时间内环时间内T0,T1发生发生定时中断。定时中断。 一、上电标

29、志设定一、上电标志设定 程序的执行总是从程序的执行总是从0000H单元开始,即微机启动单元开始,即微机启动 启动方式:启动方式: 1、冷启动:即上电复位。冷启动的特征是系统、冷启动:即上电复位。冷启动的特征是系统要彻底初始化,测控程序模块从头开始执行,即生要彻底初始化,测控程序模块从头开始执行,即生产工艺过程从最初状态开始运行产工艺过程从最初状态开始运行 2、热启动:故障复位,即再次启动。热启动的、热启动:故障复位,即再次启动。热启动的特征是不需要全部进行初始化,测控程序不必从头特征是不需要全部进行初始化,测控程序不必从头开始执行,而应从故障部位开始,即生产工艺过程开始执行,而应从故障部位开始

30、,即生产工艺过程从故障点重新运行从故障点重新运行 区别是冷启动,还是热启动应由上电标志区别是冷启动,还是热启动应由上电标志来判定。来判定。 图图7317 PSW.5上电标志判定上电标志判定 MCS-51单片机硬件复位后堆栈指针单片机硬件复位后堆栈指针SP为为07H,但在应用程序设计中,一般不会把,但在应用程序设计中,一般不会把堆栈指针堆栈指针SP设置在设置在07H这么低的内部这么低的内部RAM地址,都要将堆栈指针设置大于地址,都要将堆栈指针设置大于07H。根据。根据SP这个特点,可用这个特点,可用SP作为上作为上电标志。应注意,电标志。应注意,SP标志仅适用于软件标志仅适用于软件复位方式。复位方式。

温馨提示

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

评论

0/150

提交评论