在电磁环境比较恶劣的情况下,一些大规模集成电路经常会受到干扰,导致不能正常工作或在错误状态下运行,造成的后果往往是很严重的。这样电磁干扰就成为困扰设计师的一个重要题目。电磁兼容性(EMC)包含系统的发射和敏感度两方面的题目。假如一个单片机系统符条件合下面三个条件,则该系统是电磁兼容的:
1.对其他系统不产生干扰;
2.对其他系统的发射不敏感;
3.对系统本身不产生干扰;
假若干扰不能完全消除,但也要使干扰减少到最小。干扰的产生不是直接的(通过导体、公共阻抗耦合等),就是间接的(通过串扰或辐射耦合)。电磁干扰的产生是通过导体和通过辐射,很多磁电发射源、如光照、继电器、DC电机和日光灯都可以引起干扰;AC电源线、互连电缆、金属电缆和子系统的内部电路也都可能产生辐射或接收到不希看的信号。在高速单片机系统中,时钟电路通常是宽带噪声的最大产生源,这些电路可产生高达300MHz的谐波失真,在系统中应该把他们往掉。另外,在单片机系统中最轻易受影响的是复位线,中断线和控制线。
一、干扰的耦合方式
1.传导性EMI
一种最明显而往往被忽略的能引起电路中噪声的路径是经过导体。一条穿过噪声环境的导线可检拾噪声并把噪声送到其他电路引起干扰。设计职员必须避免导线检拾噪声和在噪声引起干扰前用往耦办法往除噪声。最普通的例子是噪声通过电源进进电路。若电源本身或连接到电源的其他电路是干扰源,则在电源线进进电路之前必须对其往耦。
2.公共阻抗耦合
当来自两个不同电路的电流流经一个公共阻抗时就会产生共阻抗耦合。阻抗上的压降由两个电路决定,来自两个电路的地电流流过共地阻抗。电路a的地电位被电流b调制,噪声信号或DC补偿经共地阻抗从电路b耦合到电路a。
3.辐射耦合
经辐射的耦合通称串扰。串扰发生在电流流经导体时产生电磁场,而电磁场在邻近的导体中感应瞬态电流。
4.辐射发射
辐射发射有两种基本类型;差分模式(DM)和共模(CM)。共模辐射或单极天线辐射是由无意的压降引起的,它使电路中所有地连接抬高到系统电地位之上。就电场大小而言,CM辐射是比DM辐射更为严重的题目。为使CM辐射最小,必须用切合实际的设计使共模电流降到零。
二、影响EMC的因数
1.电压
电源电压越高,意味着电压振幅越大,发射就更多,而低电源电压影响敏感度。
2.频率
高频产生更多的发射,周期性信号产生更多的发射。在高频单片机系统中,当器件开关时产生电流尖峰信号;在模拟系统中,当负载电流变化时产生电流尖峰信号。
3.接地
在所有EMC题目中,主要题目是不适当的接地引起的。有三种信号接地方法:单点、多点和混合。在频率低于1MHz时,可采用单点接地方法,但不适宜高频;在高频应用中,最好采用多点接地。混合接地是低频用单点接地,而高频用多点接地的方法。地线布局是关键,高频数字电路和低电平模拟电路的接地电路尽不能混合。
4.PCB设计
适当的印刷电路板(PCB)布线对防止EMI是至关重要的。
5.电源往耦
当器件开关时,在电源线上会产生瞬态电流,必须衰减和滤掉这些瞬态电流。来自高di/dt源的瞬态电流导致地和线迹“发射”电压,高di/dt产生大范围的高频电流,激励部件和线缆辐射。流经导线的电流变化和电感会导致压降,减小电感或电流随时间的变化可使该压降最小。
三、对干扰措施的硬件处理方法
1.印刷线路板(PCB)的电磁兼容性设计
PCB是单片机系统中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。随着电子技术的飞速发展,PCB的密度越来越高。PCB设计的好坏对单片机系统的电磁兼容性影响很大,实践证实,即使电路原理图设计正确,印刷电路板设计不当,也会对单片机系统的可靠性产生不利影响。例如,假如印刷电路板的两条细平行线靠的很近,会形成信号波形的延迟,在传输线的终端形成反射噪声。因此,在设计印刷电路板的时候,应留意采用正确的方法,遵守PCB设计的一般原则,并应符合抗干扰的设计要求。要使电子电路获得最佳性能,元器件的布局及导线的布设是很重要的。为了设计质量好,本钱低的PCB,应遵循以下一般性原则。
A.特殊元器件布局
首先,要考虑PCB尺寸的大小,PCB尺寸过大时,印刷线条长,阻抗增大,抗噪声能力下降,本钱也增加;过小,则散热不好,且邻近线条易受干扰。在确定PCB尺寸后再确定特殊元器件的位置。最后,根据电路的功能单元,对电路的全部元器件进行布局。
在确定特殊元器件位置时要遵循以下的原则:
①尽可能缩短高频元器件之间的连线,想法减小他们的分布参数和相互间的电磁干扰。易受干扰的元器件不能相互挨的太近,输进和输出元件应尽量阔别。
②某些元器件或导线之间有较高的电位差,应加大他们之间的间隔,以免放电引起意外短路,带高电压的元器件应尽量布置在调试时手不易触及的地方。
③重量超过15g的元器件,应当用支架加以固定,然后焊接。那些又大又重,发热量多的元器件,不易装在印刷电路板上,而应装在整机的机箱地板上。且应考虑散热题目,热敏元件应阔别发热元件。
④对于电位器,可调电感线圈,可变电容器,微动开关等可调元件的布局,应考虑整机的结构要求。若是机内调节,应放在印刷电路板的方便调节的地方;若是机外调节,其位置要与调节旋钮在机箱面板上的位置相适应。
⑤留出印刷板定位孔及固定支架所占用的位置。
B.一般元器件布局
根据电路的功能单元,对电路的全部元器件进行布局时,要符合以下原则:
①按照电路的流程安排各个功能电路单元的位置,使布局便于信号流通,并使信号尽可能保持一致的方向。
②以每个功能电路的核心元件为中心,围绕它来进行布局。元器件应均匀、整洁、紧凑地排列在PCB上,尽量减少和缩短各元器件之间的引线和连接。
③在高频下工作的电路,要考虑元器件之间的分布参数。一般电路应尽可能使元器件平行排列,这样,不但美观,而且装焊轻易,易于批量生产。
④位于电路板边沿的元器件,离电路板边沿一般不小于2mm。电路板的最佳外形为矩形。长宽比为3∶2或4∶3。电路板面板尺寸大于200mm×150mm时,应考虑电路板所受的机械强度。
C.布线的原则如下:
①输进输出端用的导线应尽量避免相邻平行,最好加线间地线,以免发生反馈耦合。
②印刷板导线的最小宽度主要由导线与尽缘基板间的粘附强度和流过它们的电流值决定。当铜箔厚度为0.5mm、宽度为1~15mm时,通过2A的电流,温升不会高于3℃。因此,导线宽度为1.5mm可满足要求。对于集成电路,尤其是数字电路,通常选0.02~0.3mm导线宽度。当然,只要答应,还是尽可能用宽线,尤其是电源线和地线。导线的最小间距主要由最坏情况下的线间尽缘电阻和击穿电压决定。对于集成电路,尤其是数字电路,只要工艺答应,可使间距小于0.1~0.2mm。
③印刷导线拐弯处一般取圆弧形,而直角或夹角在高频电路中会影响电气性能。此外,尽量避免使用大面积铜箔,否则,长时间受热时,易发生铜箔膨胀和脱落现象。必须用大面积铜箔时,最好用栅格状,这样有利于排除铜箔与基板间粘合剂受热产生的挥发性气体。
④焊盘
焊盘中心孔也要比器件引线直径稍大一些。焊盘太大易形成虚焊。焊盘外径D一般不小(d+1.2)mm,其中d为引线孔径。对高密度的数字电路,焊盘最小直径可取(d+1.0)mm。
D.PCB及电路抗干扰措施
印刷电路板的抗干扰设计与具体电路有着密切的关系,这里仅就PCB抗干扰设计的几项常用措施作一些说明。
①电源线设计
根据印刷线路板电流的大小,尽量加粗电源线宽度,减少环路电阻;同时,使电源线、地线的走向和数据传递的方向一致,这样有助于增强抗噪声能力。
②地线设计
在单片机系统设计中,接地是控制干扰的重要方法。如能将接地和屏蔽正确结合来使用,可解决大部分干扰题目。单片机系统中地线结构大致有系统地、机壳地(屏蔽地)、数字地(逻辑地)和模拟地等。
在地线设计中应留意以下几点:
a.正确选择单点接地与多点接地。在低频电路中,信号的工作频率小于1MHz,它的布线和器件间的电感影响较小,而接地电路形成的环流对干扰影响较大,因而采用一点接地的方式。当信号工作频率大于10MHz,地线阻抗变得很大,此时应尽量降低地线阻抗,应采用就近多点接地。当工作频率在1~10MHz时,假如采用一点接地,其地线长度不应超过波长的1/20,否则应采用多点接地法。
b.数字地与模拟地分开。电路板上既有高速逻辑电路,又有线性电路,应使它们尽量分开,而两者的地线不要相混,分别与电源端地线相连。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部分串联后再并联接地;高频元件四周尽量用栅格状大面积地箔,要尽量加大线性电路的接地面积。
c.接地线应尽量加粗。若接地线用很细的线条,则接地电位会随电流的变化而变化,致使电子产品的定时信号电平不稳,抗噪声性能降低。因此应将接地线尽量加粗,使它能通过三倍于印刷电路板的答应电流。如有可能,接地线的宽度应大于3mm。
d.接地线构成闭环路。设计只由数字电路组成的印刷电路板的地线系统时,将接地线做成闭路可以明显地进步抗噪声能力。其原因在于:印刷电路板上有很多集成电路元件,尤其遇有耗电多的元件时,因受接地线粗细的限制,会在地线上产生较大的电位差,引起抗噪声能力下降;若将接地线构成环路,则会缩小电位差值,进步电子设备的抗噪声能力。
③退耦电容配置
PCB设计的常规做法之一,是在印刷板的各个关键部位配置适当的退耦电容。退耦电容的一般配置原则是:
a.电源输进端跨接10~100μF的电解电容器。如有可能,接100μF以上的更好。
b.原则上每个集成电路芯片都应布置一个0.01pF的瓷片电容。如遇印刷板空隙不够,可每4~8个芯片布置一个1~10pF的钽电容。
c.对于抗噪声能力弱、关断时电源变化大的器件,如RAM、ROM存储器件,应在芯片的电源线和地线之间直接接进退耦电容。
d.电容引线不能太长,尤其是高频旁路电容不能有引线。
此外,还应留意以下两点:
a.在印刷板中有接触器、继电器、按钮等元件时,操纵它们时均会产生较大火花放电,必须采用RC电路来吸收放电电流。一般R取1~2kΩ,C取2.2~47μF。
b.CMOS的输进阻抗很高,且易受感应,因此在使用时,对不用端要接地或接正电源。
2.输进/输出的电磁兼容性设计
在单片机系统中输进/输出也是干扰源的传导线,和接收射频干扰信号的拾检源,我们设计时一般要采取有效的措施:
①采用必要的共模/差模抑制电路,同时也要采取一定的滤波和防电磁屏蔽措施以减小干扰的进进。
②在条件许可的情况下尽可能采取各种隔离措施(如光电隔离或者磁电隔离),从而阻断干扰的传播。
3.单片机复位电路的设计
在的单片机系统中,看门狗系统对整个单片机的运行起着特别重要的作用,由于所有的干扰源不可能全部被隔离或往除,一旦进进CPU干扰程序的正常运行,那么复位系统结合软件处理措施就成了一道有效的纠错防御的屏障了。常用的复位系统有以下两种:
①外部复位系统。外部“看门狗”电路可以自己设计也可以用专门的“看门狗”芯片来搭建。然而,他们各有优缺点,大部分专用“看门狗”芯片对低频“喂狗”信号不能响应,而高频“喂狗”信号都能响应,使其在低频“喂狗”信号下产生复位动作而在高频的“喂狗”信号下不产生复位动作,这样,假如程序系统陷进一个死循环,而该循环中恰巧有着“喂狗”信号的话,那么该复位电路就无法实现它的应有的功能了。然而,我们自己可以设计一个具有带通的“喂狗”电路和其他复位电路构成的系统就是一个很有效外部监控系统了。
②现在越来越多的单片机都带有自己的片上复位系统,这样用户就可以很方便的使用其内部的复位定时器了,但是,有一些型号的单片机它的复位指令太过于简单,这样也会存在象上述死循环那样的“喂狗”指令,使其失往监控作用。有一些单片机的片上复位指令就做的比较好,一般他们把“喂狗”信号做成固定格式的多条指令依顺序来执行,假如有一定错误则该“喂狗”操纵无效,这样就大大进步了复位电路的可靠性。
4.振荡器
大部分的单片机都有一个耦合于外部晶体或陶瓷谐振器的振荡器电路。在PCB上,要求外接是电容、晶体或陶瓷谐振器的引线越短越好。RC振荡器对干扰信号有潜伏的敏感性,它能产生很短的时钟周期,因而最好选晶体或陶瓷谐振器。另外,石英晶体的外壳要接地。
5.防雷击措施
室外使用的单片机系统或从室外排挤引进室内的电源线、信号线,要考虑系统的防雷击题目。常用的防雷击器件有:气体放电管、TVS(TransientVoltageSuppression)等。气体放电管是当电源的电压大于某一数值时,通常为数十V或数百V,气体击穿放电,将电源线上强冲击脉冲导进大地。TVS可以看成两个并联且方向相反的齐纳二极管,当两端电压高于某一值时导通。其特点是可以瞬态通过数百乃上千A的电流。
四、对干扰措施的软件处理方法
电磁干扰源所产生的干扰信号在一些特定的情况下(比如在一些电磁环境比较恶劣的情况下)是无法完全消除的,终极将会进进CPU处理的的核心单元,这样在一些大规模集成电路经常会受到干扰,导致不能正常工作或在错误状态下工作。特别是像RAM这种利用双稳态进行存储的器件,往往会在强干扰下发生翻转,使原来存储的“0”变为“1”,或者“1”变为“0”;一些串行传输的时序及数据会因干扰而发生改变;更严重的会破坏一些重要的数据参数等;造成的后果往往是很严重的。在这种情况下软件设计的好坏直接影响到整个系统的抗干扰能力的高低。
1.程序会由于电磁干扰大致会一下几种情况:
①程序跑飞。
这种情况是最常见的干扰结果,一般来说有一个好的复位系统或软件帧测系统即可,对整个运行系统的不会产生太大的影响。
②死循环或不正常程序代码运行。
当然这种死循环和不正常程序代码并非设计职员有意写进的,我们知道程序的指令是由字节组成的,有的是单字节指令而有的是多字节指令,当干扰产生后使得PC指针发生变化,从而使原来的程序代码发生了重组产生了不可猜测的可执行的程序代码,那么,这种错误是致命的,它会有可能会往修改重要的数据参数,有可能产生不可猜测的控制输出等一系列错误状态。
2.对重要参数储存的措施
一般情况下,我们可以采用错误检测与纠正来有效地减少或避免这种情况的出现。根据检错、纠错的原理,主要思想是在数据写进时,根据写进的数据天生一定位数的校验码,与相应的数据一起保存起来;当读出时,同时也将校验码读出,进行判决。假如出现一位错误则自动纠正,将正确的数据送出,并同时将改正以后的数据回写覆盖原来错误的数据;假如出现两位错误则产生中断报告,通知CPU进行异常处理。所有这一切动作都是靠软件设计自动完成的,具有实时性和自动完成的特点。通过这样的设计,能大大进步系统的抗干扰能力,从而进步系统的可靠性。
检错与纠错原理:
首先来看看检错和纠错的基本原理。进行差错控制的基本思想是在信息码组中以一定规则加进不同方式的冗余码,以便在信息读出的时候依靠多余的监视码或校码码来发现或自动纠正错误。
针对误码发生的特点,即错误发生的随机性和小概任性,它几乎总是随机地影响某个字节中的某一位(bit),因此,假如能够设计自动纠正一位错误,而检查两位错误的编码方式。就可以大大进步系统的可靠性。
3.对RAM和FLASH(ROM)的检测
在编制程序时我们最好是写进一些检测程序来测试RAM和FLASH(ROM)的数据代码,看有无发生错误,一旦发生要立即纠正,纠正不了的要及时给出错误指示,以便用户往处理。
另外,在编制程序时加进程序冗余是不可缺少的。在一定的地方加进三条或三条以上NOP指令对程序的重组有着很有效防止作用。同时,在程序的运行状态中要引进标志数据和检测状态,从而及时发现和纠正错误产生。
结语
为了进步单片机系统的电磁兼容性,不仅要公道设计PCB板,而且要在电路结构上及软硬件中采取相应的措施。实践表明,在单片机系统的设计、制造、安装和运行的各个阶段,都需要考虑其电磁兼容性,只有这样,才能保证系统长期稳定、可靠、安全地运行。