APP下载

单片机测控系统中的软件抗干扰技术

2018-02-26陈欣

电子技术与软件工程 2018年16期
关键词:抗干扰技术单片机

陈欣

摘要

在工业单片机测控系统中,抗干扰技术是一个很重要的环节,软件抗干扰技术具有良好的可靠性和稳定性。本文针对工业单片机测控系统中的抗干扰问题,从数字滤波技术、软件陷阱技术、“看门狗”技术等方面进行了研究,并提出了解决方案。

【关键词】单片机 抗干扰技术 数字滤波技术

1 引言

如图1所示,单片机测控系统是在程序化管理下形成的测控系统,它可以在工业生产过程中提高机械控制的效率。但是,工业现场环境复杂,具有电磁功能的大量设备频繁启动、停止,产生的干扰影响了单片机系统的正常运行。本文针对单片机测控系统中的抗干扰问题,从软件抗干扰技术方面进行了分析和研究,并提出了解决方案。

工业单片机测控系统的常见影响如下:

1.1 干扰加大数据采集的误差

测试系统通道的输入部分受到干扰信号的入侵,有用信号和外来干扰信号相互叠加,加剧了该通道数据采集的误差。尤其在当前系统输入的是小电压信号时,数据干扰的现象更加严重。

1.2 干扰使数据发送变化

单片机系统中的程序是存放在存储器EPROM中,这些程序不易发生变化。但是单片机系统的RAM数据区是可以读写的,它可能会受到读入信息的干扰从而发生变化。因为干扰渠道的区别,以及数据性质的区别,单片机系统受损害的情况也各不相同,可能造成控制失灵,也可能造成数值误差,更严重的会改变单片机系统某些部件(如串行口、定时器/计数器等)的运行状态等。

1.3 干扰使控制状态失灵

在单片机系统中,控制状态依赖于特定条件的输入状况和处理结果,干扰的侵入会造成条件状态错误,引起虚假的信号,从而加大输出控制的误差,甚至控制失常。

1.4 干扰使程序运行失常

单片机系统正常运行的前提是CPU正常工作,如果干扰信号影响到了CPU,则程序计数器不能正常运行,从而引起系统混乱、控制失灵,即通常说的程序“跑飞”。

现在使用的单片机抗干扰技术主要分为硬件与软件两类。硬件抗干扰技术固然可以降低系统受干扰的程度,但是成本较高,灵活性不足,而且容易受电磁干扰。软件抗干扰技术方法灵活,不需要增加硬件設备,越来越受到工业生产的重视和青睐。目前最常见的主要有如下几种:数字滤波抗干扰技术、软件陷阱抗干扰技术、“看门狗”抗干扰技术等。

2 数字滤波技术

数字滤波技术就是通过研究信号的干扰性,利用技术手段来提高输入和输出信号的精度,当采样数据呈离散型分布,差值比较大时,则说明该数据受到较大的干扰,不能被系统最后采集。

2.1 算术平均值滤波法

该滤波法的实质就是在一个周期内采样N次,然后求平均值,它的优点是可以有效消除周期性的干扰。当采样次数N较大时,信号的平滑度会变高,但是相对应的灵敏度会降低。当采样次数N较小时,信号的平滑度会变低,但灵敏度会变高。对次数N的取值根据实际情况而不同,对一般情况测试,N=12;对于压力,通常N=4;对于温度、电压等,通常N=8。该方法对具有随机干扰的普通信号进行滤波比较有效,取样信号有一个平均值,数值在其上下波动,也可以推广到在几个连续的周期内取平均值。

2.2 中位值平均滤波法

算术平均值滤波法的缺点是对于偶然脉冲性干扰的抑制性较差,中位值平均滤波法则可以克服这一点,它在若干个周期采样,采样参数按大小顺序进行排序,排除掉采样的最大、最小两个边界值,然后按照N-2个数值求平均值,这种方法可以排除由于脉冲干扰因素引起的采样值偏差。在实际应用中,采样的周期要选择适当。选择的周期较大,数据采集的延迟就会过大,系统的响应就会变慢。选择的周期较小,去除干扰的作用就不明显。

2.3 限幅滤波法

限幅滤波法需要对任意两次采样值设置一个最大偏差值A,每次检测新采样值都依据A值来判断。如果连续两次采样值的偏差在A的范围之内,则此次采样值有效。如果连续两次采样值的偏差大于A,则认为此次采样值无效,选用上次采样值。该滤波法的最大优点是克服偶然因素引发的干扰,缺点是无法抑制周期性的干扰,平滑度较差。

在实际的数字滤波技术中,可以采用多种滤波技术相结合的方法,比如在算术平均值滤波法中,加入中位值平均滤波法,这样可以提高滤波的性能。要依据实际情况,灵活选用。

3 软体陷阱技术

抗干扰技术中“软件陷阱”技术是一条引导指令,该指令的作用是强行将捕获的程序指向一个固定的地址,在该地址中有专门用来处理的一段错误。如果用ERROR来标识该程序的入口,LJMP ERROR即为软件陷阱,在它前面加两条NOP指令来加强其捕获效果。

一个软件陷阱由三条指令组成:

NOP

NOP

LJMPERROR

一般的软件陷阱安排在系统的如下位置:

(1)安排在系统未使用的中断区。单片机系统有未使用的中断向量区,为了捕捉到系统错误的中断,可在该系统未使用的中断区安排软件陷阱。

(2)安排在系统未使用的EPROM区域。EPROM区域中存在未编程的空闲空间,初始内容为OFFH,对MCS-51单片机系统来讲,当某段程序跑飞到此区域后,它将向后运行,停止跳跃。在未使用的EPROM空间中,系统设若干个个陷阱,就能利用它捕捉到跑飞的程序。

(3)安排在表格的最后。为了保护表格与检索值的对应关系,不能在表格中间随意安排陷阱,可以在表格的最后安排陷阱。对于比较大的表格,最后的陷阱未必能捕获到跑飞的程序,在中途它有可能再次跑飞。

(4)安排在程序区。在系统程序区不能随意设置陷阱,可以利用各模块之间的空余单元来设置陷阱,避免影响程序的正常运行。当陷阱区捕获到跑飞的程序,就会拉回它到正确的轨道。陷阱的位置通常设置在正常程序执行不到的区域,故不会影响系统的正常运行。

4 “看门狗”技术

在程序正常运行执行不到的区域安排软件陷阱,系统一般不会受到影响。但是当系统受到干扰后失控,程序将形成死循环,软件陷阱和冗余指令无法解决死循环问题,这时通过程序监控技术,强迫程序返回到指定的入口,用出错处理程序使其正常运行,这种模仿人工监测的技术,又称为“看门狗”技术。

例如:“看门狗”技术采用8031的定时器T0,除了TO的溢出中断设为高级,剩下的中断均设为低级,使用6M的时钟,用如下的程序使T0定时(约10ms)形成“看门狗”,跑飞的程序无法执行指令,在该时间内将产生T0溢出中断,系统安排LJMP ERR指令在T0的中断向量区,转移到出错处理程序,来处理各种善后工作。

(1)置TO为16位定时器MOVTMOD,#OIH;

(2)允许T0中断SETB ETO;

(3)设置T0为高级中断SETB PT0;

(4)定时约10ms MOV THO,#OEOH;

(5)启动T0 SETB TRO;

(6)开中断SETB EA;

5 结束语

工业单片机测控系统在引入了软件抗干扰技术后,一些棘手的问题就迎刃而解;但是不同的工业现场,环境和干扰源也各不相同。因此要仔细分析现场的干扰现象,不断的实验和总结,采取对应的措施,应地制宜,灵活运用,更好的提高系统的稳定性和可靠性。

参考文献

[1]陈中,陈冲.基于MSP430单片机的控制系统[M]清华大学出版社,2017(06).

[2]陈中,顾春雷.沈翠凤基于AVR单片机的控制系统设计[M].清华大学出版社,2016(03).

[3]高艺,郭振武.51单片机原理及应用技术[M].化学工业出版社,2016(08).

猜你喜欢

抗干扰技术单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
测控仪器中抗干扰技术及应用策略探究
浅析电梯视频监控系统抗干扰技术
浅析电梯视频监控系统抗干扰技术
Microchip推出两个全新PIC单片机系列