单片机中的软硬件防干扰方法
1 引言
随着单片机技术应用发展,在应用过程中,如何防止外界的干扰,确保单片机安全可靠运行,是一个很重要的问题。我们在多项测控项目的实践中体会到,干扰源主要来自三个方面。一是空间场干扰,通过电磁辐射富入系统:二是电源干扰,它直接侵害系统:三是信号通道干扰,通过与单片机相连的前、后向通道进入系统。一般来说,空间场干扰在强度上远小于其他两个干扰源产生的干扰,且容易对付。只要采取良好的屏蔽、正确的接地及恰当的高频滤波就可以得到满意解决。 2 千扰的来源分析
2.1来自交流电源的干扰
开关的通断,火花干扰,电焊、大电机的启动等,在工业环境中是常见的。这些来自电源的干扰都会破坏单片机的正常运行。要完全抑制来自交流电源的干扰是十分困难的,其原因是干扰传播的途径往往不清楚。干扰的频带很难定量化,交流电源及负载的阻抗很难实测,电源滤波器的特性和实际干扰频带也往往有差异。
在实际使用中,常常要应用交流电源供电,因此,必须采取措施克服来自电源的干扰。 2.2来自信号通道的干扰
为达到数据采集或实时控制的目的,开关量输入、输出,模拟量输入、输出是必不可少的。在工业现场,如果被控对象是一个强干扰源(如可控硅、电焊机等),单片机根本无法工作。
对于开关量的输入、输出要采取隔离措施,已为大多数工程技术人员所接受。然而对模拟量输入、输出也必须采取隔离措施,大多数人尚认识不足。模拟量输入、输出不进行隔离。虽说可以运行,但会产生“程序乱飞”,使可靠性下降,对于连续工作的对象(如锅炉、空调等)来说是不允许的。因此,在单片机控制时,这个问题也必须注意。对于模拟量、开关量的输入、输出都采取隔离措施,才能保证系统稳定运行。 2.3来自空间的辐射干扰
在特殊的情况下,如在发射机、中频炉、可控硅逆变电源周围,单片机往往不能正常工作。
上述三种干扰危害以来自交流电源的干扰最甚,其次为来自信号通道的干扰。来自空间的辐射干扰不太突出,一般只须加以适当的屏蔽及接地就可解决。 3 硬件抗干扰措施 3.1电源干扰的抑制
要保证系统工作的稳定可靠,前提是保证供电的稳定性,防止电源的过压与欠压。因此,在电源的前向要求配置交流稳压器,这样有利于提高整个系统的可靠性。对于短暂时间的停电,可配置UPS电源。任何电源和输电线路都存在内阻,正是这些内阻才引起电源的噪声干扰。考虑到高频噪声通过变压器主要不是靠初、次线圈的互感偶合,而是由初、次级间寄生电容偶合的。因此,在交流稳压器之后应加隔离变压器,且初、次级之间均需用屏蔽层隔离,以减少分布电容,提高抗共模干扰的能力。另外,由谐波频谱分析可知,电源引起的干扰大部分是高次谐波。这样就可在隔离变压器之后设计低通滤波器,让5
0HZ市电基波通过,滤去高次谐波,改善电源波形。设计时应注意:
当滤波器工作在低电压且载有大电流时,宜采用小电感和大电容构成的滤波网络:当工作在高压下,则宜采用小电容和允许的最大电感构成的滤波网络。
在整流电路之后加接附图所示的双T滤波器,用以消除50Hz的工频干扰。它结构简单,对固定频率的干扰滤波效果好。调试步骤为:先将电容C固定,然后模拟现场运行环境调节电阻,当输人50Hz信号时,使输出V0=0.
在实际控制系统中,往往需要提供多种电源,此时应采用分散独立的功能块供电,且口用相应的三端集成稳压块分别组成所需的稳压电源。这样可以减少公共阻抗和公共电源的相互偶合,有利于电源散热,大大提高供电的可靠性。 3.2信号通道干扰的抑制
(1)共阻抗偶合干扰及其抗干扰措施。通过公共接地线的偶合形成共模干扰。A/D,D/A等I/O板的输入、输出电路的“地”与单片机地线GND之间有各种信号电路的电流流过,并由接地线阻抗变换成电压,形成共模干扰。其次,在I/O电路、前置放大器等各部分电路中,也存在同样的的共地偶合形成局部的共模干扰,尤其是执行机构开关通断、线圈动作等通过共地构成的回馈干扰尤为严重,特别是感性负载时,若不注意反电势,有关电子会受到损坏。
针对共阻抗偶合干扰采取如下措施:① 采用单点接地和分别电源供电,消除共阻抗回路。数字信号地线、信号源地线和负载地线分开设置,数字电路、模拟电路和负载电路分别单独供电,独自构成回路且单点接地。②加强电源退偶。为避免通过共用电源内阻造成几个电路之间的相互干扰,应在每个电路的直流电源进线与地线之间加装退偶滤波器,工作频率较高的电路加LC滤波器或RC滤波器。一般单片机主板及其外围接口电路和一般I/O板等,在大规模集成电路电源引脚处加一只0.1u F电容,小功率TTL电路可几片加一只退偶电容即可。③ 用集成隔离放大器切断共阻抗环路。由于隔离放大器采用浮离式设计,消除了输入、输出间的直接偶合,切断了共地和共电源环路,因而具有共模抑制比高、能保护系统元件不受高共模电压的损害和防止高压对低压信号系统损坏的特点。④采用光电隔离器切断共阻抗环路。单片机与各数字电路、脉冲电路或开关电路的接口可用数字式光电隔离器进行隔离,以切断共阻抗环路,避免长线感应及电源和各种负载通过共阻抗回馈的各种干扰的窜入。对于线性模拟电路通道,如因考虑成本不能使用隔离放大器进行隔离时,则可采用线性光偶或用V/F变换后再用数字光偶进行隔离。
(2)静电偶合干扰及其对策。静电偶合是由于两个电路间存在寄生电容,使一个电路的变化影响到另一个电路。
一般尖蜂干扰或脉冲干扰的频谱极高,其静电1禺合的途径不能忽视。
针对静电偶合干扰采取如下措施:①合理布线,减少分布电容,特别是高频信号线尽量不要与其他信号线路平行走线,若必须平行走线时,应注意留一定的距离,以切断静电偶合通道。② 降低接收电路输入阻抗。 例如用光电偶合器等。光电的输入阻抗与干扰源相比极小,前者数量级为100Ω/~1kΩ ,而后者则为105 Ω~108Ω,因此,使用光偶可以使干扰大大减小。 (3)传导偶合干扰及其措施。在单片机测控系统中,传输线上的信息多为脉冲信号,它在传输线上传输时会出现延时、畸变和衰减。尤其是当长传输线经过干扰环境时,导线相当于天线拾取干扰信号,对电路产生干扰。
针对传导偶合千扰采取如下措施:①长传输线采用屏蔽线,避免电磁感应干扰。但要注意屏蔽层要一端接大地,并保证接地良好。若采用两端接地,屏蔽层又构成新的干扰回路,起不到好的屏蔽效果。②用光电偶合器将长线完全浮置起来,长线的“浮置”去掉了长线两端间的公共地线,不但有效消除了各逻辑电路的电流经公共地线时所产生的噪声电压形成相互窜扰,而且也有效地解决了长线驱动和阻抗匹配问题。同时,受控设备短路时,还能保护系统不受损害。③传输线应尽量远离变压器及电源等大功率器件,且尽可能短。若较长时,可用双绞屏蔽线传输,用双绞屏蔽线与光电偶合器配合使用效果更佳。同时,注意强电信号线和弱电信号线分开,高频信号线和低频信号线分开,交流和直流分开,电源线和信号线分开。
4 软件抗干扰措施
根据经验,用软件方法抑制信号通道干扰很有效,下面就这个范围介绍几种软件抗干扰的方法。
4.1数据采集干扰抑制方法
进行实时数据采集时,为了消除传感器通道中的干扰信号,有三种常用滤波方法。 (1)算术平均算法。对一点数据连续采样多次,以其平均值作为该点采样结果。这样做可以减少系统的随机干扰对采样结果的影响,多次采样一般取3~5次平均即可。 (2)比较取合法。当测控系统测量结果的个别数据存在偏差时,为了剔除个别误差较大的数据,可采用此法,即根据几个采样点数据变化的规律,确定取合办法。如:“采三取二”,就是对每点采样三次,取两次相同的为采样结果。
(3)数字滤波法。该方法利用软件完成RC低通滤波器的算法,经常采用的二阶递推数字滤波公式为:
实践证明,采用软件滤波对消除数据采集中的误差可以获得满意效果。在应用中,究竟使用哪一种方法,要根据被采样信号的具体变化规律进行选择。 4.2控制失常的抑制方法
在大量开关量的单片机系统中,确保信号的正常状态显得尤为重要。 如果干扰进入系统影响到控制条件时,就会出现失控现象,通常可用下述两种方法抑制。 (1)重复检查法。对于开关量、控制条件处理输出,进行循环采样。若相邻各次检测结果在允许误差范围内,则输出控制。如超出误差范围,则重新检测,直至检测结果符合要求为止。
(2)设置输出寄存单元。当干扰侵入输出通道使输出状态破坏时,也会导致控制失常。此时应考虑设置输出寄存单元,在控制输出时可及时查询、比较寄存器单元的内容,一旦异常可及时纠正输出状态。
4.3程序盲目运行的抑制方法 系统受到干扰时,有时PC值被改变,结果导致程序飞出,盲目运行和进人死循环。显然,抗干扰软件要能做到:一旦系统出现上述情况后,能自动及时地引导系统恢复到正常状态,以下两种方法有效。
(1)设置Watchdog。Watchdog亦即跟踪监视定时器,利用定时器中断功能来监视程序的运行状态。具体做法为:测算好最长循环程序循环一次的时间,然后定时时间的设置稍大于它。正常循环一次后,定时器重新置初值,否则定时器继续计数,直到溢出进入中断。在中断服务程序中设置PC值,迫使其跳出死循环。
(2)设置陷阱方法。若PC值并非进人死循环,而是随机“乱飞”,可设置陷阱拦截。具体做法是在所有子程序和程序快的连接处(前提是程序正常运行时不会进入该处)填上绝对跳转指令,失控的PC一旦进入该处即可捕获,迫使其重新回到复位状态。
5 结束语
实践证明,只要对单片机系统实行总体抗干扰设计,就可保障它在工作环境恶劣的条件下可靠运行。