Presentation is loading. Please wait.

Presentation is loading. Please wait.

第14章 单片机应用系统抗干扰 与可靠性设计 1.

Similar presentations


Presentation on theme: "第14章 单片机应用系统抗干扰 与可靠性设计 1."— Presentation transcript:

1 第14章 单片机应用系统抗干扰 与可靠性设计 1

2 第14章 单片机应用系统抗干扰与可靠性设计 14. 1 干扰的来源 14. 2 供电系统干扰及其抗干扰措施 14. 2
第14章 单片机应用系统抗干扰与可靠性设计 14.1 干扰的来源 14.2 供电系统干扰及其抗干扰措施 电源噪声来源、种类及危害 供电系统的抗干扰设计 14.3 过程通道干扰的抑制措施—隔离 光电隔离的基本配置 光电隔离的实现 14.4空间干扰及抗干扰措施 接地技术 屏蔽技术 2

3 14.5 反电势干扰的抑制 14.6 印刷电路板的抗干扰设计 地线及电源线设计 去耦电容的配置 印制板的布线的抗干扰设计 14.7软件抗干扰措施 软件抗干扰的一般方法 指令冗余和软件陷阱 软件滤波 开关量输入/输出软件抗干扰设计 14.8 看门狗定时器的使用

4 内容概要 目前,随着单片机应用系统的广泛应用,单片机系统的可靠性越来越受到人们的关注。单片机系统的可靠性是由多种因素决定,其中系统的抗干扰性能的好坏是影响系统可靠性的重要因素。因此,研究抗干扰技术,提高单片机系统的抗干扰性能,是本章要研究的内容。本章将从干扰源的来源、硬件、软件以及电源系统、接地系统等各个方面研究分析并给出有效可行的解决措施,同时还对软件的抗干扰措施进行了介绍。

5 14.1 干扰的来源 一般把影响单片机测控系统正常工作的信号称为噪声,又 称干扰。在单片机系统中,如果出现干扰,就会影响指令的正 常执行,造成控制事故或控制失灵,在测量通道中产生干扰, 就会使测量产生误差,电压的冲击有可能使系统遭到致命的破 坏。 环境对单片机控制系统的干扰一般都是以脉冲的形式进入 系统的,干扰窜入单片机系统的渠道主要有三条,如图14-1 所示。

6 图 单片机测控系统的主要干扰渠道

7 (1) 空间干扰 空间干扰来源于周围的电气设备如发射机、中频炉、可控硅逆变电源等发出的电干扰和磁干扰;广播电台或通讯发射台发出的电磁波;空中雷电,甚至地磁场的变化也会引起干扰。这些空间辐射干扰会使单片机系统不能正常工作。 (2) 供电系统干扰 由于工业现场运行的大功率设备众多,特别是大感性负载设备启停会使得电网电压大幅度涨落(浪涌),工业电网电压的欠压或过压常常达到额定电压的±15% 以上。这种状况有时长达几分钟、几小时、甚至几天。由于大功率开关的通断,电机的启停,电焊等原因,电网上常常出现几百伏,甚至几千伏的尖脉冲干扰。

8 (3) 过程通道干扰 为了达到数据采集或实时控制的目的,开关量输入输出,模拟量输入输出是必不可少的。在工业现场,这些输入输出的信号线和控制线多至几百条甚至几千条,其长度往往达几百米或几千米,因此不可避免地将干扰引入单片机系统。当有大的电气设备漏电,接地系统不完善,或者测量部件绝缘不好,都会使通道中直接串入干扰信号;各通道的线路如果同出一根电缆中或绑扎在一起,各路间会通过电磁感应而产生瞬间的干扰,尤其是0~15V的信号与交流220V的电源线同套在一根长达几百米的管中其干扰更为严重。这种彼此感应产生的干扰其表现形式仍然是通道中形成干扰电压。这样,轻者会使测量的信号发生误差,重者 8

9 会使有用的信号完全淹没。有时这种通过感应产生的干扰电压会达到几十伏以上,使单片机系统无法工作。 以上三种干扰以来自供电系统的干扰最甚,其次为来自过程通道的干扰。对于来自空间的辐射干扰,需加适当的屏蔽及接地来解决。 14.2 供电系统干扰及其抗干扰措施 任何电源及输电线路都存在内阻,正是这些内阻才引起了电源的噪声干扰。如果没有内阻,无论何种噪声都会被电源短路吸收,在线路中不会建立起任何干扰电压。 单片机系统中最重要、危害最严重的干扰源来源于电源。在某些大功率耗电设备的电网中,经对电源检测发现,在50周正弦波上叠加有很多1000多伏的尖峰电压。 9

10 电源噪声来源、种类及危害 如果把电源电压变化持续时间定义为Δt,那么,根据Δt的大小可以把电源干扰分为: (1)过压、欠压、停电:Δt>1s; (2)浪涌、下陷:1s>Δt>10ms; (3)尖峰电压:Δt为µs量级; (4)射频干扰:Δt为ns量级; (5)其它:半周内的停电或者过欠压。 过压、欠压、停电的危害是显而易见的,解决的办法是使用各种稳压器、电源调节器,对付暂短时间的停电则配置不间断电源(UPS)。 10

11 浪涌与下陷是电压的快变化,如果幅度过大也会毁坏系统。即使变化不大(±10%~±15%),直接使用不一定会毁坏系统,但由于电源系统中接有反应迟缓的磁饱和或电子交流稳压器,往往会在这些变化点附近产生振荡,使得电压忽高忽低。如果有连续几个±10%~±15%的浪涌或下陷,由此造成的振荡能产生±30%~±40%的电源变化,而是系统无法工作,解决的办法是使用快速响应的交流电源稳压器。 尖峰电压持续时间很短,一般不会毁坏系统,但对单片机系统正常运行危害很大,会造成逻辑功能紊乱,甚至冲坏源程序。解决办法是使用具有噪声抑制能力的交流电源调节器、参数稳压器或超隔离变压器。

12 射频干扰对单片机系统影响不大,一般加接2~3节低通滤波器既可解决。 14. 2
射频干扰对单片机系统影响不大,一般加接2~3节低通滤波器既可解决。 供电系统的抗干扰设计 单片机测控系统的供电,常常是一个棘手问题,单单一台高质量的电源不足以解决干扰和电压波动问题的,必须完整地设计整个电源供电系统。 逻辑电路是在低电压、大电流下工作,电源的分配就必须引起注意,譬如一条0.1Ω的电源线回路,对于5A的供电系统,就会把电源电压从5V降到4.5V,以至不能正常工作。另一方面工作在极高频率下的数字电路,对电源线有高频要求,所以一般电源线上的干扰是数字系统最常出现的问题之一。 12

13 电源分配系统首要的就是良好的接地,系统的地线必须能够吸收来自所有电源系统的全部电流。应该采用粗导线作为电源连接线,地线应尽量短而直接走线;对于插件式线路板,应多给电源线、地线分配几个沿插头方向均匀分布的插针。 在单片机系统中,为了提高供电系统的质量,防止窜入干扰,建议采用如图14-2所示的供电配置并采取如下措施: (1)交流近线端加交流滤波器,可滤掉高频干扰,如电网上大功率设备启停造成的瞬间干扰。滤波器市场上的产品有一级、二级滤波器之分,安装时外壳要加屏蔽并良好接地,进出线要分开,防止感应和辐射耦合。低通滤波器仅允许50Hz交流电通过,对高频和中频干扰有良好的衰减作用。 13

14 图 供电配置原理框图

15 (2)要求高的系统加交流稳压器。 (3)采用具有静电屏蔽和抗电磁干扰的隔离电源变压器。 (4)采用集成稳压块两级稳压。目前市场上集成稳压块有许多种,如提供正电源的7805、7812、7820、7824以及提供负电压的79系列稳压块,它们内部是多级稳压电路,采用两级稳压,效果好。例如主机电源先用7809稳到9V,再用7805稳到5V。 (5)直流输出部分采用大容量电解电容进行平滑滤波。 (6)交流电源线与其他线尽量分开,减少再度耦合干扰。如滤波器的输出线上干扰已减少,应使其与电源进线级滤波器外壳保持一定距离,交流电源线与直流电源线即信号线分开走线。 15

16 (7)电源线与信号线一般都通过地板下面走线,而且不可把两线靠得太近或互相平行,以减少电源信号线的影响。 (8)在每块印刷版的电源与地之间并接退耦电容。即5~10µF的电解电容和一个0.01~1.0µF的电容,以消除直流电源与地线中的脉冲电流所造成的干扰。 14.3 过程通道干扰的抑制措施—隔离 过程通道是系统输入、输出以及单片机之间进行信息传输的路径。过程通道的干扰主要采用光电隔离技术。 光电隔离的基本配置 采用光电耦合器可以将单片机与前向、后向以及其他部分切断电路的联系,能有效地防止干扰从过程通道进入单片机。其原理如图14-3所示。 16

17 图 光电耦合隔离的基本配置

18 光电耦合的主要优点是能有效抑制尖峰脉冲以及各种噪声干扰,从而使过程通道上的信噪比大大提高。 14. 3. 2 光电隔离的实现 1
光电耦合的主要优点是能有效抑制尖峰脉冲以及各种噪声干扰,从而使过程通道上的信噪比大大提高。 光电隔离的实现 1. ADC、DAC与单片机之间的隔离 对CPU数据总线进行隔离是一种十分理想的方法,全部I/O端口均被隔离。但是,由于在CPU数据总线上是高速(µS级)双向传输,这就要求频率响应为MHz级的隔离器件,这种器件目前价格较高。因此,这种方法采用的不多。 通常用下列方法将ADC、DAC与单片机间的电气联系切断。 (1)对A/D、D/A进行模拟隔离 18

19 对A/D、D/A变换前后的模拟信号进行隔离,是常用的一种方法。通常采用隔离放大器对模拟量进行隔离。但所用的隔离型放大器必须满足A/D、D/A变换的精度和线性要求。例如,如果对12位A/D、D/A变换器进行隔离,其隔离放大器要达到13位,甚至14位精度,如此高精度的隔离放大器,价格昂贵。 (2)在I/O与A/D、D/A之间进行数字隔离 这种方案最经济,也称数字隔离。A/D变换时,先将模拟量变为数字量,对数字量进行隔离,然后再送入单片机。D/A变换时,先将数字量进行隔离,然后进行D/A变换。这种方法的优点是方便、可靠、廉价,不影响A/D、D/A的精度和线性度。缺点是速度不高。如果用廉价的光电隔离器件,最大转换速度约为每秒

20 3000~5000点,这对于一般工业测控对象(如温度、湿度、压力等)已能满足要求。 图14-4所示是实现数字隔离的一个例子。该例将输出的数字量经锁存器锁存后,驱动光电隔离器,经光电隔离之后的数字量被送到D/A变换器。但要注意的是,现场电源F+5V,现场地FGND和系统电源S+5V及系统地SGND,必须分别由两个隔离电源供电。还应指出的是,光电隔离器件的数量不能太多,由于光电隔离器件的发光二极管与受光三极管之间存在分布电容。当数量较多时,必须考虑将并联输出改为串联输出的方式,这样可使光电器件大大减少,且保持很高的抗干扰能力,但传送速度下降了。 20

21 图 数字隔离原理图

22 2. 开关量隔离 常用的开关量隔离器件有继电器、光电隔离器、光电隔离固态继电器(SSR)。 用继电器对开关量进行隔离时,要考虑到继电器线包的反电动势的影响,驱动电路的器件必须能耐高压。为了吸收继电器线包的反电动势通常在线包两端并联一个二极管。其触点并联一个消火花电容器,容量可在0.1~0.047µF之间选择,耐压视负荷电压而定。 对于开关量的输入,一般用电流传输的方法。此方法抗干扰能力强,如图14-5所示。R1为限流电阻,D1、R2为保护二极管和保护电阻。当外部开关闭合时,有电源E产生电流,

23 图 开关量的电流传输原理图

24 使光电二极管导通,采用不同的R1, R2值以保证良好的干扰能力。固态继电器代替机械触点的继电器是十分优越的。固态继电器是将发光二极管与可控硅封装在一起的一种新型器件。当发光二极管导通时,可控硅被触发而接通电路。固态继电器视触发方式不同,可分为过零触发与非过零触发两大类。过零触发的固态继电器,本身几乎不产生干扰,这对单片机控制是十分有利的,但造价是一般继电器的5~10倍。 14.4空间干扰及抗干扰措施 空间干扰主要指电磁场在线路、导线、壳体上的辐射、吸收和解调。干扰来自应用系统的内部和外部,市电电源线是无线电波的媒介,而在电网中有脉冲源工作时,它又是辐射天线,

25 因而任一线路、导线、壳体等在空间均同时存在辐射、接收、调制。在现场解决空间干扰时,首先要正确判断是否是空间干扰,可在系统供电电源入口处接入WRY型微机干扰抑制器,观察干扰现象是否继续存在,如继续存在则可认为空间干扰。空间干扰不一定是来自系统外部,空间干扰的抗干扰设计主要是地线系统设计,系统的屏蔽与布局设计。 接地技术 1. 接地种类 有两大类接地。一类是为人身或设备安全目的,而把设备的外壳接地,这称之为外壳接地或安全接地;另外一类接地是为电路工作提供一个公共的电位参考点,这种地称为工作接地。

26 (1)外壳接地 外壳接地是真正的与大地连接,以使漏到机壳的电荷能及时泄放到地球上去,这样才能确保人身和设备的安全。外壳接地的接地电阻应当尽量低,因此在材料及施工方面均有一定的要求。外壳接地是十分重要的,但实际上往往又为人们所忽视。 (2)工作接地 工作接地是电路工作需要而进行的。在许多情况下,工作地不与设备外壳相连,因此工作地的零电位参考点(及工作地)相对地球的大地是浮空的。所以也把工作地称为“浮地”。 26

27 2. 接地系统 正确、合理接地,是单片机应用系统抑制干扰的主要方法。 在单片机应用系统中,前述两大类地按单元电路的性质又可分为以下几种接地: 数字地(又称逻辑地),为逻辑电路的零电位。 模拟地,为A/D转换、前置放大器或比较器的零电位。 信号地,通常为传感器的地。 小信号前置放大器的地。 功率地,为大的电流网络部件的零电位。 交流地,交流50Hz地线,这种地线是噪声地。

28 屏蔽地,为防止静电感应和磁场感应而设置的地。
以上这些地线如何处理,是浮地还是接地?是一点地接还是多点接地?这些是单片机测控系统设计、安装、调试中的一个大问题。下面就来讨论。 (1)机壳接地与浮地的比较 全机浮空,即机器各个部分全部与大地浮置起来。这种方法有一定的抗干扰能力,但要求机器与大地的绝缘电阻不能小于50MΩ,且一旦绝缘下降便会带来干扰;另外,浮空容易产生静电,导致干扰。 另一种,就是测控系统的机壳接地,其余部分浮空,如图14-6所示。浮空部分应设置必要的屏蔽,例如双层屏蔽浮地或

29 多层屏蔽。这种方法干扰能力强,而且安全可靠,但工艺较复杂。两种方法比较,后者较好,并为越来越多的人所采用。
图 机壳接地

30 (2)一点接地与多点接地的应用原则 一般而言,低频(1MHz以下)电路应一点接地,如图14-7所示。高频(10MHz以上)电路应多点就近接地。因为,在低频电路中,布线和元件间的电感较小,而接地电路形成的环路,对干扰的影响却很大,因此应一点接地;对于高频电路,地线上具有电感,因为增加了地线阻抗,同时各地线之间产生了电感耦合。当频率甚高时,特别是当地线长度等于1/4波长的奇数倍时,地线阻抗就会变得很高,这时地线变成了天线,可以向外辐射噪声信号。 单片机测控系统的工作频率大多较低,对它起作用的干扰频

31 图 一点接地

32 率也大都在1MHz以下,故宜采用一点接地。在1MHz~100MHz之间,如用一点接地,其地线长度不得超过波长的1/20。否则应该多点接地。
(3)交流地与信号地不能共用 因为在一段电源地线的两点间会有数毫伏,甚至几伏电压,对低电平信号电路来说,这是一个非常严重的干扰,因此,交流地和信号地不能共用,图14-8为一种不正确的接法。 (4)数字地和模拟地 数字地通常有很大的噪声而且电平的跳跃会造成很大的电流尖峰。所有的模拟公共导线(地)应该与数字公共导线(地)分开走线,然后只是一点汇在一起。因此,要把各芯片所有的

33 图 不正确的接地

34 模拟地和数字地分别相连,然后模拟(公共)地与数字(公共)地仅在一点相连接,在此连接点外,在芯片和其他电路中且不可再有公共点,见图14-9。但在ADC和DAC电路中,要注意地线的正确连接,否则转换将不准确。ADC和DAC电路地线的正确接法是,先将ADC和DAC芯片上的模拟地引脚与数字地引脚尽可能短的连接,然后再接到模拟地上。 图 数字地和模拟地正确的地线连接

35 (5)微弱信号模拟地的接法 A/D转换器在采集0~50mV微小信号时,模拟地的接法极为重要。为提高抗共模干扰的能力,可用三线采样双层屏蔽浮地技术。这种三线采样双层屏蔽技术是抗共模干扰最有效的方法。 (6)功率地 这种地线电流大,地线应粗些,且应与小信号分开走线。 屏蔽技术 高频电源、交流电源、强电设备产生的电火花甚至雷电,都能产生电磁波,从而成为电磁干扰的噪声源。当距离较近时,电磁波会通过分布电容和电感耦合到信号回路而形成电磁干扰;当距离较远时,电磁波则以辐射形式构成干扰。

36 单片机使用的振荡器,本身就是一个电磁干扰源,同时也由于它又极易受其他电磁干扰的影响,破坏单片机的正常工作。
屏蔽可分为以下三类: (1)电磁屏蔽,防止电磁场的干扰; (2)磁屏蔽,防止磁场的干扰; (3)电场屏蔽,防止电场的耦合干扰。 电磁屏蔽主要是防止高频电磁波辐射的干扰,以金属板、金属网或金属盒构成的屏蔽体能有效地对付电磁波的干扰。屏蔽体以反射方式和吸收方式来削弱电磁波,从而形成对电磁波的屏蔽作用。

37 磁场屏蔽是防止电极、变压器、磁铁、线圈等的磁感应和磁耦合,使用高导磁材料做成屏蔽层,是磁路闭合,一般接大地。当屏蔽低频磁场时,选择磁钢、坡莫合金、铁等导磁率高的材料;而屏蔽高频磁场则应选择铜、铝等导电率高的材料。 电场屏蔽是为了解决分布电容问题一般是接大地,这主要是指单层屏蔽。对于双层屏蔽,例如双变压器,原边屏蔽接机壳(即接大地),副边屏蔽接到浮地的屏蔽盒。 当一个接地的放大器与一个不接地的信号源相连时,连接电缆的屏蔽层应接到放大器公共端。反之,应接信号源的公共端。高增益放大器的屏蔽层应接到放大器的公共端。

38 为了有效发挥屏蔽体的屏蔽作用,还应注意屏蔽体的接地问题。为了消除屏蔽体与内部电路的寄生电容,屏蔽体应按“一点接地”的原则接地。
14.5 反电势干扰的抑制 在单片机应用系统中,常使用较大电感量的元件或设备,如继电器、电动机、电磁阀等。当电感回路的电流被切断时,会产生很大的反电势而形成噪声干扰。这种反电势甚至可能击穿电路中晶体管之类的器件,反电势形成的噪声干扰能产生电磁场,对单片机应用系统中的其它电路产生干扰,这时可采用如下措施来抑制反电势干扰:

39 (1)如果通过电感线圈的是直流电流,可在线圈两端并联二极管和稳压管,如图14-10(a) 所示。
在稳定工作时,并联支路被二极管D阻断而不起作用;当三极管T由通道变为截止时,在电感线圈两端产生反电势e。此电势可在并联支路中流通,因此e的幅值被限制在稳压管DW的工作电压范围之内,并被很快消耗掉,从而抑制了反电势的干扰。使用时DW的工作电压应选择得比外加电源高些。 如果把稳压管换为电阻,同样可以达到抑制反电势的目的,如图14-10(b)所示,因此也适用于直流驱动线圈的电路。在这个电路中,电阻的阻值范围可以从几欧到几十欧。阻值太小,

40 图 反电势的抑制电路

41 反电势衰减得慢;而阻值太大又会增大反电势的幅值。
(2)反电势抑制电路也可由电阻和电容组成,见图14-11。适当选择R、C参数,也能 获得较好的耗能效果。这种电路不仅适用于交流驱动的线圈,也适用于直流驱动的线圈。 (3)反电势抑制电路不但可以接在线圈的两端,也可以接在开关的两端,例如继电器,接触器等部件在操作时,开关会产生较大的火花,必须利用RC电路加以吸收,如图14-12所示。对于图14-12(b),一般R取1~2KΩ,C取2.2~4.7μF。

42 图 由RC组成的抑制电路 图 开关两端的反电势抑制电路

43 14.6 印刷电路板的抗干扰设计 印刷电路板(也称印制版)是单片机系统中器件、信号线、电源线的高密度集合体,印刷电路板设计的好坏对抗干扰能力影响很大,故印刷电路板设计决不单是器件、线路的简单布局安排,还必须符合抗干扰的设计原则。 地线及电源线设计 1. 地线宽度 加粗地线能降低导线电阻,是它能通过三倍于印制板上的允许电流。如有可能,地址宽度应在2~3mm以上。 2. 接地线构成闭环路 接地线构成闭环路能明显地提高抗噪声能力。闭环形状能显著地

44 缩短线路的环路,降低线路阻抗,从而减少干扰。但要注意环路所包围的面积越小越好。
3. 印刷电路板分区集中并联一点接地 当同一印制板上有多个不同功能的电路时,可将同一功能单元的元器件集中于一点接地,自成独立回路。这就可使地线电流不会流到其它功能单元的回路中去,避免了对其它单元的干扰。与此同时,还应将各功能单元的接地块与主机的电源地相连接,如图14-13所示。这种接法称为“分区集中并联一点接地”。为了减小线路阻抗,地线和电源线要采用大面积汇流排。

45 图 分区集中并联一点接地

46 数字地和模拟地分开设计,在电源处两种地线相连,且地线应尽量加粗。
4. 电源线的布置 电源线除了要根据电流的大小,尽量加粗导体宽度外,采取使电源线、地线的走向与数据传递的方向一致,将有助于增强抗噪声能力。 去耦电容的配置 印制板上装有多个集成电路,而当其中有些元件耗电很多时,地线上会出现很大的电位差。抑制电位差的方法是在各器件的电源线和地线间分别接入去耦电容,以缩短开关电流的流通途径,降低电阻降压,这是印制板设计的一项常规做法。

47 1. 电源去耦 电源去耦就是在每个印制板入口外的电源线与地线之间并接退耦电容。并接电容应为一个大容量的电解电容(10~100μF)和一个0.01~0.1μF的非电解电容。我们可以把干扰分解成高频干扰和低频干扰两部分,并接大电容为了去掉低频干扰成分,并接小电容为了去掉高频干扰部分。低频去耦电容用铝或钽电解电容,高频去耦电容采用自身电感小的云母或陶瓷电容。 2. 集成芯片去耦 每个集成芯片都应安置一个0.1μF的陶瓷电容器,安装每个芯片的去耦电容时,必须将去耦电容安装在本集成芯片的Vcc和GND线之间,否则便失去了抗干扰作用。

48 如遇到印刷电路板空隙小装不下时,可每4~10个芯片安置一个1~10μF的限噪声用的钽电容器。这种电容器的高频阻抗特别小,在500Hz~200MHz范围内阻抗小于1Ω,而且漏电流很小(0.5μA以下)。
对于抗噪声能力弱,关断电流大的器件和ROM、RAM存储器,应在芯片的电源线Vcc和地线(GND)间直接入去耦电容。 印制板的布线的抗干扰设计 印制板的布线方法对抗干扰性能有直接影响。前面已经间接地介绍了一些布线原则,对于没有介绍到一些布线原则,下面予以补充说明。

49 (1)如果印制板上逻辑电路的工作速度低于TTL的速度,导线条的形状无什么特别要求;若工作速度较高使用高速逻辑器件,用作导线的铜箔在90°转弯处的导线阻抗不连续,可能导致反射干扰的发生,所以宜采用图14-14中右方的形状,把弯成90°的导线改成45°,这将有助于减少反射干扰的发生。 (2)不要在印制板中留下无用的空白铜箔层,因为它们可以充当发射天线或接收天线,可把就近它们接地。 (3)双面布线的印制板,应使双面的线条垂直交叉,以减少磁场耦合,有利于抑制干扰。

50 图 °转弯处的导线改成45°

51 (4)导线间距离要尽量加大。对于信号回路,印制铜箔条的相互距离要有足够的尺寸,而且这个距离要随信号频率的升高而加大,尤其是频率极高或脉冲前言十分陡峭的情况更要注意,只有这样才降低导线之间分布电容的影响。 (5)高电压或大电流线路对其它线路更容易形成干扰,低电平或小电流信号线路容易受到感应干扰,布线时使两者尽量相互远离,避免平行铺设,采用屏蔽等措施。 (7)所有线路尽量沿直流地铺设,尽量避免沿交流地铺设。 (8)电源线的布线除了要尽量加粗导体宽度外,采取使电源线、地线的走向与数据传递的方向一致,将有助于增强抗噪声

52 能力。 (9)走线不要有分支,这可避免在传输高频信号导致反射干扰或发生谐波干扰,如图14-15所示。 14.7软件抗干扰措施 单片机系统在噪声环境下运行,除了前面介绍的各种抗干扰的措施外,还可采用软件来增强系统的抗干扰能力。本节介绍几种常用软件抗干扰的方法。 软件抗干扰的一般方法 软件抗干扰技术是当系统受干扰后使系统恢复正常运行或输入信号受干扰后去伪求真的一种辅助方法。因此软件抗干扰是

53 图 走线不要有分支

54 被动措施,而硬件抗干扰是主动措施。但由于软件设计灵活,节省硬件资源,所以软件抗干扰技术已得到较为广泛的使用。
软件抗干扰技术研究的主要内容如下: (1)软件滤波。采用软件的方法抑制叠加在输入信号上噪声的影响,可以通过软件滤波剔除虚假信号,求取真值。 (2)开关量的输入/输出抗干扰设计。可采用对开关量输入信号重复检测,对开关量输出口数据刷新的方法。 (3)由于CPU受到干扰,程序计数器PC的状态被破坏,导致程序从一个区域跳转到另一个区域,或者程序在地址空间内“乱飞”,或者进入死循环。因此必须尽可能早的发现并采取措

55 施,使程序纳入正轨。为使“乱飞”的程序被拦截或程序摆脱“死循环”可采用指令冗余、软件陷阱或“看门狗”等技术。
下面介绍上述的各种软件抗干扰技术。 指令冗余和软件陷阱 当单片机系统由于干扰而使程序运行发生混乱、导致程序乱飞或陷入死循环,必须采取使程序纳入正规的措施,例如,经常采用的措施是指令冗余和软件陷阱。 1.指令冗余 单片机程序运行时取指令是先取操作码,再取操作数。当单片机系统受干扰出现错误时,程序便脱离正常轨道“乱飞”。

56 当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序有可能出错。若乱飞到三字节指令,出错概率更大,这时可在双字节指令和三字节指令后插入两个字节以上的NOP指令,可保护其后的指令不被拆散,这称为指令冗余。 采用指令冗余无疑会降低系统的效率。因此,仅仅在一些对程序流向起决定作用的指令之前插入两条NOP指令,此类指令有RET、RETI、ACALL、LCALL、SJMP、AJMP、LJMP、JZ、JNZ、JC、JNC、JB、JNB、JBC、CJNE、DJNZ等。另外在某些对系统工作状态至关重要的指令(如SETB EA之类)前也可插入两条NOP指令,一旦程序乱飞时,保证使程序迅速纳

57 入正轨。 指令冗余措施可以减少程序乱飞的次数,使其很快纳入程序轨道,但这并不能保证程序在失控期间不干坏事,更不能保证程序纳入正常轨道后就太平无事了。程序的运行事实上已经偏离了正常顺序,有可能做着它现在不该做的事情。解决这个问题还必须采用软件容错技术(限于篇幅,这里不作介绍),可使系统的误动作减少,并消灭重大误动作。 2.软件陷阱 软件陷阱就是一条引导指令“LJMP ERP”,强行将乱飞的程序引向一个指定的地址入口标号“ERP”,在那里有一段专门对程序出错进行处理的程序。为加强其捕捉效果,一般还在它

58 前面加两条NOP指令。 软件陷阱一般安排在以下4种地方。 (1)未使用的中断向量区:0003H~002FH 当由于干扰使未使用的中断开放,并激活这些中断时,就会进一步引起混乱。如果在这些地方布上陷阱,就能及时捕捉到错误中断。例如,系统共使用3个中断、T0、T1,它们的中断子程序分别为PGINT0、PGT0和PGT1,建议按如下方式来设置中断向量区:

59

60 (2)未使用的程序存储器空间 编写的程序中很少有将程序存储器空间全部用完的情况。对于剩余的程序存储器空间,一般均维持原状态(FFH),对于8051指令系统来讲,FFH是一条单字节指令(MOV R7,A),程序 60

61 弹飞到这一区域后将顺流而下,不再跳跃(除非受到新的干扰)。这时,只要每隔一段设置一个陷阱,就一定能捕捉到乱飞的程序。
软件陷阱一定要指向出错处理子程序ERP。可将ERP安排在0030H开始的地方,这样就可以用00H, 00 H, 02 H, 00 H, 30H五个字节(为3条指令NOP,NOP,LJMP ERP的机器代码)作为陷阱来填充EPROM中的未使用空间,或者每隔一段设置一个陷阱( ),其他单元保持FFH不变。 (3)表格 有两类表格。一类是数据表格,供“MOVC

62 ERP)。由于表格区一般较长,安排在最后的陷阱不能保证一定捕捉到乱飞的程序,有可能在中途再次飞走,这时只好由别处的陷阱或冗余指令来制伏它了。 (4)程序区 程序区是由一串执行指令构成的,我们不能在这些指令串中间任意安排陷阱,否则将影响正常程序执行。但是,在这些指 62

63 令串之间常有一些断裂点,正常执行的程序到此便不会继续往下执行,这类指令有LJMP、SJMP、AJMP、RET、RETI。这时PC的值应发生正常跳变。 如果还要顺次往下执行,必然会出错。我们在这种地方安排陷阱之后,就能有效地捕捉住它,而又不影响正常执行的程序流程。例如,在一个根据累加器的正、负、零值的进行跳转的三分支程序中,软件陷阱的安置方式如下: 63

64

65 由于软件陷阱都安排在正常程序执行不到的地方,故不影响程序执行效率。在当前程序存储器容量不成问题的条件下,多多设置陷阱是有益的。
软件滤波 对于实时数据采集系统,为了消除传感器通道中的干扰信号,常采用硬件滤波器先滤除干扰信号,再进行A/D转换。也可采用先A/D转换,再对A/D转换后的数字量进行软件滤波消除干扰。下面介绍几种软件滤波的方法。 1.算术平均滤波法 算术平均滤波法就是对一点数据连续取n个值进行采样,然后求算术平均。这种方法一般适用于具有随机干扰的信号的滤

66 波。这种信号的特点是有一个平均值,信号在某一数 值范围附近上下波动。这种滤波法,当n值较大时,信号的平滑度高,但灵敏度低;当n值较小时,平滑度低,但灵敏度高。应视具体情况选取n值,既要节约时间,又要滤波效果好。对于一般流量测量,通常取经验值n=12;若为压力测量,则取经验值n=4。一般情况下,经验值n取3~5次平均即可。 读者可根据上述设计思想,设计出算术平均滤波法的子程序AVGFIL。 2.滑动平均滤波法 上面介绍的算术平均滤波法,每计算一次数据需要测量n次。对于测量速度较慢或要求数据计算速度较快的实时控制系统来 66

67 说,该方法无效。下面介绍一种只需测量一次,就能得到当前算术平均值的方法—滑动平均滤波法。 滑动平均滤波法是把n个采样值看成一个队列,队列的长度为n,每进行一次采样,就把最新的采样值放入队尾,而扔掉原来队首的一个采样值,这样在队列中始终有n个“最新” 采样值。对队列中的n个采样值进行平均,就可以得到新的滤波值。 滑动平均滤波法对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;但对偶然出现的脉冲性干扰的抑制作用差,不易消除由此引起的采样值的偏差。因此它不适用于脉冲干扰比较严重的场合。通常,观察不同n值下滑动平均的输出响应,据此 67

68 选取n值,以便既少占有时间,又能达到最好的滤波效果,其工程经验值参考如下:
例14-1为滑动平均滤波法的参考程序。 【例14-1】假定n个双字节型采样值,30H单元为采样队列内存单元首地址,n个采样值之和不大于16位。新的采样值存于2EH、2FH单元,滤波值存于50H、51H单元,AVGFIL为本程序调用的算术平均滤波子程序。参考程序如下:

69

70

71 3.中位值滤波法 中位值滤波法就是对某一被测参数接连采样n次(一般n取奇数),然后把n次采样值按大小排列,取中间值为本次采样值。 中位值滤波能有效地克服因偶然因素引起的波动干扰。对温度、液位等变化缓慢的被测参数采用此方法能收到良好的滤波效果。但对于流量、速度等快速变化的参数一般不宜采用中位值滤波法。 【例14-2】 设采样值从8位A/D转换器输入5次,存放在SAMP为首地址的内存单元中,采用中位值滤波。 参考程序如下: 71

72 72

73

74 4.去极值平均值滤波法 前面介绍的算术平均与滑动平均滤波法,在脉冲干扰比较严重的场合,则干扰将会“平均”到结果中去,故上述两种平均值法不易消除由于脉冲干扰而引起的误差。这时可采用去极值平均值滤波法。 去极值平均值滤波法的思想:连续采样n次后累加求和,同时找出其中的最大值与最小值,再从累加和中减去最大值和最小值,按n -2个采样值求平均,即可得到有效采样值。这种方法类似于体育比赛中的去掉最高、最低分,再求平均分的评分办法。 为使平均滤波算法简单,n -2应为2、4、6、8或16,故n常取4、6、8、10或18。 74

75 具体做法有两种:对于快变参数,先连续采样n次,然后再处理,但要在RAM中开辟n个数据的暂存区;对于慢变参数,可一边采样,一边处理,而不必在RAM中开辟数据暂存区。实践中,为了加快测量速度,一般n取4。
【例14-3】以n =4为例,即连续进行4次数据采样,去掉其中最大值和最小值,然后求剩下两个数据的平均值。R2R3存最大值,R4R5存最小值,R6R7存放累加和及最后结果。当然,连续采样不只限4次,可以进行任意次,这时,只需改变R0中的数值。 参考程序如下:

76

77

78 78

79 开关量输入/输出软件抗干扰设计 如果干扰只作用在系统的I/O通道上,则可用如下方法减小或消除其干扰。 1.开关量输入软件抗干扰措施 干扰信号多呈毛刺状,作用时间短。利用这一特点,在采集某一状态信号时,可多次重复采集,直到连续两次或多次采集结果完全一致时才可视为有效。若相邻的检测内容不一致,或多次检测结果不一致,则是伪输入信号,此时可停止采集,给出报警信号。由于状态信号主要来自各类开关型状态传感器, 对这些信号采集不能用多次平均方法,必须绝对一致才行。

80 在满足实时性要求的前提下,如果在各次采集状态信号之间增加一段延时,效果会更好,以对抗较宽时间范围的干扰。延时时间在10~100μs。每次采集的最高次数限制和连续相同次数均可按实际情况适当调整。 2.开关量输出软件抗干扰措施 在单片机系统的输出信号中,有很多是驱动各种警报装置、各种电磁装置的状态驱动信号。这类信号抗干扰的有效输出方法是,重复输出同一个数据,只要有可能,重复周期应尽量短。外部设备接收到一个被干扰的错误信息后,还来不及做出有效的反应,一个正确的输出信息又到来了,这可以及时防止错误动作的产生。 80

81 在执行输出功能时,应该将有关输出芯片的状态也一并重复设置。例如,82C55芯片常用来扩展输入/输出功能,很多外设通过它们获得单片机的控制信息。这类芯片均应进行初始化编程,以明确各端口的功能。由于干扰的作用,有可能无意中将芯片的编程方式改变。为了确保输出功能正确实现,输出功能模块在执行具体的数据输出之前,应该先执行对芯片的初始化编程指令,再输出有关数据。 81

82 14.8 看门狗定时器的使用 当单片机应用系统受到干扰可能会失控,会引起程序“跑飞”或使程序陷入“死循环”。这时系统将完全瘫痪。如果操作人员在场,可按下人工复位按钮,强制系统复位。但操作人员不可能一直监视着系统,即使监视着系统,也往往是在引起不良后果之后才进行人工复位。能不能不要人来监视,使系统摆脱“死循环”,重新执行正常的程序呢?这可采用“看门狗”(Watchdog,简写为WDT)技术来解决这一问题。 “看门狗”技术就是使用一个WDT计数器来不断计数,监视程序的运行。当WDT计数器启动运行后,为防止WDT计数器的不必要溢出,在程序正常运行过程中,应定期性地把WDT 82

83 计数器清0,以保证其不溢出。AT89S52片内集成的 “看门狗”WDT包含一个14位计数器和看门狗定时器复位寄存器(WDTRST)。当单片机程序“跑飞”或 “死循环”时,也就不能定时地把WDT计数器清0。当WDT的14位计数器值计满溢出时,将在单片机的RST引脚上输出一个正脉冲(其宽度是98个时钟振荡周期),使AT89S52单片机复位,在系统的复位入口0000H处安排一条跳向出错处理程序段的指令或重新从头执行程序,从而使程序摆脱 “跑飞”或“死循环”状态。 使用看门狗时,用户只要向寄存器WDTRST(地址为A6H)先写1EH,紧接着写入E1H,WDT的计数器便启动计数,程序段如下:

84 MOV WDTRST,#1EH ;先向WDTRST写入1EH
在实际应用中,为防止WDT计数器启动后产生不必要的溢出,应在执行程序的过程中,用户不断地复位WDTRST,即向WDTRST寄存器写入数据1EH和E1H。 在程序编写中,一般把复位WDTRST的这两条指令,设计为一个子程序,只要在程序的正常运行中,不断调用该子程序,把计数器清0,使其不溢出即可。 注意寄存器WDTRST是只写寄存器,而WDT中的计数器既不可写,也不可读,一旦溢出,便停止计数。


Download ppt "第14章 单片机应用系统抗干扰 与可靠性设计 1."

Similar presentations


Ads by Google