620 likes | 853 Views
第 8 章 单片机系统的抗干扰技术. 本章主要介绍了单片机系统的干扰来源,主要干扰的形式、种类及抗干扰措施。通过对本章的学习,读者应达到以下目标:. 熟悉单片机系统的各种干扰来源及形式. 本章学习目标 :. 学会供电系统及过程通道的抗干扰措施. 能说出在印制电路板设计中体现的抗干扰措施. 学习设计软件陷阱及看门狗电路. 在日常生活中,经常会遇到这样一些现象。比如听收音机时,有汽车经过,喇叭就会出现刺耳的噪声,这就是干扰。 所谓干扰,就是有用信号外的噪声或造成恶劣影响的变化部分的总称 。
E N D
第8章 单片机系统的抗干扰技术 本章主要介绍了单片机系统的干扰来源,主要干扰的形式、种类及抗干扰措施。通过对本章的学习,读者应达到以下目标: • 熟悉单片机系统的各种干扰来源及形式 本章学习目标: • 学会供电系统及过程通道的抗干扰措施 • 能说出在印制电路板设计中体现的抗干扰措施 • 学习设计软件陷阱及看门狗电路
在日常生活中,经常会遇到这样一些现象。比如听收音机时,有汽车经过,喇叭就会出现刺耳的噪声,这就是干扰。所谓干扰,就是有用信号外的噪声或造成恶劣影响的变化部分的总称。在日常生活中,经常会遇到这样一些现象。比如听收音机时,有汽车经过,喇叭就会出现刺耳的噪声,这就是干扰。所谓干扰,就是有用信号外的噪声或造成恶劣影响的变化部分的总称。 在进行单片机应用产品的开发过程中,我们经常会碰到一个很棘手的问题,即在实验室环境下系统运行很正常,但小批量生产并安装在工作现场后,却出现一些不太规律、不太正常的现象。究其原因主要是系统的抗干扰设计不全面,导致应用系统的工作不可靠。引起单片机控制系统干扰的主要原因有以下几类: 8.1 干扰的来源
(1)供电系统的干扰 众所周知,电源开关的通断、电机和大的用电设备的启停会使供电电网发生波动,受这些因素的影响,电网上常常出现几百伏、甚至几千伏的尖峰脉冲干扰,这就会使同一电网供电的单片机控制系统无法正常运行。这种干扰是危害最严重也是最广泛的一种干扰形式。 (2)过程通道的干扰 在单片机应用系统中,开关量输入、输出和模拟量输入、输出通道是必不可少的。这些通道不可避免地会使各种干扰直接进入单片机系统。同时,在这些输入输出通道中的控制线及信号线彼此之间会通过电磁感应而产生干扰,从而使单片机应用系统的程序错误,甚至会使整个系统无法正常运行。
(3)空间电磁波的干扰 空间干扰主要来自太阳及其它天体辐射电磁波、广播电台或通讯发射台发出的电磁波及各种周围电气设备发射的电磁干扰等。如果单片机应用系统工作在电磁波较强的区域而没有采取相关的防护措施,就容易引起干扰。但这种干扰一般可通过适当的屏蔽及接地措施加以解决。 因此,针对以上出现的问题,我们必须采用有效措施以提高单片机应用系统抗干扰的能力。
8.2 主要干扰通道及抗干扰措施 8.2.1 供电系统干扰及抗干扰措施 1、供电干扰的种类 如果把电源电压变化持续时间定为Δt,那么,根据Δt的大小可以把电源干扰分为四种情况: (1)过压、欠压、停电: 当Δt>1s时产生的干扰,解决办法是使用各种稳压器、电源调节器,对短时停电可用不间断电源(UPS)供电。
(2)浪涌、下陷、半周降出:当1s>Δt> 10ms时产生 的干扰,可使用快速响应的交流电源调压器克服。 (3)尖峰电压:当Δt为μs量级时产生的干扰, 解决办法是使用具有噪声抑制能力的交流电源 调节器、参数稳压器或超隔离变压器。 (4)射频干扰:当Δt为ns量级时产生的干扰,可加2~3节低通滤波器消除干扰。
2、抗干扰设计 在单片机系统中,为了提高供电系统的质量,防止窜入干扰,建议采用如下措施: (1)单片机输入电源与强电设备动力电源分开。 (2)采用具有静电屏蔽和抗电磁干扰的隔离电源变压器。 隔离变压器的初级和次级之间均采用隔离屏蔽层(可用漆包线或铜等非导磁材料在初级和次级绕一层,但电气上不能与初级、次级线圈短路,而后引出一个头接地)。各初级、次级间的静电屏蔽与初级间的零电位线相接,再用电容耦合接地。如图8—1所示。 图8—1 隔离变压器
(3)交流进线端加低通滤波器,可滤掉高频干扰。安装时外壳要加屏蔽并使其良好接地,滤波器的输入、输出引线必须相互隔离,以防止感应和辐射耦合。直流输出部分采用大容量电解电容进行平滑滤波。(3)交流进线端加低通滤波器,可滤掉高频干扰。安装时外壳要加屏蔽并使其良好接地,滤波器的输入、输出引线必须相互隔离,以防止感应和辐射耦合。直流输出部分采用大容量电解电容进行平滑滤波。 (4)对于功率不大的小型或微型计算机系统,为了抑制电网电压起伏的影响,可设置交流稳压器。 (5)采用独立功能块单独供电,并用集成稳压块实现两级稳压。例如主板电源先用7809稳压到9V,再用7805稳压到5V。如图8—2所示。 (6)尽量提高接口器件的电源电压,提高接口的抗干扰能力。例如用光耦合器输出端驱动直流继电器,选用直流24V继电器比6V继电器效果好。
8.2.2过程通道干扰及抗干扰措施 图8—2 供电系统配置图 过程通道是系统输入、输出以及单片机之间进行信息传输的路径。由于输入输出对象与单片机之间的连接线长,容易串入干扰,必须采用隔离技术、双绞线传输、阻抗匹配等措施抑制。
1、开关量隔离 常用的开关量隔离器有光电隔离器、继电器、光电隔离固态继电器(SSR)。 (1)光电隔离器 光电耦合器是把一个发光二极管和一个光敏三极管封装在一个外壳里的器件,光电耦合器的电路符号如图8—3所示。输入信号使发光二极管发光,其光线又使光敏三极管产生电信号输出,从而既完成了信号的传递,又实现了电气上的隔离,如图8—4所示。对启动或停止负荷不太大的设备,常采用光电耦合器来抑制输出通道的干扰。 图8—3 光电隔离器图形符号 图8—4 开关量输入光电隔离电路
(2)继电器 如果输出开关量是用于控制大负荷设备时,就需采用继电器隔离输出。因为继电器触点的负载能力远远大于光电隔离的负载能力,它能直接控制动力回路。在采用继电器做开关量隔离输出时,要在单片机输出端的锁存器74LS273与继电器间设置一个OC门驱动器。用以提供较高的驱动电流。如图8—5所示。 图8—5 开关量继电器隔离电路
(3)双向晶闸管 双向晶闸管是在普通晶闸管的基础上发展而成的,它也是一种常用的大功率半导体器件,具有弱电控制,强电输出的特点,只需要很小的功率,就可以控制较大的电流。 图8-6(a)给出了普通小功率双向晶闸管的外形及引脚排列。 (a)普通小功率双向晶闸管的外形 (b)结构符号 图8-6 双向晶闸管的外形及结构符号
双向晶闸管的结构符号见图8-6(b)。三个电极分别是T1、T2、G。其特点是,当G极和T2极相对于T1的电压均为正时,T2是阳极,T1是阴极。反之,当G极和T2极相对于T1的电压均为负时,T1变成阳极,T2为阴极。双向晶闸管的结构符号见图8-6(b)。三个电极分别是T1、T2、G。其特点是,当G极和T2极相对于T1的电压均为正时,T2是阳极,T1是阴极。反之,当G极和T2极相对于T1的电压均为负时,T1变成阳极,T2为阴极。 (4)光电隔离固态继电器(SSR) 图8—8 SSR基本单元电路 图8—7 SSR的内部结构框图
固态继电器是将发光二极管与双向晶闸管封装在一起的一种新型电子开关。其内部结构框图如图8—7所示。当发光二极管导通时,可控硅被触发而接通电路。固态继电器可分为交流固态继电器和直流固态继电器两大类。其基本单元接口电路如图8—8所示。固态继电器是将发光二极管与双向晶闸管封装在一起的一种新型电子开关。其内部结构框图如图8—7所示。当发光二极管导通时,可控硅被触发而接通电路。固态继电器可分为交流固态继电器和直流固态继电器两大类。其基本单元接口电路如图8—8所示。 图8—8 SSR基本单元电路 图8—7 SSR的内部结构框图
2、 A/D、D/A与单片机之间的隔离措施 (1)模拟量隔离 对A/D、D/A变换前后的模拟信号进行隔离,是常用的一种方法。通常采用隔离型放大器对模拟量进行隔离。但所用的隔离型放大器必须满足A/D、D/A变换的精度和线性要求。
(2)数字量隔离 利用若干个锁存器对高速的地址信号、控制信号及数据进行锁存.然后用该信号对A/D、D/A芯片进行操作,完成多路开关的选通,进行A/D、D/A变换。换言之,A/D变换时,先将模拟量变为数字量进行隔离,然后再送入单片机。D/A变换时,先将数字量进行隔离,然后进行D/A变换。如图8—9所示。 图8—9 数字量隔离
3、利用双绞线抑制长线传输干扰 双绞线是较常用的一种传输线。与同轴电缆相比,其波阻抗高、抗共模噪声能力强,对电磁场具有一定抑制效果。 根据传送距离不同,双绞线使用方法不同,如表8—1所示。 当用双绞线传输与光电耦合器配合使用时,可按图8—10所示的方式连接。图中(a)是集电极开路驱动器与光电耦合器的一般情况。(b)是开关接点通过双绞线与光电耦合器连接的情况。如光电耦合器的光敏晶体管的基极上接有电容(12pF~0.01μF)及电阻(10~20M),且后面连接施密特集成电路驱动器,则会大大加强抗噪声能力,如图(c)所示。
4、机械触点及交流、直流电路的噪声抑制 (1)机械触点的抗干扰措施 开关、按钮、继电器触点等在操作时,经常会发生抖动,如不采取措施,则会造成误动作。这类器件可采用如图8—11所示的办法,以获得没有振荡的逻辑信号。
(a)滤波消抖电路 (b)单稳态电路 (c)触发器消抖电路 (d)施密特电路 图8—11 机械触点的抗干扰措施
(2)抑制反电动势的抗干扰措施 电机、变压器、继电器、电磁阀等工业电气设备多为感性负载,投切时会产生很高的反电势,这不仅可能损坏元件,而且会产生高频的电磁波干扰其它电路,通过电源直接侵入到单片机装置中。因此,在输入/输出通道中使用这类器件时,必须在继电器线圈或开关触头两端并接抗干扰电路,如图8—12所示。其中,(a)(b)用于直流电流的干扰抑制;(c)图电路对交、直流干扰均适用;(d)(e)用于接触器和继电器触头的两端。
(a)二极管—稳压管抑制电路 (b)电阻—二极管抑制电路(c)R-C阻容抑制电路 (d)(e)开关触头两端的反电势抑制电路 图8—12 反电势抑制电路
☆8.3 印制电路板及电路的抗干扰设计 在单片机系统中,印制电路板的设计好坏对抗干扰能力影响很大。印制电路板是用来支撑电路元件,并提供电路元件和器件之间电气连接的重要组件。为了减少干扰,在印制电路板设计过程中必须遵循以下三大原则: ●尽量控制噪声源; ● 尽量减小噪声的传播与耦合; ● 尽量增加噪声的吸收。
8.3.1印制电路板的尺寸及元件的选择 1.印制电路板大小要适中 如果印制电路板太大,会增加线路的阻抗及成本,降低抗干扰能力;太小,则散热不好,而且线路间干扰也会大大增加。 2.合理配置去耦电容 (1)直流电源输入端应跨接10~100μF以上的电解电容器。 (2)原则上每个集成电路芯片的Vcc引脚都应安置—个0.01μF的陶瓷电容器。也可每4~10个芯片安置一个1~10μF的钽电容器。
(3)对于抗噪声能力弱、关断时电流变化大的器件和ROM、RAM等存储器件,应在芯片的电源线(3)对于抗噪声能力弱、关断时电流变化大的器件和ROM、RAM等存储器件,应在芯片的电源线 (Vcc)和地线(GND)间直接接入去耦电容。 (4)电容引线不能太长,特别是高频旁路电容不能带引线。 (5)在选用作为电路充电的储能电容时,尽量采用大容量的钽电容或聚脂电容,而不用电解电容。若使用电解电容则要与高频特性好的去耦电容成对使用。如图8—13所示为去耦电容的安装位置图。
3.选择时钟频率低的单片机及外部时钟部件。3.选择时钟频率低的单片机及外部时钟部件。 4.元件的选择尽量采用低速器件。 5.对进入电路板的信号源及从高噪声区来的信号要加滤波,继电器线圈处要加续流二极管。 6.尽量不使用IC插座,而把IC直接焊在印制板上,这样可减少IC插座间较大的分布电容。 7.电源插接件与信号插接件要尽量远离,主要信号的插接件外面最好带有屏蔽。 在安排插针信号时,用一部分插针为接地针,均匀分布于各信号针之间,起到隔离干扰的作用。信号针与接地针理想的比例为1:1。
8.3.2印制电路板的合理布局 1.元件布置要合理分区。 单片机应用系统通常可分三区,即模拟电路区(怕干扰)、 数字电路区(既怕干扰、又产生干扰)、功率驱动区(干扰源)。应将这三个区合理分开,使它们相互间的信号耦合最小。 2.印制电路板要按单点接电源、单点接地的原则送电。三个区的电源线、地线由该点分三路引出。 3.噪声元件与非噪声元件要离得远一些。 易产生噪声的器件、小电流电路、大电流电路等应尽量远离计算机逻辑电路,如有可能,应另做电路板。 4.时钟发生器、晶振和CPU的时钟输入端要尽量靠近,并远离I/O线及接插件。
5.I/O驱动器件、功率放大器件尽量靠近印制电路板的边缘、靠近引出接插件。5.I/O驱动器件、功率放大器件尽量靠近印制电路板的边缘、靠近引出接插件。 6.器件的布置上也应考虑到散热。 最好把ROM、RAM、时钟发生器等发热较多的器件布置在印制板的偏上方部位(当印制板竖直安装时)或易通风散热的地方。单片机组件的参考布局如图8—14所示。 图8—14 单片机组件位置分配示意图
8.3.3印制电路板的合理布线 1.正确处理电源线 根据印制线路板电流的大小,尽量加粗电源线宽度,减少环路电阻。同时,使电源线、地线的走向和数据传递的方向一致。电源线和地线最好分别设计在不同的版面上,以防杂物引起短路。
2.正确处理地线 (1)正确选择单点接地与多点接地。当信号频率小于1MHz时,应尽量采用单点并联接地,实际布线有困难时,可部分串联后再并联接地;当频率大于10MHz时,宜采用多点串联接地;当信号频率在1~10MHz之间时,如地线长度不超过波长的1/20,可用单点接地。3种接地方式如图8—15所示。 图8—15 接地的3种方式
(2)将数字地、模拟地、电源地等分开走线,在一点上可靠连接。如图8—16所示。 图8—16 数字地与模拟地的正确连接
(3)接地线应尽量加粗,使它能通过三倍于印制板上的允许电流。一般接地线宽度应在2~3mm以上。地线、电源线与信号线的关系是:地线>电源线>信号线。 (4)使数字电路的接地线形成闭环路。 (5)高频部分尽量采用大面积包围式地线。
3.时钟振荡电路的处理 (1)用地线将时钟振荡电路圈起来,让周围电场趋近于零。 (2)石英晶体振荡器外壳要接地,时钟线尽量短,且在石英晶体振荡器下面要加大接地的面积,不要走其它信号线。 (3)时钟线垂直于I/O线,必要时要远离I/O线。
4.闲置不用的引脚要做好处理 数字电路中,闲置不用的门电路输入端不能悬空。运算放大器中,闲置不用的正输入端接地,闲置的负输入端与输出端连接。单片机中不用的I/O口定义成输出。单片机上有一个以上电源、接地端的,每一端都要接上,不要悬空。如图8—17所示。 图8—17 不用空闲端的处理方法
5.信号线的布线 (1)尽量使用多层板,过孔要尽量少。 (2)电路板铜膜线的布线尽量使用45°的折线,不要使用90°折线,以减小高频信号的发射。其布线方式如图8—18所示。 图8—18 铜膜线的布线方式
(3)重要的信号线应尽量短且要尽量粗,并在两侧加上保护地。将信号通过扁平电缆引出时,要使用地线—信号—地线……的结构。(3)重要的信号线应尽量短且要尽量粗,并在两侧加上保护地。将信号通过扁平电缆引出时,要使用地线—信号—地线……的结构。 (4)任何信号线都不要形成环路,如不可避免,环路应尽量小。 (5)对于A/D类器件,数字部分与模拟部分信号线不能交叉。对噪声敏感的信号线不要与高速线、大电流线平行。
☆8.4软件的抗干扰设计 单片机应用系统的抗干扰不可能完全依靠硬件解决,软件抗干扰设计也是防止和消除应用系统故障的重要途径。 8.4.1 控制状态失常的软件对策 软件冗余。将对控制条件的一次采样、处理控制输出改为循环采样、处理控制输出的方式。这种方法对于惯性较大的控制系统具有良好的抗干扰作用。如软件去抖动。
设置当前输出状态寄存单元。当干扰侵入输出通道造成输出状态破坏时,系统能及时将寄存单元的输出状态信息传送到各输出接口的端口寄存器中,以维持正确的输出控制。设置当前输出状态寄存单元。当干扰侵入输出通道造成输出状态破坏时,系统能及时将寄存单元的输出状态信息传送到各输出接口的端口寄存器中,以维持正确的输出控制。 设置自检程序。在单片机上电复位后或在程序中间特定部位及某些内存单元插入状态标志,在单片机运行中不断循环检测,以保证系统中信息存储、运输、运算的高可靠性。单片机应用系统需要自检的部件有EPROM、RAM、I/O口等。
8.4.2程序运行失常的软件对策 一旦单片机因干扰而使得程序计数器PC偏离了原定的值,程序便脱离正常运行轨道,出现操作数数值改变或将操作数当作操作码的“跑飞”现象。此时,可采用软件陷阱和“看门狗”技术使程序恢复到正常状态。 1、设置软件陷阱 所谓软件陷阱,是指一些可以使混乱的程序恢复正常运行或使“跑飞“的程序恢复到初始状态的—系列指令。其主要形式见表8—2。
表8—2 软件陷阱的两种指令形式及适用范围 注:形式一的机器码为0000020000(十六进制) 形式二的机器码为020202020000(十六进制)
(1)未使用的中断区 当未使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,就能及时捕捉到错误的中断。在中断服务程序中要注意:返回指令用RETI,也可用LJMP。其中断服务程序形式为以下两种:
(2)未使用的EPROM空间 单片机系统中使用的EPROM很少能够全部用完,这些非程序区可用0000020000或020202020000数据填满。需要注意的是,最后一条填入数据应为020000。当程序“跑飞”进入此区后,便会迅速自动入轨。
(3)非EPROM芯片空间 单片机系统寻址空间为64K。如果系统仅选用了一片2764,其地址空间为8K,那么还有56K地址空间闲置。当程序“跑飞”到这些空间时,读入数据将为FFH,这是“MOV R7,A”指令的机器码,此代码的执行将修改R7中的内容。因此,可采用图8—19所示电路来避免。图中74LS08为四二与门,当PC落入2000H~FFFFH这段闲置空间时,定有为高电平。当执行取指令操作时,为低电平,从而引起中断,在中断服务程序中设置软件陷阱可将“跑飞”的程序迅速拉入正轨。 图8—19 非EPROM区防“跑飞”电路
(4)运行程序区 由于程序是采用模块化的设计方法,因此,程序也是以模块方式运行的。此时可以将陷阱指令组分散放置在用户程序各模块之间空余的单元里。一般每1K字节有几个陷阱就够了。 在正常程序中不执行这些陷阱指令,保证用户程序正常运行;但当程序“跑飞”时,一旦落入这些陷阱区,马上就可将“跑飞”的程序拉到正确轨道。
(5)中断服务程序区 设用户主程序运行区间为add1~add2,且定时器T0产生10ms定时中断;当程序“跑飞”落入add1~add2以外的区间,此时又发生了定时中断,则可在中断服务程序中判定中断断点地址addx是否在add1~add2之间,若不在则说明发生了程序“跑飞”,应使程序返回到复位入口地址0000H,使跑飞程序纳入正轨。
2.设置程序运行监视系统。 程序运行监视系统又称“看门狗”(WATCHDOG)。 “看门狗”好比是主人(单片机)养的一条“狗”,在正常工作时,每隔—段固定时间就给“狗”吃点东西.“狗”吃过东西后就不会影响主人干活了。如果主人打瞌睡,到一定时间,“狗”饿了,发现主人还没有给它吃东西,就会叫醒主人。由此可以看出,“看门狗”就是一个监视跟踪定时器,应用“看门狗”技术可以使单片机从死循环中恢复到正常状态。 “看门狗”可以用硬件电路实现,也可采用软件技术通过内部定时/计数器实现。目前,大多数单片机片内都集成有程序运行监视系统。 (1)硬件“看门狗” MAX706是一款带有“看门狗”和电压监控功能的芯片,其外形如图8—20(a)所示。由其构成的硬件“看门狗”见图8—20(b)。
在MAX706内部有一个定时器,它独立工作于单片机之外。若单片机正常工作,每隔一段时间就通过P1.1向“看门狗”输出一个脉冲,使“看门狗”电路复位,“看门狗”从0开始重新计数。但当单片机由于干扰等原因不能正常向“看门狗”电路输出复位脉冲时,如果“看门狗”的定时时间已到,MAX706的端就会输出一个脉冲给单片机,使单片机复位,使其从故障状态恢复正常。在MAX706内部有一个定时器,它独立工作于单片机之外。若单片机正常工作,每隔一段时间就通过P1.1向“看门狗”输出一个脉冲,使“看门狗”电路复位,“看门狗”从0开始重新计数。但当单片机由于干扰等原因不能正常向“看门狗”电路输出复位脉冲时,如果“看门狗”的定时时间已到,MAX706的端就会输出一个脉冲给单片机,使单片机复位,使其从故障状态恢复正常。 图8—20 MAX706实现的硬件“看门狗”电路
(2)软件“看门狗” 软件“看门狗”技术的基本思路是:在主程序中对定时器T0中断服务程序进行监视;在定时器T1中断服务程序中对主程序进行监视;定时器T0中断监视定时器T1中断。软件“看门狗”设计请参阅相关书籍,这里就不再详述。 (3)“看门狗”设计时的注意事项 复位看门狗,使看门狗电路继续起作用的程序段应安排在等待查询的循环体内部、耗时很大的函数体内部及主程序任务队列中,而不要加在定时器中断服务程序中. “硬狗”实现冷启动,“软狗”实现热启动[8.4],“硬狗”的可靠性和作用都要比“软狗”强。在开发产品时,“硬狗”是必须得加的,而“软狗”不一定要加。