Electronics 版 (精华区)

发信人: acquisition (单片机), 信区: Electronics
标  题: 单片机抗干扰设计技术!
发信站: 哈工大紫丁香 (Sun May  9 21:14:38 2004), 站内

《田裕康 》同志写的一篇好文:
1  干扰的来源和后果
工业现场环境中干扰是以脉冲的形式进入单片机系统,其主要的渠道有三条,即空间干扰,供电系统干扰,过程通道干扰。空间干扰多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰以电源的噪声干扰引起的;过程通道干扰是干扰通过前向通道和后向通道进入系统。干扰一般沿各种线路侵入系统。系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输入输出线路的绝缘损坏均有可能引入干扰。干扰产生的后果:
    (1)数据采集误差的加大
    当干扰侵入单片机系统的前向通道叠加在信号上,会使数据采集误差增大,特别是前向通道的传感器接口是小电压信号输入时,此现象会更加严重。
    (2)程序运行失常
①控制状态失灵
    在单片机系统中,由于干扰的加入使输出误差加大,造成逻辑状态改变,最终导致控制失常。
②死机
在单片机系统受强干扰后,造成程序计数器PC值的改变,破坏程序正常运行。

    (3)系统被控对象误操作
①单片机内部程序指针错乱,指向了其它地方,运行了错误的程序;
②RAM中的某些数据被冲乱或者特殊寄存器的值被改变,使程序计算出错误的结果。

3:中断误触发,使系统进行错误的中断处理。
    (4)被控对象状态不稳定
    锁存电路与被控对象间的线路(包括驱动电路)受干扰,从而造成被控对象状态不稳定。

    (5)定时不准
①单片机内部程序指针错乱,使中断程序运行超出定时时间;

②RAM中计时数据被冲乱,使程序计算出错误的结果。

   (6)数据发生变化
    在单片机应用系统中,由于外部RAM是可读写的,在干扰的侵入下,RAM中数据有可能发生改变,虽然ROM能避免干扰破坏,但单片机片内RAM以及片内各种特殊功能寄存器等状态都有可能受干扰而变化,甚至EEROM中的数据也可能误读写,使程序计算出错误的结果。

针对以上出现的问题,本文分别从硬件和软件两个方面来探讨一些提高单片机应用系统抗干扰能力的方法。

2  单片机应用系统的硬件抗干扰设计

2.1  供电系统

    (1)防止从电源系统引入干扰,可采取交流稳压器保证供电的稳定性,防止电源的过压和欠压。使用隔离变压器滤掉高频噪声,低通滤波器滤掉工频干扰。

    (2)采用开关电源并提供足够的功率余量,主机部分使用单独的稳压电路,必要时输入,输出供电分别采用DC-DC模块隔离,以避免各个部分相互干扰。

2.2  注意印制电路板的布线与工艺

(1)尽量采用多层印制电路板,多层板可提供良好的接地网,可防止产生地电位差和元件之间的耦合。

    (2)印制电路板要合理分区。模拟电路区、数字电路区、功率驱动区要尽量分开,地线不能相混,分别和电源端的地线相连。

    (3)元件面和焊接面应采用相互垂直、斜交、或者弯曲走线,避免相互平行以减小寄生耦合:避免相邻导线平行段过长;加大信号线间距。高频电路互联导线尽量短,使用45°或者圆弧折线布线,不要使用90°折线,以减小高频信号的发射。

    (4)印制电路板要按单点接电、单点心接地的原则送电。三个区域的电源线、地线分三路引出。地线、电源线要尽量粗,噪声元件与非噪声元件要尽量离远一些。时钟振荡电路、特殊高速逻辑电路部分用地线圈起来,让周围电场趋近于零。

    (5)使用满足系统要求的最低频率的时钟,时钟产生器要尽量靠近用到该时钟的器件。石英晶体振荡器外壳要接地,时钟线尽量短,时钟线要远离I/O线,在石英晶体振荡器下面要加大接地的面积而不应该走其它信号线。

    (6) I/O驱动器件、功率放大器件尽量靠近印制板的边、靠近引出接插件。重要的信号线尽量短并要尽量粗,并在两侧加上保护地。将信号通过扁平电缆引出时,要使用地线—信号—地线相间的结构。

    (7)原则上每个IC元件要加一个0.01—0.1µF去耦电容,布线时去耦电容应尽量靠近IC的电源脚和接地脚。要选高频特性好的独石电容或瓷片电容作去耦电容。去耦电容焊在印制电路板上时,引脚要尽量短。

    (8)闲置不用的IC管脚不要悬空以避免干扰引入。不用的运算放大器正输入端接地,负输入端接输出。单片机不用的I/O口定义成输出。单片机上有一个以上电源、接地端,每个都要接上,不要悬空。

2.3  输入输出干扰的抑制

    (1)输入、输出信号加光电耦合器隔离,可以将主机部分和前向、后向通道及其它部分切断电路的联系,可有效的防止干扰进入主机系统。

    (2)双绞线传输和终端阻抗匹配

    在数字信号的长线传输时利用双绞线,可对噪声干扰有较好的抑制效果。可与光电耦合器联合使用或者使用平衡输入接收器和输出的驱动器。在发送和接收信号端必须有末端电阻,双绞线应该阻抗匹配。

2.4  屏蔽

    对容易产生干扰和被干扰的部件使用金属盒进行屏蔽以使干扰电磁波短路接地。

2.5  提高器件的马嘞能力

    一般1个TTL可推动8个TTL或10多个CMOS,而一个CMOS可推动1-2个TTL或20多个CMOS。如果输出负载过重,会降低输出电平,使电平处于或低于被驱动器件的输入门槛电平,从而造成系统不稳定。
2.6: 提高元器件的可靠性

    (1)选用质量好的电子元件并进行严格的测试、筛选和老化。

    (2)设计时元件技术参数要有一定的余量。

    (3)提高印制板和组装的质量。

2. 7  使用双机冗余设计

    在对控制系统的可靠性有严格要求的场合,使用双机冗余可进一步提高系统抗干扰能力。双机冗余,就是执行同一个控制任务,可安排两个单片机来完成,即主机与从机。正常情况下,主机掌握着三总线的控制权,对整个系统进行控制,此时,从机处于待机状态,等待仲裁器的触发。当主机由于某种原因发生误动作时,仲裁器根据判别条件,若认为主机程序已混乱,则切断主机的总线控制权,将从机唤醒,从机将代替主机进行处理与控制。

3  软件的抗干扰设计

3.1 数据采集误差的软件对策

    (1)用软件滤波算法,可滤掉大部分由输入信号干扰而引起的输出控制错误。最常用的方法有算术平均值法、比较舍取法、中值法、一阶递推数字滤波法。具体选取何种方法,必须根据信号的变化规律选择。对开关量采用多次采集的办法来消除开关的抖动。

    (2)关键数据可使用软件冗余技术,即给数据增加一定的冗余位以实现数据的检错和纠错功能。常用的方法有:奇偶校验,海明码和循环码校验。

3.2  程序运行失控的软件对策

    对于程序运行失常的软件对策主要是发现失常状态并及时将系统引导到初始状态。

    (1)指令冗余

    对MCS-51系列单片机大部分指令为单字节,当出错的程序落到其上时,出错的程序可自动纳入正轨;当落到多字节指令的操作数时,程序将继续出错,所以在关键的对程序的流向起决定陆的指令之前插入两条NOP指令使被弹飞的指令恢复正轨。

    (2)设置程序指针陷阱

    软件陷阱将出错的程序捕获并强行引入出错处理的程序,软件陷阱可安排在四个地方:

    ①未使用的中断向量区,干扰可使未使用的中断开放并激活中断,在这些地方设置软件陷阱就能及时捕获到错误中断。   

②未使用的ROM空间,在其中每隔一段设置一个陷阱可将弹飞至该区域的出错程序捕获。

    ⑧表格,储存在EPROM中的表格后安排软件陷阱可在一定程度上防止软件弹飞。

    ④程序区,一般程序中不能任意安排软件陷阱,但是在正常程序中会有一些跳转指令,在这些指令后使用软件陷阱可捕获到弹飞到跳转指令的操作数上的出错程序。

    (3)使用程序监视跟踪定时器

程序监视跟踪定时器即Watchdog在单片机抗干扰设计中使用非常广泛,各大器件生产商提供了不同的功能的芯片,如MAXIM的MX760、MX813,IMP的IMP690 A/692AL是用于微处理器系统的电源监视和控制电路。可为CPU提供复位信号、看门狗监视、备用电池自动切换及电源失效监视。除上、掉电条件下为微处理器提供复位外,这些器件还具有备用电池切换功能。利用watchdog和软件的配合使用可大大提高系统的抗干扰能力。

(4)使用实时嵌入式操作系统RTOS

操作系统首先建立多个实时任务并初始化,各个任务在操作系统的调度下运行,若某一任务由于干扰而运行失常,操作系统可将该任务强制退出并让出CPU控制权,根据故障情况进行处理。使用RTOS可减小系统的复位的次数,提高抗干扰能力。


--

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 219.217.224.166]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.308毫秒