微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 软件抗干扰技术及其在单片机上的应用

软件抗干扰技术及其在单片机上的应用

时间:05-30 来源:互联网 点击:

重复进行再检测。

对于软件测量而言,输入量干扰大多数是叠加到有效信号上的一系列作用时间短的尖脉冲,但是频率不一致,因此应在相邻的检测之间应有一定的时间间隔。理论上可以是等时间段的,而在实际使用过程中,由于外部环境比较复杂,等时间段只能滤除某个频段的干扰,为了滤除尽可能多的干扰,间隔时间应为不等的时间段,但是对数据影响较大的尖峰,通过观察其波形可知,其作用的时间宽度在几十到几百μs之间,所以把滤波时间限定ms级上。在经过使用和验证,此方法可以有效地保证软件可靠运行。需要注意的是,对于软件时序要求比较严格场合,延时查询时间不宜过长,查询次数一般以3次为宜。

程序流程如图2所示。

2.2.4输出端口数据刷新

开关量输出软件抗干扰技术主要采用的方法是重复输出,这是提高输出端口稳定性的有效措施之一。外场设备的微机系统为51单片机系统,采用了8155,8255可编程I/O扩展芯片,理论上只在上电启动时,进行初始化一次即可。但是在实际使用中发现,由于干扰等原因,可使芯片的工作控制字遭到破坏,从而使系统输入输出状态混乱的情况时有发生,因此,在读取重要信号之前,先对8155,8255进行初始化操作,通过一段时间软件运行,稳定度大大提高,但是状态混乱情况仍有发生,经过分析数据特点和系统要求后,认为8155、8255允许多次设置状态字、控制字等,而且对系统并无不良影响。因此,在实际应用中,用到8255和8155之前均首先进行初始化操作,然后再进行状态的读取和写入。通过长时间试验和联试,不再出现此类问题,软件运行稳定可靠。另外应注意,在重复设置8255,8155芯片时,一定要将其工作方式、控制字一起设置,方可确保软件可靠工作。程序流程如图3所示。

2.2.5数字滤波

为了克服干扰对A/D转换结果的影响,可根据情况采取相应的数字滤波技术。数字滤波的方法很多,如有中值滤波法、平均值滤波法等,经过对不同滤波法的实际使用和试验验证,认为采用防脉冲干扰平均值滤波法,抗干扰效果比较明显。

普通的平均值滤波,在干扰十分严重的场合,所得到的平均值中干扰的成分仍比较大,不易消除由于脉冲干扰而引起的误差。而防脉冲干扰平均值滤波是在采集的N个数据中,去掉数据中的最大值和最小值,然后计算N-2个数据的算术平均值。在实际应用中,此法主要是用在AD值的检测上,由于外场设备中AD采集值判定,直接影响此设备能否投入使用,所以对所采AD值的可靠性要求高,采用此滤波法后,通过仿真可以清楚看出,在某些特定

的情况下,AD采集值波动较大,但此法可以有效地避免了CPU对采集值的误判,使软件得以可靠运行。

程序流程如图4所示,此程序完成的主要功能是调用A/D测量输入子程序ACD,将循环采集的6个AD值,放在70H至75H的寄存器中,RO为记录采集次数,70H和75H分别放置最大值和最小值,去除最大值和最小值后,将其余4个值求算术平均数,以得到的值为最终AD采集值放在68H寄存器中。

2.2.6程序自检

程序自检是提高测控软件可靠性的有效方法之一。在实际应用中,自检程序主要是对单片机系统的主要器件如8031的I/O口、外部扩展的可编程I/O接VI芯片、A/D器件、ROM器件等进行检测,如出现故障能够给出故障部位。因此自检程序不但可以了解与测试相关外设的工作情况,而且可避免因外设原因而使测控系统不能正常工作的干扰。

3结语

在采取以上所述的多种软件抗干扰技术,经过外场的沙尘、云雪的考验和干扰复杂、严重的环境下验证,完全可以保证软件可靠运行。但是同时需要说明的是,软件抗干扰技术只是被动的方式,只有在硬件没计合理的情况下,使用适当的抗干扰技术,才能更有效地保证软件可靠地工作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top