




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机的电磁兼容性设计This paper discusses how to design a consideration of electromagnetic compatibility of the MCU application system.Now almost every consumer electronics, automotive, industrial application has a MCU, and in most cases is to use cheap, single chip MCU.Single chip microcomputer application s
2、ystem is the ideal choice, because of its flexibility and integration.A typical microcomputer with CPU, RAM, ROM and IO, and can have as an analog-to-digital conversion module, LCD drive, based on the television screen display, application based on telephone DTMF generator, AC motor drive circuit, E
3、EPROM customization function module.1背景知识本文讨论了如何设计一个考虑电磁兼容性的MCU应用系统。现在几乎每一个消费电子、汽车、工业应用都有一个MCU在内,且在多数情况下都是采用廉价、单芯片的MCU。单片机是这些应用系统的理想选择,由于它具有灵活性和集成性。典型的单片机具有CPU、RAM、ROM和IO口,并且可以具有如模数转换模块、LCD驱动、基于电视应用的屏幕显示、基于电话的DTMF发生器、交流电机驱动电路、EEPROM等定制的功能模块。由于单片机功能增加且变得越来越复杂。随着市场价格的下降,MCU生产商必须不断地减少他们的制造成本。减小片上晶体管和门的
4、大小可以实现这一点,而且还可以帮助生产出能够工作在更高频率上的MCU。当一个晶体管减小,其状态转换时间将会减少。根据傅里叶分析,信号的边沿快速变化会产生谐波信号,这些信号被放大会引起辐射问题。同样的,如果器件具有很快的转换时间,它们会对到来的更快的信号产生作用。高频噪声尖峰和错误信号,将会引起门状态的转变。大多数现代MCU工作的速度在2MHz到40MHz范围内,内部的器件具有从几纳秒到低于一纳秒不等的转换速度,这使它们具有潜在的EMC问题。2 EMC电磁兼容性许多电子线路相互靠近,保证它们不会被外部噪声源影响,并且这些电路本身不会成为噪声源而影响到其他电路是必要的。这种关系被称之为电磁兼容性。
5、EMC问题可以分为辐射问题和感受问题。辐射问题和感受问题都会具有传导性质或辐射性质。例如,图1所示是一个办公室复印机发射射频信号到外界环境的案例。这种射频信号引起了监视器的显示故障,是一个辐射EMC问题。类似的,复印机辐射噪声到电力电源线上,反过来传导到电脑监视器电力电源线上,从而以传导方式引起了故障。由于设计不合理和较强的射频噪声辐射,监视器可以被视为复印机电磁干扰的受害者。可以认为监视器的设计存在缺陷,并且不能处理存在于电子办公设备中的背景环境噪声。图1 电磁兼容性案例3辨别一个EMC问题在早期或全面生产产品的时候发现一个EMC问题具有很高的价值,这可能导致PCB板的重新设计。因此,在设计
6、的初期就应该考虑产品EMC。然而,无论在什么阶段发现了EMC问题,要问的第一个问题是:“这个EMC问题是辐射问题还是感受问题?”理所当然,接下来应该问:“是MCU辐射出噪声对其他电路造成影响还是外部产生的噪声引起了MCU的异常举动?”3.1辐射问题来自于数字信号源的辐射通常是由高频时钟产生的高频谐波。这些辐射一般由电源和数字信号回路的开关电流以及主电源转换为数字电源时的开关电流的辐射引起。这些开关电流循环流动就像小天线,并辐射出差模磁场。此外,任何电阻的和电感的路径会导致电路中电压下降,这将使电路中的某些部分处在一个相对于地的共模电位上。如果一个辐射问题存在于一个单片机应用中,那么PCB设计最
7、有可能是问题的主要原因,因为硅片上的环路面积数量级要比在PCB上的小得多。辐射可能来自电源,因为数字芯片中的所有电流都从这里通过。端口引脚被设计得具有更高的驱动能力,因此尺寸通常偏大,这使得电容增大以确保数字信号的转变比内部门电路的转变要慢些。因为端口引脚通常是由软件控制的,他们的转变要比MCU内部电路的转变慢一些。这就意味着端口引脚通常不存在辐射问题。唯一的例外是当端口引脚驱动大电流的情况,这里的磁场强度正比于开关电流,也正比于回路天线面积。解决问题的方法是减小电流或者减小回路面积。在大多数情况,改变的是环路面积。MCU最快的外部基准频率是晶振电路频率。如果使用晶振电路,那么这个信号通常近似
8、于正弦波。因为晶振电路很小,且信号近似正弦波,高次谐波衰减很大,因此不会影响其他电路。如果时钟来源于外部,要注意信号的路径尽可能的靠近地线平面以最大限度减小环路。对带有外部存储设备甚至微处理器的MCU,辐射的问题可能更加严重。举例来说,在这时主要的噪声源是使外部存储器工作的时钟,它的转换很快,布线没有经过思考而且具有很长的地环路。这使得时钟信号就像是一个很强的环形天线,它辐射时钟信号和高次谐波。低位地址和数据线没有正确放置同样会引发一些问题,但是减小电流环路会有明显的帮助。3.2感受问题大多数MCU采用CMOS技术设计且按门闩和触发器原理工作从而构成更加复杂的功能。因为它们的同步特性,一个坏的
9、时钟电平很容易造成故障。任何CMOS器件都具有一个噪声容限,如果超过该容限将会导致故障。故障通常有这四类型:1. MCU暂时出现障碍,然后自行恢复。2. MCU发生故障,然后中断或者复位以恢复正常。3. MCU发生故障断电,然后通过上电进行恢复。4. MCU发生故障且发生闩锁效应从而导致永久的损坏。如果故障属于1和2类,这可能不会引起注意,由于这两类故障的发生无规律,终端用户可能永远看不到。然而,如果故障属于3和4类,它一定会被看做一个免疫问题并且不会被任何制造商接受。第四类故障在其领域类内的第一次发生是有必要的,因为在设计阶段发生的故障会使得产品发布停止。如果在产品的设计阶段没有进行EMC测
10、试,这类故障将会是无法预测的。4解决电磁兼容性问题通过给予以下三个方面特别的关注能够使所有MCU应用的电磁兼容性得到提高:1. PCB布局2. 看门狗电路3. 防御性编程4.1 PCB布局PCB布局是MCU免疫故障最普遍的诱发因素。通过关注MCU的三个关键地方,可以提它的高电磁兼容性。这三个关键地方是:1. 电源布线2. 晶振电路3. 输入引脚4.1.1电源电源上的任何噪声无疑会引起故障发生。如果VDD或者VSS线不稳定,那么内部电路(如触发器和反相器)可能会改变状态,从而导致故障发生。同样的,如果有电流发生大的、快速的变化,那么可能会发生较强的辐射。一般来说,任何不需要的高频信号必须通过到地
11、的低阻抗路径得到衰减。因为所有的信号电流都会流过VSS和VDD,所以信号线应该尽量靠近VDD和VSS以减小电流环路面积。采用具有地线层和电源层的多层PCB板总能达到较好的效果,因为这总能将所有电流环路的面积减到最小,并且减小信号线之间的互感。在低成本的应用中,一般的多层PCB板是缩减成本的关键,因此经常使用双面或单面板。因此,为了对抗电磁兼容性问题,需要对PCB设计的其他方面给予更多的关注。确保地线和电源线尽可能宽,退耦尽可能地靠近单片机能减少互感。细导线对高频电流具有高阻抗,这意味着电流通过它们将会产生潜在的差异。对于变化快的电流(这取决于器件的直流电源是怎样产生的)可以通过确保VSS和VD
12、D到大地具有低阻抗路径来提高电磁兼容性。用交流电力电源变换产生直流电源最一般的方法如图2所示。交流电力电源通过降压得到一个较小的交流信号,经过桥式整流得到直流电压,然后通过滤波或平滑,再通过电压调节器。在这种情况下,任何金属附件都要连接到地线上。由于退耦电容的存在,高频信号在VDD和VSS的电位将会是一样的。在图2中开关电流到大地的低阻抗路径是VSS路径。图2 交流电力电源变换成直流电源的典型方法注意如果附件之间的连接不良,那么较高的地阻抗将会导致较高的差模电压。这反过来又会带来更坏的结果。对这个电路,任何高频信号线应该和VSS进行退耦以避免串扰和辐射。在一些低成本的应用中,直流电源的产生略有
13、不同。一个替代电路如图3所示。图中一个耐高压的二极管和电容被连接到电力电源上组成一个半波整流器。然后通过一个平滑电容消除纹波,一个齐纳二极管连接到电力电源上,它的阳极处于浮地状态。图3 低成本的交流电力电源变换成直流电源的方法此时,到大地的低阻抗路径是通过带电的电力线的VDD电源线。在这种情况下,在高频信号线与VSS地线间进行退耦对单片机的电磁兼容性将起不到帮助。在一定程度上,对这种类型的电路,在高频信号线和VDD电源线间进行退耦会更加合理。电源上的退耦不充分是一个常见的故障。在电源间连接一个0.1uF的标准电容是很平常的。这个电容对低频噪声很有效,而且保证MCU有一个良好、稳定的电流供给。但
14、是,如果MCU工作在40MHz及以上频率时存在辐射或者免疫问题,那么0.1uF的电容可能不会对减少衰减起到很大作用。因为所有的电容即便是采用SOIC封装都具有一个内部电感和引线电感,一个典型的退耦电容具有大约5nH的电感。这意味着并联谐振会在大约7MHz的频率上发生,在感抗后它将成为高频中的主要成分。在尽可能靠近电源线的位置安装一个1到10nF的电感可以得到一个好的结果(谐振频率将高于20MHz)。在设计单层PCB板时,选择合适的退耦电容可以对它的电磁兼容性产生重要的影响。4.1.2晶振晶振电路(如图4)由一个连接到晶体振荡器或陶瓷振荡器的反相器组成,这个反相器是位于MCU内部的。连接在上面的
15、还有一个反馈电阻和一些小容值退藕电容(用于减少由压电设备产生的谐波的)。图4 典型的振荡电路MCU内部的反相器具有高输入阻抗和输出阻抗。它的输出驱动能力低,以保证不会对晶体造成损坏。振荡器的输出同时到达另一个缓冲器然后到预分频器。分频器对振荡器时钟进行2分频,为内部CPU提供了一个稳定的50%占空比的时钟。CPU通过高速转变建立地址并在下降沿捕捉数据。设计的工作在2MHz时钟下的CPU可以在4MHz时钟下工作。MCU的速度限制是由CPU的功能来决定的。如果振荡电路中存在任何的噪声,那么CPU故障可能会发生。故障的原因如图5所示。在图5(A)中的是所希望的振荡时钟,通过分频器可以为CPU提供50
16、%占空比的周期信号。在图5(B)中的是晶振电路中混有噪声尖波的结果,这导致了CPU的时钟占空比不再是50%。这意味着CPU不能够正确的为程序计数器建立地址或者不能取得正确的数据,结果导致CPU程序跑飞。如果噪声波尖只出现了一次,那么通过看门狗执行一次复位动作就能够使CPU恢复正常工作。图5 振荡电路中的毛刺的影响确保振荡器设计在最干净的电磁环境中可以通过以下几点得到实现:1.保证晶体和其他振荡器元件尽可能的靠近OSC1和OSC2引脚。避免过长的PCB走线,因为长的走线对存在于应用中的高频信号就如同一个天线。2.用一个可以减小回路面积的地线保护环路将振荡电路围起来。3.通过去耦使晶振电路到大地具
17、有最小的阻抗路径。4.保持任何快变换信号远离振荡器线路。图6是一个典型的振荡电路PCB布局图6 MC68HC05P3典型的振荡器PCB布局4.1.3输入引脚保护输入引脚同样关键,特别是RESET和IRQ引脚。一个较高的IDD电流通常是一个标志,显示了输入引脚悬空未用。这是由N沟道和P沟道晶体管门的影响所导致的。如果引脚悬空未用,其电平浮动在VSS和VDD中间。在这种情况下,正反两种器件都处于开启状态,这使得VSS和VDD呈现出阻抗。因此,电流从这两个晶体管中流过。经过输入缓冲后,预计一个电平将会占据主导并保证其后的门处在一个静态的状态。但是,任何噪声在附近的波动都会导致缓冲器输出发生转变,而后
18、使得其后的门状态发生变化并导致功率消耗增加。如果缓冲器状态转换频率足够高,MCU内部其他电路之间的串扰会导致故障发生。一般的,所有靠近高频信号的输入引脚应该连接一个硬件低通滤波器或一些小的去耦电路。一般RESET引脚不会被悬空,因为在那种情况下MCU的工作将不正常。通常的情况是RESET引脚在PCB上是连接到其它的器件或者电路的。虽然RESET通过连接到一个上拉电阻避免了引脚的悬空,但是导线对于高频信号就如同一个天线并且收集了足够的能量形成了一个小的脉冲。这将导致对MCU进行未知的或者部分的复位。规定的,RESET脉冲必须持续两个CPU时钟以上,以确保正确的复位。通过去耦使得这些引脚具有低阻抗
19、回路,并且去耦尽可能靠近引脚。这样就可以对高频噪声进行衰减。并提高MCU的免疫性能。另外一点是尽量减少边沿触发中断。如果中断可以通过电平触发,那么这可以保证在中断引脚上的噪声不会引起不希望的动作。如果不能通过电平触发,那么一旦进入边沿触发方式的中断就通过软件检测引脚的电平是否正确。这种方法是可行的。4.2看门狗电路看门狗电路通常被描述为必须由MCU在一定时间间隔进行更新的硬件电路或者是引起MCU复位的电路。有一个外部的看门狗电路是最好的,因为它独立于MCU。如果MCU不能成功更新看门狗,那么看门狗电路就会给MCU一个复位信号。看门狗通常包含一个硬件定时器。如果没有来自MCU的更新或者报告信息,
20、定时器将会超时。图7是一个简单的看门狗电路:图7 外部看门狗电路在上电时,MCU通过上电复位保持复位状态。看门狗的时钟可能来自于外部时钟源或者是MCU的晶振电路。当MCU处在复位状态时,IO引脚作为输入,计数器处于运行状态。如果Q为0并且C1充满电,则MCU将退出复位状态。MCU的第一任务是发出一个脉冲将计数器复位到已知的超时值。MCU的I/O口通过交流耦合以保证只有边沿能再次触发计数器。这保证了一个常值直流电平不会使MCU或看门狗丧失功能。在Q输出变为1前,MCU必须发送一个脉冲确保MCU没有复位。通常,MCU需要两条软件指令。另外一个最好的选择是让MCU有一个片上的看门狗(如图8)。例如,
21、摩托罗拉的MC68HC705C8就自带有包含可编程定时器的看门狗。它必须在大约32768个时钟周期被更新,不然它将会产生一个内部的复位信号。图8 片上看门狗CM1/CM0位用于选择超时周期。COPE位只能写一次,在看门狗使能后除复位外的其他方式是不能使其丧失功能。COPE位是告知用户复位信号是来自看门狗还是其他原因的一个标志。刷新看门狗的顺序是对COP复位寄存器(COPPRR)进行两次写操作,其顺序是往COPPRR写入$AA后再写入$55。并非所有的MCU在PCB板上都具有看门狗电路,但是有时软件设计者可以使用未用的中断实现自己的看门狗。例如MC68HC05P1没有看门狗,但是有一个16为的自
22、由运行的定时器。这个定时器可以在下列三种情况下产生中断:1.定时器溢出(FFFF到0000)。2.输出比较。(16位的寄存器和定时器的计数器比较)。3.在TCAP引脚上捕获到一个上升或下降沿。例如,如果输出比较中断没有生效,它可以用作一个假的看门狗。但是在这种情况下定时器将和输出比较寄存器进行比较,然后检查系统的一切是否正常。如果系统运行正常,程序就会从中断中返回。如果出现异常,那么程序将会跳转到初始化程序并对堆栈指针进行重新设定。在程序中合理对看门狗进行更新并不是一个简单的任务,对看门狗的更新通常是程序结束前的最后一个步骤。通常,用户需要为所用的中断程序和子程序、关键的和非关键的应用检测软件
23、流量和时序。理想情况下,在整个程序中进行一次看门狗刷新是最好的,但是MCU包含大量的程序,因此这很少成功。如果可能,看门狗刷新程序不应该放在中断或子程序中,但是应该放在主循环中。注意刷新频率不要太高,不然从程序跑飞状态中恢复的机会将会降低。4.3预防性编程通过简单的预防性编程,MCU的免疫性能可以得到很大限度的提高。预防性编程的优点是实现费用不高,如果实现正确还可以减少PCB布局在硬件上的花费。4.3.1更新端口引脚预防性编程的一个最简单的例子是不断地更新I/O引脚和重要的寄存器。在大多数MCU应用中。软件中会有一个按规律执行的主循环。在结构上,I/O引脚处在靠近焊盘的位置,并靠近集成芯片的边
24、缘。当特定幅度的噪声受到MCU的支配,那么它将通过芯片边缘传播到硅上。这意味着在芯片边沿的逻辑最容易受到外部噪声的影响,例如输入输出电路。所以,通过在一定时间间隔对数据寄存器和数据方向寄存器进行更新可以减少故障的威胁。4.3.2轮询输入另一个想法是通过对输入引脚进行多次读取,并用读取结果的平均值作为正确值来进行噪声滤除。一个按键的典型应用是在软件中轮询,然后按照10ms的周期再读几次,以确保真实的按键动作发生。这种形式的轮询被称为去抖保护。对高频轮询,下面是一个HC05的代码。BSR Read_RX_pinRead_RX_pin:not_a_one: BRSET RX, PortA, not_
25、a_zeroBRSET RX, PortA, not_a_zeroBRSET RX, PortA, not_a_zero* 一个逻辑0被读取了三次,所以这是一个0RTSnot_a_zero: BRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_oneBRCLR RX, PortA, not_a_one* 一个逻辑1被读取了3次,所以这是一个0RTS这个程序将会快速连续地读取端口。如果对端口的三次读取都是一样的,那么CPU将会在读取时返回进位标志,它是HC05 CPU的BRSET和BRCLR的一个固有特征。这个程序的问题是:如果输入引脚处在一个噪声很
26、强的环境中,CPU可能会在中断程序中持续很长时间,这会影响系统的实时性。一个更好的程序是对输入引脚进行几次读取,并增加寄存器值。如果寄存器的值小于一个数,那么视输入为0,反之为1。这个中断程序总能在有限时间退出,保证了应用的所有功能不受阻碍。Read_RX_pin:CLRA ;clear AccumulatorLDX #$06 ;X register is loaded with number of readsBRCLR RX, PortA, no_incINCADECXBNE Read_againRTS* main *JSR Read_RX_pinCMPA #3BLO it_was_zero
27、BHI it_was_one4.3.3令牌传递在关键的任务中,令牌传递保证了以一种受控制的方式进入任务,而不是一种失控的情况。一个令牌传递的简单示例如图9。这个令牌使用了RAM中的一个未用位置。在应用程序中的特定的时间间隔,软件会轮流的向这些未用的RAM中写入1。在一个关键的任务运行前,会对循环写1的结果进行检查。如果测试通过,任务将会执行。如果测试失败,MCU则是通过一个意料之外的跳转进入任务,此时将会发生一个向初始化程序的跳转。图9 令牌传递的简单例子4.3.4未用存储器在大多数应用中,一些程序存储器可能未用。如果在某些情况下,程序计数器被破坏并跳转到未用的存储器中,那么将会做出一些可能的
28、控制。如果我们在未用的存储器中放入SWI程序,那么任何对未用区域的无意存取将会导致MCU取得SWI中断向量。在MCU应用中有其他功能需要SWI中断时,可以根据这里的例子对未用区域进行填充。ORG $3600Unused_area: 9D NOP9D NOPCC 21 21 JMP Known_place9D NOP9D NOPCC 21 21 JMP Known_placeetc.ORG $2121Known_place: CC 01 00 JMP Reset_routine注意:未用的区域被9D指令和一个到Know_place的条件跳转填充。当MCU进入这个已知的地方将被迫跳转到一个初始化程
29、序。4.4测试免疫性能今天许多EMC检测中心会在电子产品上做免疫和辐射测试,这是由产品要进入的国家要求的。通常这些测试会在几天时间内完成。如果产品没有通过测试,需要的花费和设计时间会增加,这将延迟产品的上市时间。为了避免违反EMC规则,可以在实验室环境做一些低成本的测试。对MCU应用,两种类型的传导测试可以给出最好的结果。如果MCU应用通过了传导免疫测试,这个应用是不大可能通不过辐射免疫测试的。4.4.1静电放电枪静电放电枪是一个相对便宜的可以帮助发现数字电路中的高频感应性的工具。使用这种枪最初是为了保证设计不会被高压静电损毁。高压静电是人体产生,并通过接触放电的。我们可以得到电池供电的便携式静电放电枪,且通过编程智能地设定不同的工作电压数量级。因为便
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苯二酚下游产品扩建项目经济效益和社会效益分析报告
- saas服务合同范本
- 高速公路地面沉降监测与防治方案
- 城乡供水一体化规划与设计方案
- 人防设施长期安全检查与检测方案
- 无线展厅设备自动管理系统
- 隧道施工工期计划管理方案
- 燃气管网智能监控与自动化方案
- 江苏中考试卷及答案解析
- 工厂资源优化与调度管理平台方案
- 美学原理全套教学课件
- 大学生研究生就业方案
- 期末复习(课件)新思维英语四年级上册
- 子宫脱垂试题及答案
- GB/T 90.1-2023紧固件验收检查
- 中国政治思想史复习资料
- 2023年度广东省成人高考《英语》(高升本)真题库及答案(单选题型)
- 《中国民间故事》阅读指导课
- LY/T 2501-2015野生动物及其产品的物种鉴定规范
- EPON关键技术及实现原理
- 种植手术导板的制作流程课件
评论
0/150
提交评论