1. 引言 近年来,单片机在工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛,大大提高了产品的质量,有效地提高了生产效率。但是,测控系统的工作环境往往复杂、比较恶劣,尤其是系统周围的电磁环境,这对系统的可靠性与安全性构成了极大的威胁。单片机测控系统必须长期稳定、可靠运行,否则将导致控制误差加大,严重时会使系统失灵,甚至造成巨大损失。下面着重分析干扰对单片机应用系统的影响,并结合亲身经验,从软、硬两个方面给出具体的解决方法。 2. 干扰对单片机应用系统的影响 影响应用系统可靠、安全运行的主要因素来自系统内部和外部的各种电磁干扰,以及系统结构设计、元器件安装、加工工艺和外部电磁环境条件等。这些因素对单片机系统造成的干扰后果主要表现在以下几个方面: (1) 测量数据误差加大 干扰侵入单片机系统测量单元模拟信号的输入通道,叠加在测量信号上,会使数据采集误差加大,甚至干扰信号淹没测量信号,特别是检测一些微弱信号,如人体的生物电信号。 (2) 影响单片机RAM存储器和E2PROM等 在单片机系统中,程序及表格、数据存在程序存储器EPROM或FLASH中,避免了这些数据受干扰破坏。但是,对于片内RAM、外扩RAM、E2PROM中的数据都有可能受到外界干扰而变化。 (3) 控制系统失灵 单片机输出的控制信号通常依赖于某些条件的状态输入信号和对这些信号的逻辑处理结果。若这些输入的状态信号受到干扰,引入虚假状态信息,将导致输出控制误差加大,甚至控制失灵。 (4) 程序运行失常 外界的干扰有时导致机器频繁复位而影响程序的正常运行。若外界干扰导致单片机程序计数器PC值的改变,则破坏了程序的正常运行。由于受干扰后的PC值是随机的,程序将执行一系列毫无意义的指令,最后进入“死循环”,这将使输出严重混乱或死机。 3. 硬件抗干扰技术 3.1 选择良好的元器件与单片机 硬件抗干扰技术是系统设计时首选的抗干扰措施,它能有效抑制干扰源,阻断干扰传输通道。常用的硬件设计抗干扰措施如下: ① 现在市场上出售的元器件种类繁多,有些元器件可用但性能不佳,有些元器件极易受到干扰,因此在选择关键元器件如译码器、键盘扫描控制器、RAM等时,最好选用性能稳定的工业级产品。 ② 单片机的选择不光考虑硬件配置、存储容量等,更要选择抗干扰性能较强的单片机,笔者在使用多种类型的单片机中认为,AVR系列单片机抗干扰能力较强。 ③ 外时钟是高频的噪声源,对系统的内外都能产生干扰,因此在满足需要的前提下,选用频率低的单片机是明智之举。 3.2 抑制电源干扰 单片机系统中的各个单元都需要使用直流电源,而直流电源一般是市电电网的交流电经过变压、整流、滤波、稳压后产生的,因此电网上的各种干扰便会引入系统。除此之外,由于交流电源共用,各电子设备之间通过电源也会产生相互干扰,因此抑制电源干扰尤其重要。电源干扰主要有以下几类: ① 电源线中的高频干扰 供电电力线相当于一个接受天线,能把雷电、电弧、广播电台等辐射的高频干扰信号通过电源变压器初级耦合到次级,形成对单片机系统的干扰; ② 感性负载产生的瞬变噪音 切断大容量感性负载时,能产生很大的电流和电压变化率,从而形成瞬变噪音干扰,成为电磁干扰的主要形式; ③ 晶闸管通断时的干扰 晶闸管通断时的电流变化率很大,使得晶闸管在导通瞬间流过一个具有高次谐波的大电流,在电源阻抗上产生很大的压降,从而使电网电压出现缺口,这种畸变了的电压波形含有高次谐波,可以向空间辐射或通过传导耦合,干扰其它设备。此外,还有电网电压波动或电压瞬时跌落产生干扰,等等。 电源干扰的抑制,通常可采用以下几种方法: ① 接地技术 实践证明,单片机系统设备的抗干扰与系统的接地方式有很大关系,接地技术往往是抑制噪音的重要手段。良好的接地可以在很大程度上抑制系统内部噪音耦合,防止外部干扰的侵入,提高系统的抗干扰能力。设备的金属外壳等要安全接地;屏蔽用的导体必须良好接地; ② 屏蔽线与双胶线传输 屏蔽线对静电干扰有强的抑制作用,而双胶线有抵消电磁感应干扰的作用。开关信号检测线和模拟信号检测线可以使用屏蔽双胶线,来抵御静电和电磁感应干扰;特殊的干扰源也可以用屏蔽线连接,屏蔽了干扰源向外施加干扰; ③ 隔离技术 信号的隔离目的之一是从电路上把干扰源和易干扰的部分隔离出来,使监控装置与现场仅保持信号联系,但不直接发生电的联系。隔离的实质是把引进的干扰通道切断,从而达到隔离现场干扰的目的。 一般单片机应用系统既有弱电控制系统又有强电控制系统,通常实行弱电和强电隔离,是保证系统工作稳定、设备与操作人员安全的重要措施。常用的隔离方式有光电隔离、变压器隔离、继电器隔离和布线隔离等。 ④ 模拟信号采样抗干扰技术 单片机应用系统中通常要对一个或多个模拟信号进行采样,并将其通过A/D转换成数字信号进行处理。为了提高测量精度和稳定性,不仅要保证传感器本身的转换精度、传感器供电电源的稳定、测量放大器的稳定 、A/D转换基准电压的稳定,而且要防止外部电磁感应噪声的影响,如果处理不当,微弱的有用信号可能完全被无用的噪音信号淹没。在实际工作中,可以采用具有差动输入的测量放大器,采用屏蔽双胶线传输测量信号,或将电压信号改变为电流信号,以及采用阻容滤波等技术。 在许多信号变化比较慢的采样系统中,如人体生物电(心电图、脑电图)采样、地震波记录等,影响最大的是50Hz的工频干扰。因此对工频干扰信号的抑制是保证测量精度的重要措施之一。抑制和消除工频干扰,常用的方法是在A/D转换电路之前加RC滤波器,或者采用采样时间是50Hz的工频周期整数倍的双积分式A/D转换器。 3.3 数字信号传输通道的抗干扰技术 数字输出信号可作为系统被控设备的驱动信号(如继电器等),数字输入信号可作为设备的响应回答和指令信号(如行程开关、启动按钮等)。数字信号接口部分是外界干扰进入单片机系统的主要通道之一。在工程设计中,对数字信号的输入/输出过程采取的抗干扰措施有:传输线的屏蔽技术,如采用屏蔽线、双胶线等;采用信号隔离措施;合理接地,由于数字信号在电平转换过程中形成公共阻抗干扰,选择合适的接地点可以有效抑制地线噪声。 3.4 硬件监控电路 在单片机系统中,为了保证系统可靠、稳定地运行,增强抗干扰能力,需要配置硬件监控电路,硬件监控电路从功能上包括以下几个方面: ① 上电复位:保证系统加电时能正确地启动; ② 掉电复位:当电源失效或电压降到某一电压值以下时,产生复位信号对系统进行复位; ③ 数据保护:当电源或系统工作异常时,对数据进行必要的保护,如写保护、后备电池切换等; ④ 电源监测:供电电压出现异常时,给出报警指示信号或中断请求信号; ⑤ 硬件看门狗:当处理器遇到干扰或程序运行混乱产生“死锁”时,对系统进行复位。 有些著名的半导体厂商已将上述这些功能集成到一起,如MAXIM公司的MAX690、MAX706等。 3.5 印制板电路合理布线 印制电路板(PCB)是电子产品中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发展,PCB的密度越来越高,PCB设计的好坏对抗干扰能力影响很大。因此,在进行PCB设计时,必须遵守PCB设计的一般原则,并应符合抗干扰设计的要求。下面着重说明两点: ① 关键器件放置:在器件布置方面与其它逻辑电路一样,应把相互有关的器件尽量放得靠近些,这样可以获得较好的抗噪声效果。时钟发生器、晶振和CPU的时钟输入端都易产生噪声,要相互靠近些;CPU复位电路、硬件看门狗电路要尽量靠近CPU相应引脚;易产生噪声的器件、大电流电路等应尽量远离逻辑电路,如有可能,应另外做电路板。 ② D/A、A/D转换电路要特别注意地线的正确连接,否则干扰影响将很严重。D/A、A/D芯片及采样芯片均提供了数字地和模拟地,分别有相应的管脚。在线路设计中,必须将所有器件的数字地和模拟地分别相连,但数字地与模拟地仅在一点上相连。 另外,也可以采用屏蔽保护,屏蔽可用来隔离空间辐射。对噪声特别大的部件(如变频电源、开关电源)可以用金属盒罩起来以减少噪声源对单片机的干扰,对容易受干扰的部分,可以增加屏蔽罩并接地,使干扰信号被短路接地。 4. 软件抗干扰原理及方法 尽管我们采取了硬件抗干扰措施,但由于干扰信号产生的原因错综复杂,且具有很大的随机性,很难保证系统完全不受干扰。因此,往往在硬件抗干扰措施的基础上,采取软件抗干扰技术加以补充,作为硬件措施的辅助手段。软件抗干扰方法具有简单、灵活方便、耗费低等特点,在单片机系统中被广泛应用。 4.1 数字滤波方法 数字滤波是在对模拟信号多次采样的基础上,通过软件算法提取最逼近真值数据的过程。数字滤波的的算法灵活,可选择权限参数,其效果往往是硬件滤波电路无法达到的。 4.2 输入信号重复检测方法 输入信号的干扰是叠加在有效电平信号上的一系列离散尖脉冲,作用时间很短。当控制系统存在输入干扰,又不能用硬件加以有效抑制时,可用软件重复检测的方法,达到“去伪存真”的目的,直到连续两次或连续两次以上的采集结果完全一致时方为有效。若信号总是变化不定,在达到最高次数限额时,则可给出报警信号。对于来自各类开关型传感器的信号,如限位开关、行程开关、操作按钮等,都可采用这种输入方式。如果在连续采集数据之间插入延时,则能够对付较宽的干扰。 4.3 输出端口数据刷新方法 开关量输出软件抗干扰设计,主要是采取重复输出的方法,这是一种提高输出接口抗干扰性能的有效措施。对于那些用锁存器输出的控制信号,这些措施很有必要。在尽可能短的周期内,将数据重复输出,受干扰影响的设备在还没有来得及响应时,正确的信息又到来,这样就可以及时防止误动作的产生。在程序结构的安排上,可为输出数据建立一个数据缓冲区,在程序的周期性循环体内将数据输出。对于增量控制型设备不能这样重复送数,只有通过检测通道,从设备的反馈信息中判断数据传输的正确与否。 在执行重复输出功能时,对于可编程接口芯片,工作方式控制字与输出状态字一并重复设置,使输出模块可靠地工作。 4.4 软件拦截技术 当窜入单片机系统的干扰作用在CPU部位时,后果更加严重,将使系统失灵。最典型的故障是破坏程序计数器PC的状态,导致程序从一个区域跳转到另一个区域,或者程序在地址空间内“乱飞”,或者陷入“死循环”。使用软件拦截技术可以拦截“乱飞”的程序或者使程序摆脱“死循环”,并将运行程序纳入正轨,转到指定的程序入口。 4.5 “软件看门狗”技术 PC受到干扰而失控,引起程序“乱飞”,也可能使程序陷入“死循环”。当软件拦截技术不能使失控的程序摆脱“死循环”的困境时,通常采用程序监视技术WDT TIMER(WDT),又称“看门狗”技术,使程序脱离“死循环”。WDT是一种软、硬件结合的抗程序跑飞措施,其硬件主体是一个用于产生定时T的计数器或单稳,该计数器或单稳基本独立运行,其定时输出端接至CPU的复位线,而其定时清零则由CPU控制。在正常情况下,程序启动WDT后,CPU周期性的将WDT清零,这样WDT的定时溢出就不会发生,如同睡眠一般不起任何作用。在受到干扰的异常情况下,CPU时序逻辑被破坏,程序执行混乱,不可能周期性的将WDT清零,这样当WDT的定时溢出时,其输出使系统复位,CPU摆脱因一时干扰而陷入瘫痪的状态。 5. 结语 上述是笔者在实际工作中总结的一些常见的单片机系统抗干扰措施,在设计单片机系统时也采纳了这些方法,并取得了良好的效果。
|