软件抗干扰技术及其在单片机上的应用
- 格式:doc
- 大小:196.00 KB
- 文档页数:6
智能仪表常用的软件抗干扰措施在实际应用中,干扰信号可能影响到智能仪表的CPU、程序计数器(PC)或RAM等,导致程序运行失常。
因此,在设计智能仪表时除了在硬件方面采取抗干扰措施外,必须考虑软件的抗干扰措施。
干扰对软件的影响有两个方面,即程序运行失常和数据受干扰而发生变化。
单片机系统受到干扰后,会使RAM、程序计数器或总线上的数字信号错乱,从而引发一系列不良后果。
CPU得到错误的数据,就会使运行操作出错,导致错误结果,并将错误一直传递下去,形成一系列错误。
如果CPU获得错误地址信息,会使程序失控,即便此后程序恢复到正常状态,但是已经造成不良后果,埋下隐患,最终导致后续程序出错。
同时,如果干扰改变RAM以及特殊功能寄存器的状态,可能导致数值误差,改变程序状态,引起误动作。
软件抗干扰的任务在于CPU抗干扰技术和输入输出的抗干扰技术两方面。
前者主要是防止因干扰造成的程序“跑飞”,后者主要是消除信号中的干扰以便提高系统准确度。
1、数字滤波技术随机干扰会使仪表产生随机误差。
随机误差是指在相同条件下测量某一量时,其大小符号作无规律变化的误差,但随机误差在多次测量中服从统计规律。
在硬件设计中可以模拟滤波器来削弱随机误差,但是它在低频、甚低频时实现较困难。
数字滤波可以完成模拟滤波的功能,而且与模拟滤波相比,它具有如下优势:数字滤波是用程序实现的,无须添加硬件,可靠性高,稳定性好,不存在阻抗匹配的问题,而且多个输入通道可以共用,从而降低系统硬件成本;可以根据需要选择不同的滤波方法或改变滤波器的参数,使用灵活方便;数字滤波器可以对频率很低的信号进行滤波,而模拟滤波由于受电容容量的限制,频率不能太低。
常用的数字滤波算法有程序判断滤波、中值滤波、算术平均值滤波、滑动平均值滤波、加权滑动平均滤波、一阶惯性滤波等。
(1)程序判断滤波经验说明,许多物理量的变化都需要一定时间,相邻两次采样值之间的变化有一定的限度。
程序判断滤波的方法,便是根据生产经验,确定出相邻两次采样信号之间可能出现的偏差ΔY。
244 •电子技术与软件工程 Electronic Technology & Software Engineering单片机技术• SCM Technology【关键词】单片机 抗干扰技术 数字滤波技术1 引言如图1所示,单片机测控系统是在程序化管理下形成的测控系统,它可以在工业生产过程中提高机械控制的效率。
但是,工业现场环境复杂,具有电磁功能的大量设备频繁启动、停止,产生的干扰影响了单片机系统的正常运行。
本文针对单片机测控系统中的抗干扰问题,单片机测控系统中的软件抗干扰技术文/陈欣从软件抗干扰技术方面进行了分析和研究,并提出了解决方案。
工业单片机测控系统的常见影响如下:1.1 干扰加大数据采集的误差测试系统通道的输入部分受到干扰信号的入侵,有用信号和外来干扰信号相互叠加,加剧了该通道数据采集的误差。
尤其在当前系统输入的是小电压信号时,数据干扰的现象更加严重。
1.2 干扰使数据发送变化单片机系统中的程序是存放在存储器EPROM 中,这些程序不易发生变化。
但是单片机系统的RAM 数据区是可以读写的,它可能会受到读入信息的干扰从而发生变化。
因为干扰渠道的区别,以及数据性质的区别,单片机系统受损害的情况也各不相同,可能造成控制失灵,也可能造成数值误差,更严重的会改变单片机系统某些部件(如串行口、定时器/计数器等)的运行状态等。
1.3 干扰使控制状态失灵在单片机系统中,控制状态依赖于特定条件的输入状况和处理结果,干扰的侵入会造成条件状态错误,引起虚假的信号,从而加大输出控制的误差,甚至控制失常。
1.4 干扰使程序运行失常单片机系统正常运行的前提是CPU 正常工作,如果干扰信号影响到了CPU ,则程序计数器不能正常运行,从而引起系统混乱、控制失灵,即通常说的程序“跑飞”。
现在使用的单片机抗干扰技术主要分为硬件与软件两类。
硬件抗干扰技术固然可以降低系统受干扰的程度,但是成本较高,灵活性不足,而且容易受电磁干扰。
第五章单片机应用系统的抗干扰技术设计§5.1 干扰源我们要进行抗干扰措施,首先就得仔细研究干扰产生的原因、途径,掌握或了解其规律后,才能有针对性地提出各种抗干 / 扰的理论和措施。
5.1.1干扰与噪声的区别(1> 噪声是绝对的,它的产生或存在不受接收者的影响,是独立的,与有用信号无关。
干扰是相对有用信号而言的,只有噪声达到一定数值、它和有用信号一起进入应用系统并影响其正常工作时才形成干扰。
(2> 干扰在满足一定条件时,可以消除;噪声在一般情况下,难以消除,只能减弱。
5.1.2分类根据产生干扰的物理原因,干扰可以分为如下几种类型:机械干扰、热干扰、光干扰、湿度干扰、化学干扰、电和磁的干扰、射线辐射干扰。
其中,电和磁的干扰是最为普遍和严重的干扰,下面对电磁干扰作重点论述。
电磁干扰的分类:(1> 从噪声产生的来源分类可以分为:错误!固有噪声源固有噪声是指器件内部物理性的无规则波动所形成的噪声。
错误!人为噪声源人为噪声源主要是各种电气设备所产生的噪声,主要有以下几种:1. 工频噪声,大功率输电线是典型的工频噪声源。
低电平的信号线只要有一段长度与输电线平行,就会受到明显的干扰;即使一般室内的交流电源线,对输入阻抗低和灵敏度高的传感器来说也会是很大的干扰源。
在传感器的内部,由于工频感应也会产生交流噪声,它所形成的干扰也不可忽视。
2. 射频噪声,高频感应加热、高频焊接等工业电子设备以及广播、电视、雷达及通信设备等通过辐射或通过电源线会给附近的传感器系统带来干扰。
3. 电子开关,由于电子通断的速度极快,使电路中的电压和电流发生急剧的变化,形成冲击脉冲,从而成为噪声干扰源。
错误!自然噪声源和放电噪声自然噪声主要指天电形成的放电现象。
放电现象的起因不仅是天电,还有各种电气设备所造成的,主要有:电晕放电、火花放电、放电管放电等。
(2> 从干扰的出现区域来分可分为内部干扰和外部干扰。
(3> 从干扰对电路作用的形成分类错误!差模干扰也称为串联干扰,差模干扰进入电路后,使传感器系统 / 的一个信号输入端子相对于另一个信号输入端子的电位发生变化,即干扰信号与有用信号按电势源串联起来作用于输入端。
单片机抗干扰措施概述在单片机应用中,抗干扰是一个非常重要的问题。
由于电磁干扰的存在,单片机可能会受到干扰信号的影响,导致系统的性能下降甚至功能失效。
因此,为了确保单片机系统的稳定运行,需要采取一些抗干扰措施。
本文将介绍单片机常见的抗干扰措施,包括软件抗干扰措施和硬件抗干扰措施。
软件抗干扰措施1. 外部中断和定时中断技术外部中断是单片机接收外部信号的一种方式,通过设置中断触发条件,当接收到特定信号时触发中断处理程序。
通过使用外部中断技术,可以及时响应干扰信号的触发,进行干扰处理。
定时中断也是一种常见的抗干扰措施。
通过设置定时器,定时生成中断信号,进行对干扰信号的定时处理。
2. 硬件监控和重启单片机系统中,可以通过硬件监控电压、温度、电流等参数,并根据监控结果采取相应措施。
例如,如果电压过高或过低,可以通过监控电源电压的方式,自动重启系统,以恢复正常运行。
3. 硬件看门狗硬件看门狗是一种常见的抗干扰措施。
通过设置看门狗定时器,在预设时间内必须向看门狗喂狗,否则看门狗将复位单片机。
看门狗能够有效监控单片机运行,并在系统崩溃或运行异常时进行自动重启。
硬件抗干扰措施1. 接口屏蔽和过滤对于单片机与外部设备接口,可以通过屏蔽和过滤的方式降低干扰信号的影响。
接口屏蔽是通过在接口线上添加屏蔽层,减少干扰信号对于单片机的干扰。
常见的屏蔽层材料包括金属层、导电胶和导电纤维等。
接口过滤是通过添加滤波器或滤波电路,降低接口信号中的干扰成分。
常见的滤波器包括低通滤波器和带阻滤波器等。
2. 地线设计在单片机系统中,地线设计也是一个重要的抗干扰措施。
合理地划分地线,避免地线回路产生环形,可以有效减少共模干扰。
3. 电源干扰削弱技术电源干扰是单片机系统中常见的干扰源之一。
为了降低电源干扰,可以采取以下措施:•过滤电源线,加装滤波电容和滤波电阻,降低电源中的高频干扰成分。
•使用稳压器或电源滤波器,确保电源稳定,并降低电源线上的干扰噪声。
单片机系统抗干扰应用实例本文在分析MAX813L工作原理的基础上,结合实践给出了其在51单片机系统中的具体抗干扰应用实例。
详细介绍了硬件电路的工作原理和相应的系统程序抗干扰编程方法。
[摘要] 文章介绍了MAX813L的性能特点和工作原理,并给出了在51单片机系统抗干扰中的具体应用实例,详细介绍了硬件连接电路和相应的软件抗干扰编程技巧。
[关键词] MAX813L;抗干扰;单片机近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。
与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。
影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。
其中系统的抗干扰性能是系统可靠性的重要指标。
1 MAX813L芯片及其工作原理1.1 芯片特点· 加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为200 ms。
· 独立的看门狗输出,如果看门狗输入在1.6 s内未被触发,其输出将变为高电平。
· 1.25 V门限值检测器,用于电源故障报警、电池低电压检测或+5 V以外的电源监控。
· 低电平有效的手动复位输入。
· 8引脚DIP封装。
1.2 MAX813L的引脚及功能1.2.1 MAX813L芯片引脚排列见图1—11.2.2 各引脚功能及工作原理(1)手动复位输入端当该端输入低电平保持140 ms以上,MAX813L就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。
与TTL/CMOS兼容。
(2)工作电源端(VCC):接+5V电源。
(3)电源接地端(GND):接0 V参考电平。
(4)电源故障输入端(PFI)当该端输入电压低于1.25 V时,5号引脚输出端的信号由高电平变为低电平。
(5)电源故障输出端电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。
单片机抗干扰设计技术摘要:介绍了单片机应用系统在工业现场中的千扰和这些干扰产生的影响,以及硬件和软件抗干扰技术的应用。
关键词:单片机;抗干扰;硬件;软件单片机由于其优异的性能价格比,被广泛地应用于各个领域。
对于工业控制、医疗器械、通讯等场合,单片机的可靠性的要求越来越高。
随着单片机种类越来越多,其功能越来越完善,硬件的设计也变得越来越简单。
但在实验室里设计的控制系统,在安装、调试后完全符合设计要求,但把系统置入现场后,系统常常不能够正常稳定地工作。
产生这种情况的原因主要是现场环境复杂和各种各样的电磁干扰,所以单片机应用系统的可靠性设计、抗干扰技术的应用变得越来越重要了。
1 干扰的来源和后果工业现场环境中干扰是以脉冲的形式进入单片机系统,其主要的渠道有三条,即空间干扰,供电系统干扰,过程通道干扰。
空间干扰多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰以电源的噪声干扰引起的;过程通道干扰是干扰通过前向通道和后向通道进入系统。
干扰一般沿各种线路侵入系统。
系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输入输出线路的绝缘损坏均有可能引入干扰。
干扰产生的后果:(1)数据采集误差的加大当干扰侵入单片机系统的前向通道叠加在信号上,会使数据采集误差增大,特别是前向通道的传感器接口是小电压信号输入时,此现象会更加严重。
(2)程序运行失常①控制状态失灵在单片机系统中,由于干扰的加入使输出误差加大,造成逻辑状态改变,最终导致控制失常。
②死机在单片机系统受强干扰后,造成程序计数器PC值的改变,破坏程序正常运行。
(3)系统被控对象误操作①单片机内部程序指针错乱,指向了其它地方,运行了错误的程序;②RAM中的某些数据被冲乱或者特殊寄存器的值被改变,使程序计算出错误的结果。
中断误触发,使系统进行错误的中断处理。
(4)被控对象状态不稳定锁存电路与被控对象间的线路(包括驱动电路)受干扰,从而造成被控对象状态不稳定。
单片机抗干扰措施单片机在实际应用中,由于周围环境的电磁干扰和电源干扰等原因,很容易受到各种干扰信号的影响,从而导致系统不稳定、运行异常甚至崩溃。
为了保证单片机正常工作和提高系统稳定性,需要采取一系列的抗干扰措施。
本文将从硬件和软件两方面,重点讨论单片机的抗干扰措施。
1.电源滤波器:在单片机外围电路中添加电源滤波器,用于滤除电源中的高频和低频噪声。
常见的电源滤波器有电容滤波器和电感滤波器等。
其中,电容滤波器可以滤除高频噪声,而电感滤波器可以滤除低频噪声。
2.地线设计:合理布局地线,减小地线回路的面积。
在单片机电路中,地线是一个重要的参考信号,合理设计地线可以减小电磁干扰。
同时,还可以采用单点接地的方式,将各个模块的地线连接在一起,减少地线回路的面积。
3.信号线布线:将信号线与电源线和高功率线分开布线,避免相互干扰。
信号线间的距离尽量保持一定的间隔,可以有效减小电磁干扰。
4.屏蔽:对于特别敏感的模拟信号线,可以采用屏蔽措施,如采用屏蔽线、屏蔽罩等。
屏蔽可以防止外界电磁干扰对信号线的影响。
5.滤波电容:在单片机电路中,可以在需要进行滤波的信号线两端串联一个滤波电容,用于滤除高频噪声。
常见的滤波电容有电容器和电容二极管等。
6.增加抗干扰电路:可以在单片机电路中添加抗干扰电路,如抗干扰电容、抗干扰电感等。
这些电路可以有效地抑制外界干扰信号。
7.使用稳压器:在单片机电路中,可以使用稳压器来提供稳定的电压,防止电源干扰引起的系统不稳定。
1.软件滤波:在单片机程序中,可以通过软件滤波的方式来滤除干扰信号。
例如,在读取模拟传感器信号时,可以进行多次采样并求平均值,以减小采样误差和滤除干扰。
2.软件延时:在一些对实时性要求不高的任务中,可以通过软件增加适当的延时,以减小干扰对系统的影响。
例如,在控制器输入信号采样之前,可以先进行一段延时。
3.软件重发:对于容易受到干扰的信号,可以通过软件重发的方式来提高信号的可靠性。
试析单片机应用中的抗干扰技术与方法摘要:单片机抗干扰技术是单片机应用系统中需要首先进行考虑的技术问题,它对于单片机应用的稳定性和可靠性有着很大的影响和作用。
本文主要结合干扰作用对于单片机系统的不利影响情况,对于单片机应用系统中比较常见的集中抗干扰技术与方法进行分析论述,以提高单片机应用中的抗干扰技术水平,保证单片机运行应用的稳定性与可靠性。
关键词:单片机系统软件工业领域抗干扰技术方法分析中图分类号:tp368.1 文献标识码:a 文章编号:1007-9416(2013)01-0025-02单片机应用系统在工业领域环境中的应用比较广泛和普遍。
通常情况下,单片机应用系统在进行仿真调试以及实验室内部的联机运行应用中,运行稳定性与可靠性都比较高,但是在进行工业环境领域的实际运行应用时,由于工业环境领域内部本身的干扰因素比较多并且复杂,容易造成单片机应用系统运行中出现一些这样或者是那样的不可控制问题,对于单片机系统设备的可靠、稳定运行有着很大的不利影响。
本文主要在对于单片机应用系统的干扰影响分析下,针对比较常见的几种单片机应用系统抗干扰技术和方法进行分析论述,以提高单片机系统中的抗干扰技术水平。
1 干扰作用对于单片机系统的影响分析随着社会经济与工业生产不断发展,单片机系统不仅在工业生产领域应用越来越广泛,而且在智能化仪表以及监控系统领域中的应用数量也越来越多,因此,对于单片机系统运行可靠性与稳定性的要求也就越来越高。
通常情况下,在单片机系统运行过程中,对于单片机系统运行可靠性与稳定性产生影响的因素有很多,而单片机系统的抗干扰能力是影响系统可靠性和稳定性的最重要因素。
根据干扰作用对于单片机系统运行稳定性与可靠性的影响情况来看,形成干扰影响的单片机系统运行可靠性干扰作用,主要有单片机系统运行环境中的放电干扰以及高频振荡干扰、电磁干扰、浪涌干扰等,这些干扰作用主要来自单片机系统工作运行的环境,不仅容易造成单片机系统程序的运行出现混乱,而且还会导致单片机系统中的硬件控制失灵以及数据采集出现较大误差,对于带有音频以及视频信号的应用系统中,干扰作用还会造成单片机应用系统出现声音失真或者是图像串色、串扰等问题,对于单片机系统的正常可靠运行有着很大的危害作用。
软件抗干扰技术及其在单片机上的应用
2008-04-28 21:18
软件抗干扰技术及其在单片机上的应用
黄鑫,宋洋
(中国空空导弹研究院河南洛阳471009)
1 引言
微机测控系统中,对软件有以下几个方面的基本要求:
(1)可维护性:要求尽可能地采用模块化设计,程序流程清晰明了,最大限度地控制使用和调用嵌套次数;
(2)可理解性:软件源代码应注意加注提示内容,一般应不少于整个代码行数的60%,使其易于理解和阅读,便于修改和补充;
(3)实时性:随着集合度和运算速度的提高,实时性已经成为测试系统对软件的普遍要求,在工程应用软件设计中,采用汇编语言要比采用高级语言更具有实时性;
(4)准确性:系统要求在进行大量运算时,要选取合适的算法,以便控制最后结果的精度;
(5)可靠性:可靠性是测控软件最重要的指标之一,他要求两方面的内容:一方面是运行参数环境发生变化时(如电压在规定范围内出现较大波动),软件都能可靠运行并得出正确的结果,也就是软件的自适应性;另一方面是在工作环境恶劣,干扰环境复杂严重的情况下,软件必须保证可靠运行,这对测控软件尤为重要。
为了保证以上两方面的要求,就必须使用多种抗干扰技术。
2软件抗干扰技术及一般方法
2.1 简介
软件抗干扰技术是当系统受干扰后,使系统恢复正常运行或输入信号受干扰后去伪存真的一种辅助方法。
此技术属于一种被动抗干扰措施,但是由于软件抗干扰设计灵活,节省硬件资源,操作起来方便易行,所以软件抗干扰技术越来越受到人们的重视。
软件抗干扰技术主要研究的方面:
(1)采取软件的方法对叠加在模拟输入信号上的噪声进行抑制,以读取真正有用的信息,如数字滤波器;
(2)在程序受到干扰"跑飞"的情况下,采取措施使程序回到正常的轨道上来,常见的抗干扰技术有:软件拦截技术(软件陷阱等);输人口信号重复检测方法;输出口数据刷新;数字滤波;
(3)程序具有自检功能。
2.2软件拦截技术
2.2.1 NOP指令使用
单片机中最容易受到干扰的是内部程序计数器--PC的值,当受到干扰时,PC值被改变,CPU误将程序从正确位置跳转到无意义区域,导致程序运行出错。
目前常用的方法是在对程序走向有重要作用的指令(RET,LCALL,SJMP,JC,LJMP,ACALL等)之前加人2~3个单字节的NOP指令,当失控的程序遇到该指令后得到调整,使接下来的程序得以正常执行。
从实际使用过程中总结可知,应尽量多的使用NOP指令,而且发现NOP指令成对使用时,能起到比较满意的抗干扰效果。
2.2.2 软件陷阱
(1)未使用的中断区
对于未使用的中断源因干扰而开放,从而直接影响软件的正常工作的中断源,采用的方法一般是在对应的中断服务地址入口处设置软件陷阱,使其跳转到程序入口,通常的软件陷阱设置如下面的程序: 0RG 0003H
LJMP 0000H ;主程序入口
而在实际使用中,此种处理方法并不合适,特别是在系统联试中,突然重新执行程序的情况应尽量避免。
实际处理应该是让其进入一个信息处理程序,并显示相关信息。
这样做既可以使程序捕捉到错误的中断后,及时离开,又可以根据相关信息快速定位便于试验顺利进行。
如程序所示,只有定时器T0中断开放,对于可能影响程序的中断,如外部中断、定时器T1中断,在其中断地址人口,均加上了软件陷阱,使其跳转到ER38这个故障处理程序,从而避免程序的"跑飞",也便于判断程序的走向。
(2)未使用的EPROM空间
当装载软件程序的存储芯片为27C64,其地址空间为0000H~1FFFFH,一般程序很少能够用完,可填充"FF"。
而FFH是MOV R7,A的机器码,当程序乱入非程序区后,不仅无法转入正轨,而且还会破坏R7的内容,因此在实际使用过程对未使用的EPROM空间应全部填充为"0",因为程序复位入口地址为0000H,当"跑飞"的程序指针跳至无程序处,可以让其重新指向主程序入口,可以起到防"跑飞"的功能。
(3)程序区
为了保证可靠的运行,以及一旦发生"跑飞",不但使其有出口而且便于判断,实际应用中在整个程序中设置了若干软件陷阱,当程序进入陷阱后,让其强制进入一个指定地址执行一段专门对程序出错进行处理的程序。
通过试验验证和使用中的经验总结,在外场软件编写中,软件陷阱的设置,主要是在正常的程序流程中,在认为较为重要的程序段中,随机设置若干个故障信息显示程序区,一方面是完成正常的故障信息的显示,另一方面就是在程序"跑飞"的情况下,通过故障信息的显示,可以快速判断"跑飞',的程序段,从而使程序步入正轨。
程序流程如图1所示。
2.2.3 输入口信号重复检测方法
对于重要开关量输入信号的检测,实际应用中一般采用3次或5次重复检测的方法,即对接口中的输人数据信息进行重复进行3次或5次检测,若结果完全一致则认为是"真"的输入信号,若多次测试结果不一致,即可以停止检测显示故障信息,又可以重复进行再检测。
对于软件测量而言,输入量干扰大多数是叠加到有效信号上的一系列作用时间短的尖脉冲,但是频率不一致,因此应在相邻的检测之间应有一定的时间间隔。
理论上可以是等时间段的,而在实际使用过程中,由于外部环境比较复杂,等时间段只能滤除某个频段的干扰,为了滤除尽可能多的干扰,间隔时间应为不等的时间段,但是对数据影响较大的尖峰,通过观察其波形可知,其作用的时间宽度在几十到几百μs之间,所以把滤波时间限定ms级上。
在经过使用和验证,此方法可以有效地保证软件可靠运行。
需要注意的是,对于软件时序要求比较严格场合,延时查询时间不宜过长,查询次数一般以3次为宜。
程序流程如图2所示。