您好, 访客   登录/注册

单片机应用系统的抗干扰技术研究

来源:用户上传      作者: 李 飙 任 艺

  单片机已被广泛地应用于各个领域,在工业控制、医疗器械、通讯等场合,对单片机的可靠性的要求越来越高。随着单片机种类的越来越多,其功能越来越完善,硬件的设计也变得越来越简单。但在实验室里设计的控制系统,在安装、调试后完全符合设计要求,而把系统置入现场后,系统却常常不能够正常稳定地工作,单片机应用系统的可靠性设计变得越来越重要。
  单片机系统的可靠性是由多种因素决定的,其中系统抗干扰性能是可靠性的重要指标之一。抗干扰就是针对干扰产生的性质、传播途径、侵入的位置和侵入的形式,采取相应的方法消除干扰源,抑制干扰传播途径,减弱电路或元件对噪声干扰的敏感性,使单片机系统能在线正常、稳定地运行。
  
  一、单片机应用系统的主要干扰渠道分析
  
  所谓干扰就是叠加在有用信号上的不需要的信号,是影响路正常工作的另一种噪声。干扰以某种电信号的形式,通过一的渠道,混入有用信号中侵入单片机系统,造成系统工作不稳定。在各种实际环境中,干扰总是存在的,这些干扰降低了电子系统准确性甚至破坏其可靠性。
  
  1.外部环境所产生的干扰
  (1)单片机控制系统是为工业控制而设计制造的,经常工作于工业生产现场。在实际的生产现场,存在着大量的电磁干扰信号,对单片机控制系统的正常工作造成极大的危害,甚至有可能带来系统误操作甚至失控的危险。
  (2)测控通道引入的干扰。通过与系统连接的测控通道及与其他主机连接的相互通道引入的干扰信号也会对系统的正常工作造成有害影响。
  
  2.干扰对单片机应用系统的作用部位
  (1)输入系统。它将使模拟信号失真、数字信号出错,单片机据这种输入信息作出的反应必然是错误的。
  (2)输出系统。将使各输出信号混乱,不能正常反映系统的真实输出量,从而导致一系列严重后果。
  (3)CPU系统。CPU得到错误的数据信息,使运算操作数据失真导致结果出错,并将这个错误一直传递下去,形成一系列错误。
  
  二、应用系统硬件的抗干扰措施
  
  单片机应用系统的硬件电路是由如下几个部分构成的:信号检测部分;信号处理及控制部分;控制信号驱动部分;系统交互部分;显示部分。由此可见一个单片机应用系统的成分是相当复杂的,从各种类型的传感器到名目繁多的各种继电器接触器、电磁阀,从类型繁多的集成电路到各种各样的耦合器件、执行部件、显示器件等。抗干扰主要有以下措施:
  1.抑制电源干扰采取交流稳压器保证供电的稳定性,防止电源的过压和欠压。使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。用开关电源并提供足够的功率余量,主机部分使用单独的稳压电路。
  2.过压保护电路。在输入输出通道上应采用过压保护电路,以防引入高电压,伤害微机系统。过压保护电路由限流电阻和稳压管组成,限流电阻选择要适宜,太大会引起信号衰减,太小起不到保护稳压管的作用。稳压管稳压值的选择以略高于最高传送信号电压为宜,太低将对有效信号起限幅效果,使信号失真。
  3.采用差动放大输入、输出信号。干扰信号多数是共模信号,为了抑制干扰,可利用差动放大器,双端输出信号。接收时,利用差动放大电路将信号转为单端信号。这种方法对远距离信号输送的抗干扰很有效。
  4.减少系统连接中各工作部件之间的干扰。利用双绞线来解决单片机控制系统中信号的长线传输问题。双绞线抗干扰能力强,实践证明,双绞线能使各个小环路的电磁感应干扰相互抵消;由于其分布电容为几十皮法,距离信号源近,可以起到积分作用,对电磁场有一定抑制效果。必要时输入、输出供电分别采用NB、NB模块隔离,以避免各个部分相互干扰。
  5.配置去藕电容。数字电路信号电平转换过程中产生很大的冲击电流,并在传输线和供用电源内阻上产生较大的压降,形成严重的干扰。为了抑制这种干扰,在电路中可适当配置去耦电容,即去耦电路。其作用一方面提供和吸收集成电路开门瞬间的充放电能量,另一方面滤掉集成电路的高频噪声。主要在集成电路的电源端与地线端加接电容,电路布线的时候去耦电容尽量靠近集成电路的电源输入端,对于微机控制系统,去耦电容值一般取0.01~0.1μF,且一般应选用高频特性好的独石电容或瓷片电容作去耦电容。
  
  三、软件的抗干扰措施
  
  1.数据采集误差的软件抗干扰的措施
  由于数据采集时干抗性质、后果的不同,采用的方法也不尽一致。在最常用的实时数据采集系统中,为了消除传感器通道中的干扰信号,我们最常用数字滤波方,可滤掉大部分由输入信号干扰而引起的输出控制错误。最常用的方法有算术平均值法、比较舍取法、中值法、一阶递推数字滤波法等。
  (1)算术平均值法。算术平均值滤波法就是对一点的数据连续采样多次,计算其平均值,以平均值作为该点的采样结果。对一般流量测量,可取N=8-10;对压力等测量可取N=3-4。
  (2)比较取舍法。比较取舍法是对每个采样点连续采样几次,根据所采数据的变化规律,确定取舍办法。当控制系统测量的个别数据存在偏差时,为了剔除个别错误数据,可采用比较舍取法。
  (3)中值法。对采样点连续采集多个信号取中值作为采样结果。
  具体选取何种方法,必须根据信号的变化规律选择。对开关量采用多次采集的办法来消除开关的抖动。
  
  2.程序失常时软件抗干扰的对策
  (1)软件冗余。CPU取指令过程是先取操作码,再取操作数。当单片机受干扰出现错误时,程序便脱离正常轨道“乱飞”。当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错;若“飞”到了三字节指令,出错机率更大。因此,在关键地方人为地插入一些单字节指令,或将有效单字节指令重写,便称为“指令冗余”。通常是在双字节指令和三字节指令后插入两个字节以上的空操作指令NOP,这样即使乱飞程序飞到操作数上,由于NOP的存在,可避免后面的指令被当作操作数执行,程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET、RET I、LCALL、LJM P、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
  (2)建立软件陷阱。所谓“软件陷阱”,就是在程序中加入的一组用于拦截弹飞程序的程序段。它强行将程序转向一个特定的地址,该地址放有出错处理程序。如果将出错处理程序的入口标号命名为“ERR”的话,通常软件陷阱由以下三句话组成:NOP,NOP,LJMP ERR。一旦弹飞的程序被拦截,立刻转向错误处理程序。软件陷阱可安排在四个地方:一是未使用的中断向量区。干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断;二是未使用的ROM空间。在其中每隔一段设置一个陷阱可将弹飞至该区域的出错程序捕获;三是表格。储存在EPROM中的表格后安排软件陷阱可在一定程序上防止软件弹飞;四是程序区。一般程序中不能任意安排软件陷阱,但是在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序。
  (3)设立自检程序。在单片机的特定部位或某些内存单元设状态标志,在开机后的程序运行中不断循环测试,以保证系统信息存储、传输、运算的高可靠性。
  (4)采用“看门狗”(watchdog)技术。WATCHDOG即程序监视跟踪定时器,它实质上是一个可由CPU复位的定时器。它的工作原理如同图1所示的两个计时周期不同的定时器T1和T2。T1和T2是两个时钟源相同的定时器,设T1=1.0s,T2=1.1s,而用T1定时器的溢出脉冲P1同时对T1和T2定时器清零,只要T1定时器工作正常,则定时器T2永远不可能计时溢出。当T1定时器不再计时,定时器T2则会计时溢出,并产生溢出脉冲P2。旦产生溢出脉冲P2,则表明T1出了故障。这里的T2即是WATCHDOG。利用溢出脉冲P2并进行巧妙的程序设计,可以检测系统的出错,而后使“飞掉”的程序重新恢复运行。
  从根本上来说,硬件抗干扰是主动的,软件抗干扰是被动的。在单片机应用系统的设计过程中,合理地使用软件和硬件抗干扰技术,可使系统最大限度地避免干扰的产生和受干扰后能使系统恢复正常运行,从而保证了系统长期稳定可靠地工作。
  (作者单位:商丘职业技术学院)


转载注明来源:https://www.xzbu.com/7/view-3011728.htm