单片机软件抗干扰方法
- 格式:doc
- 大小:19.00 KB
- 文档页数:5
单片机系统抗干扰技术措施徐本升(七煤(集团)公司社保局,黑龙江七台河154600)廛屉科夔[}商要]单片机系统主要由信号检测部分、信号处理及控制部分、控制信号驱动部分、拳统零毒部分、显示部分组成。
干扰的种类主要来自系统内部元器件在系统中的状态和系统外部其它电气设备产生的干抚。
硬件抗干扰措施是电潺的抗干扰设计,屏蔽抗干技技术,双绞线及光纤的使用,去耦电路。
软件抗干就措-旌旋出错处理程序,建立软件陷阱,使用空操作指令。
‘‘、联蠢建i司]单片机;系统;抗干扰技术‘,单片机应用系统的硬件电路构成比较复杂、所用元件品种繁多,有的工作场所环境比较差,由于这些原因,为了保证单片机应用系统能够在各种环境下能正常运行,系统的抗干扰性就是一个非常重要的指标。
抗干扰就是针对干扰产生的性质、传播途径、侵入的位置和侵入的形式,采取相应的方法消除干扰源,抑制干扰传播途径,减弱电路或元件对噪声干扰的敏感性,使单片机系统能在线正常、稳定地运行。
1单片机系统的组成一个单片机应用系统的硬件电路是由如下几个部分构成的:1)信号检测部分:2)信号处理及控制部分:3)控制信号驱动部分;4)系统交互部分;5)显示部分。
由此可见一个单片机应用系统的成分是相当复杂的,从各种类型的传感器到名目繁多的各种继电器接触器、电磁阀,从类型繁多的集成电路到各种各样的耦合器件、执行部件、显示器件等。
2干扰的种类干扰就是叠加在有用信号上的不需要的信号。
是影响路正常工作的另一种噪声。
干扰以某种电信号的形式,通过一的渠道。
混入有用信号中侵人单片机系统,造成系统工作不稳定在各种实际环境中,干扰总是存在的,这些干扰能降低电子系统准确性甚至破坏其可靠性。
干扰有两种:一是来自系统内部元器件在工作时产生的干扰通过地址、电源线、信号线,分布电容和电感等传输,影响系统工状态。
二是来自系统外部其它电气设备产生的干扰。
通过传导辐射等途径影Ⅱ向单片机系统的正常工作。
干扰对单片机应用系统的作用有3个部位:1)输入系统。
如何解决单片机的抗干扰问题随着单片机的发展,单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。
然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连,相互影响,由于运行方式的改变,故障,开关操作等引起的电磁振荡会波及很多电气设备。
这对我们单片机系统的可靠性与安全性构成了极大的威胁。
单片机测控系统必须长期稳定、可靠运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大损失。
因此单片机的抗干扰问题已经成为不容忽视的问题。
1 干扰对单片机应用系统的影响1.1测量数据误差加大干扰侵入单片机系统测量单元模拟信号的输入通道,叠加在测量信号上,会使数据采集误差加大。
特别是检测一些微弱信号,干扰信号甚至淹没测量信号。
1.2 控制系统失灵单片机输出的控制信号通常依赖于某些条件的状态输入信号和对这些信号的逻辑处理结果。
若这些输入的状态信号受到干扰,引入虚假状态信息,将导致输出控制误差加大,甚至控制失灵。
1.3 影响单片机RAM存储器和E2PROM等在单片机系统中,程序及表格、数据存在程序存储器EPROM或FLASH中,避免了这些数据受干扰破坏。
但是,对于片内RAM、外扩RAM、E2PROM 中的数据都有可能受到外界干扰而变化。
1.4 程序运行失常外界的干扰有时导致机器频繁复位而影响程序的正常运行。
若外界干扰导致单片机程序计数器PC值的改变,则破坏了程序的正常运行。
由于受干扰后的PC 值是随机的,程序将执行一系列毫无意义的指令,最后进入“死循环”,这将使输出严重混乱或死机。
2 如何提高我们设备的抗干扰能力2.1 解决来自电源端的干扰。
第五章单片机应用系统的抗干扰技术设计§5.1 干扰源我们要进行抗干扰措施,首先就得仔细研究干扰产生的原因、途径,掌握或了解其规律后,才能有针对性地提出各种抗干 / 扰的理论和措施。
5.1.1干扰与噪声的区别(1> 噪声是绝对的,它的产生或存在不受接收者的影响,是独立的,与有用信号无关。
干扰是相对有用信号而言的,只有噪声达到一定数值、它和有用信号一起进入应用系统并影响其正常工作时才形成干扰。
(2> 干扰在满足一定条件时,可以消除;噪声在一般情况下,难以消除,只能减弱。
5.1.2分类根据产生干扰的物理原因,干扰可以分为如下几种类型:机械干扰、热干扰、光干扰、湿度干扰、化学干扰、电和磁的干扰、射线辐射干扰。
其中,电和磁的干扰是最为普遍和严重的干扰,下面对电磁干扰作重点论述。
电磁干扰的分类:(1> 从噪声产生的来源分类可以分为:错误!固有噪声源固有噪声是指器件内部物理性的无规则波动所形成的噪声。
错误!人为噪声源人为噪声源主要是各种电气设备所产生的噪声,主要有以下几种:1. 工频噪声,大功率输电线是典型的工频噪声源。
低电平的信号线只要有一段长度与输电线平行,就会受到明显的干扰;即使一般室内的交流电源线,对输入阻抗低和灵敏度高的传感器来说也会是很大的干扰源。
在传感器的内部,由于工频感应也会产生交流噪声,它所形成的干扰也不可忽视。
2. 射频噪声,高频感应加热、高频焊接等工业电子设备以及广播、电视、雷达及通信设备等通过辐射或通过电源线会给附近的传感器系统带来干扰。
3. 电子开关,由于电子通断的速度极快,使电路中的电压和电流发生急剧的变化,形成冲击脉冲,从而成为噪声干扰源。
错误!自然噪声源和放电噪声自然噪声主要指天电形成的放电现象。
放电现象的起因不仅是天电,还有各种电气设备所造成的,主要有:电晕放电、火花放电、放电管放电等。
(2> 从干扰的出现区域来分可分为内部干扰和外部干扰。
(3> 从干扰对电路作用的形成分类错误!差模干扰也称为串联干扰,差模干扰进入电路后,使传感器系统 / 的一个信号输入端子相对于另一个信号输入端子的电位发生变化,即干扰信号与有用信号按电势源串联起来作用于输入端。
单片机抗干扰措施概述在单片机应用中,抗干扰是一个非常重要的问题。
由于电磁干扰的存在,单片机可能会受到干扰信号的影响,导致系统的性能下降甚至功能失效。
因此,为了确保单片机系统的稳定运行,需要采取一些抗干扰措施。
本文将介绍单片机常见的抗干扰措施,包括软件抗干扰措施和硬件抗干扰措施。
软件抗干扰措施1. 外部中断和定时中断技术外部中断是单片机接收外部信号的一种方式,通过设置中断触发条件,当接收到特定信号时触发中断处理程序。
通过使用外部中断技术,可以及时响应干扰信号的触发,进行干扰处理。
定时中断也是一种常见的抗干扰措施。
通过设置定时器,定时生成中断信号,进行对干扰信号的定时处理。
2. 硬件监控和重启单片机系统中,可以通过硬件监控电压、温度、电流等参数,并根据监控结果采取相应措施。
例如,如果电压过高或过低,可以通过监控电源电压的方式,自动重启系统,以恢复正常运行。
3. 硬件看门狗硬件看门狗是一种常见的抗干扰措施。
通过设置看门狗定时器,在预设时间内必须向看门狗喂狗,否则看门狗将复位单片机。
看门狗能够有效监控单片机运行,并在系统崩溃或运行异常时进行自动重启。
硬件抗干扰措施1. 接口屏蔽和过滤对于单片机与外部设备接口,可以通过屏蔽和过滤的方式降低干扰信号的影响。
接口屏蔽是通过在接口线上添加屏蔽层,减少干扰信号对于单片机的干扰。
常见的屏蔽层材料包括金属层、导电胶和导电纤维等。
接口过滤是通过添加滤波器或滤波电路,降低接口信号中的干扰成分。
常见的滤波器包括低通滤波器和带阻滤波器等。
2. 地线设计在单片机系统中,地线设计也是一个重要的抗干扰措施。
合理地划分地线,避免地线回路产生环形,可以有效减少共模干扰。
3. 电源干扰削弱技术电源干扰是单片机系统中常见的干扰源之一。
为了降低电源干扰,可以采取以下措施:•过滤电源线,加装滤波电容和滤波电阻,降低电源中的高频干扰成分。
•使用稳压器或电源滤波器,确保电源稳定,并降低电源线上的干扰噪声。
单片机抗干扰措施单片机在实际应用中,由于周围环境的电磁干扰和电源干扰等原因,很容易受到各种干扰信号的影响,从而导致系统不稳定、运行异常甚至崩溃。
为了保证单片机正常工作和提高系统稳定性,需要采取一系列的抗干扰措施。
本文将从硬件和软件两方面,重点讨论单片机的抗干扰措施。
1.电源滤波器:在单片机外围电路中添加电源滤波器,用于滤除电源中的高频和低频噪声。
常见的电源滤波器有电容滤波器和电感滤波器等。
其中,电容滤波器可以滤除高频噪声,而电感滤波器可以滤除低频噪声。
2.地线设计:合理布局地线,减小地线回路的面积。
在单片机电路中,地线是一个重要的参考信号,合理设计地线可以减小电磁干扰。
同时,还可以采用单点接地的方式,将各个模块的地线连接在一起,减少地线回路的面积。
3.信号线布线:将信号线与电源线和高功率线分开布线,避免相互干扰。
信号线间的距离尽量保持一定的间隔,可以有效减小电磁干扰。
4.屏蔽:对于特别敏感的模拟信号线,可以采用屏蔽措施,如采用屏蔽线、屏蔽罩等。
屏蔽可以防止外界电磁干扰对信号线的影响。
5.滤波电容:在单片机电路中,可以在需要进行滤波的信号线两端串联一个滤波电容,用于滤除高频噪声。
常见的滤波电容有电容器和电容二极管等。
6.增加抗干扰电路:可以在单片机电路中添加抗干扰电路,如抗干扰电容、抗干扰电感等。
这些电路可以有效地抑制外界干扰信号。
7.使用稳压器:在单片机电路中,可以使用稳压器来提供稳定的电压,防止电源干扰引起的系统不稳定。
1.软件滤波:在单片机程序中,可以通过软件滤波的方式来滤除干扰信号。
例如,在读取模拟传感器信号时,可以进行多次采样并求平均值,以减小采样误差和滤除干扰。
2.软件延时:在一些对实时性要求不高的任务中,可以通过软件增加适当的延时,以减小干扰对系统的影响。
例如,在控制器输入信号采样之前,可以先进行一段延时。
3.软件重发:对于容易受到干扰的信号,可以通过软件重发的方式来提高信号的可靠性。
试析单片机应用中的抗干扰技术与方法摘要:单片机抗干扰技术是单片机应用系统中需要首先进行考虑的技术问题,它对于单片机应用的稳定性和可靠性有着很大的影响和作用。
本文主要结合干扰作用对于单片机系统的不利影响情况,对于单片机应用系统中比较常见的集中抗干扰技术与方法进行分析论述,以提高单片机应用中的抗干扰技术水平,保证单片机运行应用的稳定性与可靠性。
关键词:单片机系统软件工业领域抗干扰技术方法分析中图分类号:tp368.1 文献标识码:a 文章编号:1007-9416(2013)01-0025-02单片机应用系统在工业领域环境中的应用比较广泛和普遍。
通常情况下,单片机应用系统在进行仿真调试以及实验室内部的联机运行应用中,运行稳定性与可靠性都比较高,但是在进行工业环境领域的实际运行应用时,由于工业环境领域内部本身的干扰因素比较多并且复杂,容易造成单片机应用系统运行中出现一些这样或者是那样的不可控制问题,对于单片机系统设备的可靠、稳定运行有着很大的不利影响。
本文主要在对于单片机应用系统的干扰影响分析下,针对比较常见的几种单片机应用系统抗干扰技术和方法进行分析论述,以提高单片机系统中的抗干扰技术水平。
1 干扰作用对于单片机系统的影响分析随着社会经济与工业生产不断发展,单片机系统不仅在工业生产领域应用越来越广泛,而且在智能化仪表以及监控系统领域中的应用数量也越来越多,因此,对于单片机系统运行可靠性与稳定性的要求也就越来越高。
通常情况下,在单片机系统运行过程中,对于单片机系统运行可靠性与稳定性产生影响的因素有很多,而单片机系统的抗干扰能力是影响系统可靠性和稳定性的最重要因素。
根据干扰作用对于单片机系统运行稳定性与可靠性的影响情况来看,形成干扰影响的单片机系统运行可靠性干扰作用,主要有单片机系统运行环境中的放电干扰以及高频振荡干扰、电磁干扰、浪涌干扰等,这些干扰作用主要来自单片机系统工作运行的环境,不仅容易造成单片机系统程序的运行出现混乱,而且还会导致单片机系统中的硬件控制失灵以及数据采集出现较大误差,对于带有音频以及视频信号的应用系统中,干扰作用还会造成单片机应用系统出现声音失真或者是图像串色、串扰等问题,对于单片机系统的正常可靠运行有着很大的危害作用。
在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。
下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。
1 软件抗干扰方法的研究
在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。
本文针对后者提出了几种有效的软件抗干扰方法。
1.1 指令冗余
CPU取指令过程是先取操作码,再取操作数。
当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。
若“飞” 到了三字节指令,出错机率更大。
在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。
通常是在双字节指令和三字节指令后插入两个字节以上的NOP。
这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。
此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
1.2 拦截技术
所谓拦截,是指将乱飞的程序引向指定位置,再进行出错处理。
通常用软件陷阱来拦截乱飞的程序。
因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
(1 )软件陷阱的设计
当乱飞程序进入非程序区,冗余指令便无法起作用。
通过软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。
软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。
通常在EPROM中非程序区填入以下指令作为软件陷阱:
NOPNOPLJMP 0000H其机器码为0000020000。
(2 )陷阱的安排
通常在程序中未使用的EPROM空间填0000020000。
最后一条应填入020000,当乱飞程序落到此区,即可自动入轨。
在用户程序区各模块之间的空余单元也可填入陷阱指令。
当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。
如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式:
NOPNOPRETI返回指令可用“RETI”,也可用“LJMP 0000H”。
如果故障诊断程序与系统自恢复程序的设计可靠、完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行。
考虑到程序存贮器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。
1.3软件“看门狗”技术
若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。
通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。
“看门狗”技术可由硬件实现,也可由软件实现。
在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。
则系统无法定时“喂狗”,硬件看门狗电路失效。
而软件看门狗可有效地解决这类问题。
笔者在实际应用中,采用环形中断监视系统。
用定时器T0监视定时器T1,用定时器T1监视主程序,主程序监视定时器T0。
采用这种环形结构的软件“看门狗”具有良好的抗干扰性能,大大提高了系统可靠性。
对于需经常使用T1定时器进行串口通讯的测控系统,则定时器T1不能进行中断,可改由串口中断进行监控(如果用的是MCS-52系列单片机,也可用T2代替T1进行监视)。
这种软件“看门狗”监视原理是:在主程序、T0中断服务程序、T1中断服务程序中各设一运行观测变量,假设为MWatch、T0Watch 、T1Watch,主程序每循环一次,MWatch加1,同样T0、T1中断服务程序执行一次,T0Watch、 T1Watch加1。
在T0中断服务程序中通过检测T1Watch的变化情况判定T1运行是否正常,在T1中断服务程序中检测MWatch的变化情况判定主程序是否正常运行,在主程序中通过检测
T0Watch的变化情况判别T0是否正常工作。
若检测到某观测变量变化不正常,比如应当加1而未加1,则转到出错处理程序作排除故障处理。
当然,对主程序最大循环周期、定时器T0和T1定时周期应予以全盘合理考虑。
限于篇幅不赘述。
2 、系统故障处理、自恢复程序的设计
单片机系统因干扰复位或掉电后复位均属非正常复位,应进行故障诊断并能自动恢复非正常复位前的状态。
2.1 非正常复位的识别
程序的执行总是从0000H开始,导致程序从 0000H开始执行有四种可能:一、系统开机上电复位;二、软件故障复位;三、看门狗超时未喂狗硬件复位;四、任务正在执行中掉电后来电复位。
四种情况中除第一种情况外均属非正常复位,需加以识别。
(1 )硬件复位与软件复位的识别#p#分页标题#e#
此处硬件复位指开机复位与看门狗复位,硬件复位对寄存器有影响,如复位后
PC=0000H, SP=07H,PSW=00H等。
而软件复位则对SP、PSW无影响。
故对于微机测控系统,当程序正常运行时,将SP设置地址大于07H,或者将PSW的第5位用户标志位在系统正常运行时设为1。
那么系统复位时只需检测PSW.5标志位或SP值便可判此是否硬件复位。
由于硬件复位时片内RAM状态是随机的,而软件复位片内RAM则可保持复位前状态,因此可选取片内某一个或两个单元作为上电标志。
设40H用来做上电标志,上电标志字为78H,若系统复位后40H单元内容不等于78H,则认为是硬件复位,否则认为是软件复位,转向出错处理。
若用两个单元作上电标志,则这种判别方法的可靠性更高。
(2 )开机复位与看门狗故障复位的识别
开机复位与看门狗故障复位因同属硬件复位,所以要想予以正确识别,一般要借助非易失性RAM或者EEROM。
当系统正常运行时,设置一可掉电保护的观测单元。
当系统正常运行时,在定时喂狗的中断服务程序中使该观测单元保持正常值(设为 AAH),而在主程中将该单元清零,因观测单元掉电可保护,则开机时通过检测该单元是否为正常值可判断是否看门狗复位。
(3 )正常开机复位与非正常开机复位的识别
识别测控系统中因意外情况如系统掉电等情况引起的开机复位与正常开机复位,对于过程控制系统尤为重要。
如某以时间为控制标准的测控系统,完成一次测控任务需1小时。
在已执行测控50分钟的情况下,系统电压异常引起复位,此时若系统复位后又从头开始进行测控则会造成不必要的时间消耗。
因此可通过一监测单元对当前系统的运行状态、系统时间予以监控,将控制过程分解为若干步或若干时间段,每执行完一步或每运行一个时间段则对监测单元置为关机允许值,不同的任务或任务的不同阶段有不同的值,若系统正在进行测控任务或正在执某时间段,则将监测单元置为非正常关机值。
那么系统复位后可据此单元判系统原来的运行状态,并跳到出错处理程序中恢复系统原运行状态。
2.2 非正常复位后系统自恢复运行的程序设计
对顺序要求严格的一些过程控制系统,系统非正常复位否,一般都要求从失控的那一个模块或任务恢复运行。
所以测控系统要作好重要数据单元、参数的备份,如系统运行状态、系统的进程值、当前输入、输出的值,当前时钟值、观测单元值等,这些数据既要定时备份,同时若有修改也应立即予以备份。
当在已判别出系统非正常复位的情况下,先要恢复一些必要的系统数据,如显示模块的初始化、片外扩展芯片的初始化等。
其次再对测控系统的系统状态、运行参数等予以恢复,包括显示界面等的恢复。
之后再把复位前的任务、参数、运行时间等恢复,再进入系统运行状态。
应当说明的是,真实地恢复系统的运行状态需要极为细致地对系统的重要数据予以备份,并加以数据可靠性检查,以保证恢复的数据的可靠性。
其次,对多任务、多进程测控系统,数据的恢复需考虑恢复的次序问题。
系统基本初始化是指对芯片、显示、输入输出方式等进行初始化,要注意输入输出的初始化不应造成误动作。
而复位前任务的初始化是指任务的执行状态、运行时间等。
对于软件抗干扰的一些其它常用方法如数字滤波、RAM数据保护与纠错等,限于篇幅,本文未作讨论。
在工程实践中通常都是几种抗干扰方法并用,互相补充完善,才能取得较好的抗干扰效果。
从根本上来说,硬件抗干扰是主动的,而软件是抗干扰是被动的。
细致周到地分析干扰源,硬件与软件抗干扰相结合,完善系统监控程序,设计一稳定可靠的单片机系统是完全可行的。