打印

单片机测控系统设计中对干扰问题的处理

[复制链接]
541|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2018-12-19 16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机测控系统设计中对干扰问题的处理

     近年来,单片机工业自动化、生产过程控制、测控仪表等领域应用越来越深入和广泛。测控系统的工作环境往往是比较恶劣和复杂,其应用的可靠性、安全性成为一个非常突出的问题。而影响测控系统的可靠性、安全运行的主要因素是来自测控系统内部和外部的各种电气干扰,以及系统结构设计元器件选择、安装、制造工艺和和外部环境条件等。这些因素对测控系统造成的干扰后果主要表现在数据采集误差加大、控制状态失灵、数据受干扰发生变化、程序失常等方面。本文将针对引起干扰的因素,讨论测控系统设计过程中应考虑的干扰问题及其有效的解决方法。


一、测控系统各单元配置及抗干扰问题


1.半导体器件的选择

    半导体器件是微机测控系统用得最多、最基础、最核心的器件,对系统的性能和可靠性影响极大。选择时一般遵循下面一些原则:

    (1)为了使半导体器件满足系统性能要求,必须深入了解元器件的电器参数。对于二极管,应考虑最大反响电压最大正向电流、反向电流、正向压降和工作频率。

    (2)为了使半导体器件满足系统可靠性要求,注意温度对期间性能的影响,选择温漂稳定性好的元器件。

    (3)为了降低接触不良故障,就要减少焊点数量。尽量选用集成电路,而少用分立元器件;尽量选用大规模、超大规模集成电路,其次才是中小规模集成电路。

    (4)测控系统所处外部环境往往有严重干扰,因此,尽量选用抗干扰性能好的元器件。如为了提高噪声容限,可选用CMOS器件;为了抑制共模干扰,可选用测量放大器;为了抑制工频干扰,可选用积分型A/D等

    (5)考虑功耗。在野外作业的单片机智能化测试设备,由于用电池供电,可选用功耗小的CMOS器件。


2.电源


    电源抗干扰的基本方法有:采用交流稳压器,交流电源滤波器,对电源变压器实行屏蔽和隔离,利用压敏电阻吸收浪涌电压,在要求供电质量很高的特殊情况下,可采用发电机组或逆变器供电,如采用在线式UPS不间断电源供电。采用分立式供电和分类式供电。在每块印刷电路板的电源与地之间并接去耦电容。电源变压器采取屏蔽措施。使用瞬变电压抑制器TVS等方法。TVS是普遍使用的一种高效能电路保护器件,能吸收高达数千瓦的浪涌功率,TVS对静电、过压、电网干扰、雷击、开关打火、电源反向及电机/电源噪声振动保护尤为有效。


3.多路模拟开关


    在测控系统中,被控量与被测量的回路往往是几路或几十路。对于多路的参量进行A/D、D/A转化时,往往采用公共的A/D、D/A转换电路。因此,常选用多路模拟开关轮流切换各被控或被测回路与A/D、D/A转换电路间的通路,以达到分时控制和巡回检测的目的。多个输入信号经多路转换器接至放大器或A/D转换器的方法有单端法和差动接法,其中差动接法抗干扰能力强。

    当多路转换器从一个通道切换到另一个通道时,要发生瞬变现象,使输出端产生短暂的尖峰电压。为了消除这种现象引入的误差,可在多路转换器输出端与放大器之间接一个采样保持器电路,或用软件延时的办法进行采样。

    多路转换器的输入常常受到各种环境噪声的污染,尤其易受到共模噪声的干扰。在多路转换器输入端接入共模扼流圈,对抑制外部传感器引入的高频共模噪声十分有效。转换器高频采样时产生的高频噪声,不仅影响测量精度,而且可能使单片机失控。同时,由于单片机运行速度很高,它对多路转换器也是一个巨大的噪声源。所以,应在单片机与A/D之间采用光电耦合器隔离。


4.放大器


    放大器的选择一般采用不同性能的集成放大器。在传感器工作环境复杂和恶劣时,应选择测量放大器,它具有高输入阻抗、低输出阻抗、强抗共模干扰能力、低温漂、低失调电压和高稳定增益等特点,使其在微弱信号的监测系统中广泛用作前置放大器。为了防止共模噪声窜入系统可以采用隔离放大器。隔离放大器具有线性和稳定性好,共模抑制比高,应用电路简单,放大增益可变等特点。在使用电阻传感器时,可选用具有放大、滤波、激励功能的模块2B30/2B31,它是高精度、低噪声、功能齐全的电阻信号适配器。


5.采样保持器


    采样保持器电路(S/H)具有保持和采样两种状态,其作用是保持A/D转换期间输入信号不变。采样保持电路中的采样电容对电路精度的影响起着十分重要的作用。因此,采样保持电容最好采用感应吸收小、漏电流小的聚苯乙烯电容,或者聚四氟乙烯电容。

    采样保持器电路(S/H)在采样与保持两种状态转换时,会窜入干扰,这是由于在进入保持状态的同时,逻辑输入信号通过印刷电路板布线间寄生电容耦合和漏电耦合到模拟信号输入端而引起的。为了减少该误差,印刷电路布线时,使逻辑输入端的走线与模拟输入端尽可能距离远些,或者将模拟输入端用地线包围起来,以降低线间寄生电容耦合和隔断漏电通路。另外,在保持模式时,输出将随电源的波动而变化,因此,芯片的供电电源应该是经过稳压和滤波,在芯片电源线与地线间加去耦电容。


6.A/D转换器


    A/D转换器(又称ADC)是将模拟信号转换成数字信号,其转换工作原理与转换性能有密切关系。逐次比较式ADC转换速度较高,但抗干扰能力差。双积分ADC抗干扰能力强,尤其是对工频干扰有较强的抑制能力,具有较高的转换精度,但转换速度较低。V/F式ADC也具有较好的抗干扰性能、很好的线性度和高分辨率,其转换速度也低。余数反馈比较式ADC具有量化噪声小,分辨率高。∑-△式ADC,它兼有余数反馈比较式和积分式的特征,具有抗干扰能力强、量化噪声小、分辨率高和线性度好的优点,转换速度也高于积分式ADC。因此,∑-△式ADC是智能仪表和工业过程参数检测控制的优先选择。


7.单片机主机单元


    所谓主机单元,是指以单片机芯片为核心,配置必要的外部器件构成的单片机最小系统。主机单元是整个测控系统的核心,其性能的好坏直接影响到整个测控系统的质量。以下是主机单元的配置与抗干扰问题。

    (1)总线的可靠性设计:

    配置总线驱动器可提高总线的负载能力,改善信号波形。当总线的负载接近负载总线的驱动能力时可能会影响总线信号的逻辑电平,有时会发生误操作,可通过连接某I/O线到数据线来改善总线的不平衡程度,提高系统的可靠性。另外,在总线上适当安装上拉电阻也可提高总线信号传输的可靠性。

    (2)芯片配置与抗干扰:

    ①去耦电容配置:  当数字电路受到跳变电流作用时,也将产生阻抗噪声,解决问题的有效措施是设置合适的去耦电容。
  
    ②数字输入端的噪声抑制:  通常是根据有用脉冲信号与无用脉冲噪声之间的区别,采取既保证有用脉冲信号不丢失,又有效地抑制无用脉冲噪声的措施。通常是在数字电路接口部位加入RC滤波环节,利用RC的延时作用来控制噪声的影响,并在RC滤波器的输出端接入施蜜特型集成电路。抑制输入噪声的另一项措施是提高输入端的噪声容限,这可通过加上拉电阻、电源分散配置,以及提高供电电源电压等措施。
  
    ③数字电路不用端的处理:  可将不使用的输入端固定在高电平上或将不使用端与有用信号输入端并联在一起。
  
    ④存储器的布线: 数据线、地址线、控制线要尽量缩短,以减少对地电容。尤其是地址线,各条线的长短、布线方式应尽量一致,以免造成各线的阻抗差异过大,使地址信号传输过程中到达顶端时波形差异过大,形成控制信息的非同步干扰。由于开关噪声严重,要在电源入口处,以及每片存储芯片的Vcc 与GND之间接入去耦电容。由于负载电流大,电源线和地线要加粗走线尽量短。印制板两面的三总线互相垂直,以防止总线之间的电磁干扰。总线的始端和终端要配置合适的上拉电阻,以提高高电平噪声容限,增加存储器端口在高阻状态下抗干扰能力和削弱反射波干扰。若主机的三总线需要引出而与其他扩展板相连接,应通过三态缓冲门后再与其他扩展板相连接。这样,可以有效防止外界电磁干扰,改善波形和削弱反射干扰。
  
  
二、软件抗干扰措施


    软件抗干扰技术所研究的主要内容,其一是采取软件的方法抑制叠加在模拟输入信号上噪声的影响,如数字滤波技术;其二是由于干扰而使运行程序发生混乱,导致程序乱飞或陷入死循环时,采取使程序纳入正规的措施,如软件冗余、软件陷阱、看门狗等技术。


1.数字滤波技术


    通常使用的方法有:算术平均法、中值法、抑制脉冲算术平均法、一阶惯性滤波法、程序判断滤波法和递推平均滤波法等。


2.主动初始化


    这里的“初始化”泛指在各段程序中,对单片机片内外扩展器件的各种功能、端口或者方式、状态等采取的永久性的或者临时的设置。这样不仅保证上电或复位后软件能够正确地实现各种级别的初始化,而在程序中每次使用某种功能前,都要再一次对响应的控制寄存器设定动作模式。实践证明,这一措施可以大大提高系统对于入侵干扰的自恢复性能。


3.NOP的使用


    可在双字节指令和3字节指令之后插入两个单字节NOP指令,这可保证其后的指令不被拆散。因为“乱飞”的程序即使落到操作数上,由于两个空操作指令NOP的存在,不会将其后的指令当操作数执行,从而使程序纳入正轨。对程序流向起决定作用的指令和某些对系统工作状态起重要作用的指令之前插入两条NOP指令,可保证乱飞程序迅速纳入轨道,确保这些指令正确执行。


4.重要指令重复执行


    对程序流向起决定作用的指令和某些对系统工作状态起重要作用的指令的后面,可重复写上这些指令,以确保这些指令的正确执行。对于频率较低的传感器数据,应在有效时间内多次采集并比较,对于控制外部设备的指令,则需要多次重复执行以确保有关信号的可靠性。为达到此目的,可把重要的指令设计成定时扫描模块,使其在整个程序的循环运行过程中反复执行。


5.添加数据冗余位


    为了增加系统中数据传输的可靠性,可给重要的数据添加冗余位,延长数据—代码之间的汉明距离以增强检测和纠正错误的能力。


6.软件陷阱


    当乱飞程序进入非程序区或表格区时,采用冗余指令使程序入轨条件不满足,此时可以设定软件陷阱,拦截乱飞程序,将其迅速引向一个指定位置,在那里有一段专门对程序出错处理的程序,使程序纳入正轨。


7.“看门狗”技术


    PC受到干扰而失控,引起程序乱飞,也可能使程序进入“死循环”。指令冗余技术、软件陷阱技术不能使失控的程序摆脱“死循环”的困境,通常采用程序监视技术,又称“看门狗”技术,使程序脱离“死循环”。其方法是:采用单片机内的一个定时器单元接收内部时钟提供的稳定脉冲,当定时器溢出时提出中断请求,对应的中断服务程序使PC回到初始化程序的第一行,从而实现强制性“软复位”。程序正常运行时,软件每隔一定的时间(小于定时器的溢出周期)给定时器清零或置数,即可预防溢出中断而引起的误复位。


8.数据的保护与恢复


    在编写程序的过程中,对于由指令改变结果性质的数据,可以考虑在每次改变后都尽可能地保护起来,以便必要时恢复。有时计算机在强制复位后,I/O端口和特殊寄存器SFR中的内容都将变成芯片出厂时的设定值,这很有可能引起系统的运行混乱。因此单片机在重新启动后,应当首先执行数据恢复程序,把控制端口等重要寄存器被保护的内容恢复还原。


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝