开发经验,PCB布板闲谈毕业4年以来,虽然其中有段时间在做嵌入式实时软件系统的驱动部分,可一直都挂着“硬件工程师”的头衔。其实有点惭愧,谈不上对硬件的有多深的造诣,除了有相当一部分时间设计硬件电路以外,更重要的也就是PCB布板。仔细想想,其中亲手布过的电路板,从简单的数字电视机顶盒前面板的单层板,到复杂一点的AT89C51为核心的工业控制类的双层板,无线扩频电台的基带双层板,高速FPGA的应用板,再到比较复杂的含有DDRMEMERY总线的四层板等不下20块,所幸的还有接触过的手机电路的8层板,所以,终归对PCB的布板有些想法。想法也罢,经验也罢,只要能够对读者的布板有所帮助的话,也就达到了我写这篇文章的目的。一块优秀的电路板,除了在实现电路原理功能之外,还要考虑EMI,EMC,ESD,信号完整性等电气特性,也要考虑机械结构,大功耗芯片的散热问题,在这基础上再考虑电路板美观问题。所以,PCB板布线是门艺术,具体而言是门折衷的艺术。在开始学习摸索PCB布线之前,或许您会在各式各样的参考书中看见各式各样的PCB板布线的规则,即使许多规则在一定程度上会是有相同的内涵,可是在不同的实际布板实践中会有不同的侧重点,甚至规则之间会产生冲突。举个例子:规则一信号传输的路径越短越好,规则二是在高频布线要求阻抗匹配。在考虑布DDRMEMORY的总线时,SOP封装的MEMERY芯片不可能对所有的TRACK实现规则一,正确的做法是整体考虑阻抗匹配的条件下实现所有的TRACK相对最短。因此,实际布线中规则之间的不可兼得就会让读者布线过程中自觉的有效的利用这些规则时产生种种疑惑,甚至就陷入这样或者是那样的一般性的规则中不知所措。在这就需要强调一点――各种布线规则只是指导性的,要结合实际的布线过程去不断折衷以取得最大的效用。我想只要在实际布线中自觉注意这些规则,或多或少会对布线的效果有所帮助。1.模块化,结构化的思想不仅体现在硬件原理设计中,也要反映在布局布线效果中如今的硬件平台的集成度越来越高,系统越来越复杂,自然而然也就要求无论是硬件原理图的设计中还是PCB布线中使用模块化,结构化设计的方法。如果接触过大规模的FPGA或是CPLD就知道,复杂IC的设计必然要求采用自上至下的模块化的设计方法。所以作为硬件工程师,在了解系统整体架构的前提下,首先应该在原理图和PCB布线设计中自觉融合模块化的设计思想。举个例子,数字电视机顶盒的硬件平台的主IC-QAMI5516中就有如下的几种模块:ST20:主频180MHZ的32位RISCCPUPTI:TRANSPORTSTREAM的处理单元DISPLAY:MPEG-2解码,显示处理单元DEMODULATOR:QAM解调器MEMORYINTERFACE:不同应用系统所需要不同的MEMORY的接口STBUS:各个模块的数据通讯总线PERIPHERALS:UART,SMARTCARD,IIC,GPIO,PWM等常用外设AUDIO:音频输出接口VEDIO:视频输出接口QAMI5516模块化的设计过程,虽然不一定要求硬件工程师了解系统的方方面面,可是必然要求在设计硬件平台时,把在实际运用中使用到的IC不同模块的接口部分当作一个子系统来处理:例如音频部分电路和视频部分电路在布局布线的时候就应该在一个整体区域内进行。这样做,不仅延续了IC模块化设计的思路,而且可以方便在需要进行PCB板的物理分隔,减少不同模块之间的电气耦合,可以方便整个系统的调试。我们知道,硬件调试中最容易检查,处理电路原理设计中的错误的方法就是“头痛医头,脚痛医脚”,即上述的QAMI5516平台中,如果音频部分电路有问题,首先要做的就是检查校验音频模块。模块化的思想还体现在系统总线的布线上,通常总线都区分为CONCROLBUS,DATABUS,ADDRBUS,这三类。例如上面QAMI5516中SMI上使用的是一片16M的SDRAM,工作频率在100MHZ,这就要求这一组总线在布线过程中需要统一成一个整体来考虑阻抗匹配。在实际的布线过程中,不可能要把这些线布得七零八落吧。模块化的思想也有利于PCB板的布局。模块化的思想也有利于硬件系统的功能的扩展或是更改。2.站在整个系统的角度上,分析各个模块信号的性质,确定其在整个系统中占据的地位,从而确定模块在布局布线的优先级布局对于整个系统具有重要的意义,这要求在实际的布线过程中,对于各个模块的具体处理有轻重缓急之分。一般的布局规则,都要求区分模块是模拟电路,还是数字电路,是高频电路还是低频电路,是主要的干扰源还是敏感的关键信号等等。因此,在布局之前必须仔细分析各个模块信号的性质包括模块的属性,功能,供电电源,具体信号的频率,电流的流向,电流强度等,以确定模块在PCB板上布局。通常,在机械结构确定的情况下,复杂的系统还会有N种不同的布局方式,这需要站在系统的角度上依照一些规则的折中来找出最优化的布局布线。在数字模块中,都会有时钟,例如SDRAM的CLOCK,而时钟电路是影响EMC的主要因素。集成电路的大部分噪声都与时钟频率及其多次谐波有关。如果CLOCK信号是一个正弦波形式,如果处理不当,对系统会“贡献”一个该频率或是该频率的倍频的干扰源,如果是CLOCK信号是方波形式,则对系统“贡献”一个杂散频率的干扰源。同时,CLOCK还是一个容易受干扰的信号,如果CLOCK受到干扰,对数字系统的影响可想而知。因此,时钟电路模块是属于关键模块,在布局布线过程中优先各种规则考虑其布局布线。类似的还有在现在许多的嵌入式硬件系统中的各种各样的中断模块。中断的触发有电平触发和边沿触发。曾经碰到过一个设置为上升沿触发的中断因外界的干扰而不断的被触发,最终导致了RTOS由于处理不过来而堵死的现象。按照这一原则来分析二个简单的电路布局。在一个我接触到的手机硬件平台中,显示屏的亮度电路是通过一个PWM产生的不同脉宽信号,经过一个RC积分电路建立不同的背光灯电压来实现的。PWM信号和CLOCK相比,在对整个系统EMI的影响上在某种意义上是相同的。但是如果仔细分析一些,就应该知道,如果在布线时,IC的PWM信号在尽可能短的路径上建立模拟的电平后才在PCB板上传输,也就是说电阻和电容尽可能的靠近PWM管脚放置,这样可以使PWM对系统的干扰减小到最小。在手机硬件平台的设计中,RF部分和音频部分是系统的核心,这两部分的布线占据绝对核心的地位,在布线时置于优先考虑的地位。所以在实际布局布线中,这两个模块的信号线单独布在一中间层,并且在其邻层使用电源层和地层,把它屏蔽起来,同时其他模块尽量远离这两个模块,以免引入干扰。另外尝试着考虑这样一个细节:MIC输入很小的音频信号需要经过放大到一定的程度后再输入到AUDIOADC中。我们知道抽象意义上的信道传输信噪比是衡量噪声对系统的影响。可以相互参照,一个小的噪声在音频信号放大之前就串扰就信道和在音频信号在放大之后才进信道对音频指标的影响。如果这信道的路径不得以经过一些强干扰源的区域,建议音频信号进行放大后再进行传输。再比如在复杂系统的总线上通常会挂接类型的设备,如I2C总线可以挂127个从设备,在某些机顶盒硬件平台中通常会挂上DEMODULATOR,TUNER,E2PROM。这也要求对不同的设备对于分享总线的频率上加以区分,对于使用频率高的设备放在相对比较重要的位置上。例如在上述QAMI5516平台上的EMI接口同时使用了SDRAM,FLASH两种设备。基于对系统的理解,SDRAM放置的是实时操作系统的运行代码,FLASH是作为一种存储介质,在软件系统运行过程中SDRAM相对于FLASH有更多的读写操作,因此在布线过程中应该先考虑SDRAM的位置。3.注重电源完整性,布局布线中优先考虑电源和地线的处理在任何电子系统中,干扰源对系统的干扰不外乎通过两种途径:一是通过导体的传递,二是通过电磁辐射经过空间的耦合。在频率较低的系统中主要是第一种路径,在高频系统中也有相当部分的干扰原因是通过导体的传递,其中比较明显的就是IC产生的噪声通过电源和地干扰整个系统。因此,电源的完整性或者说是电源质量对整个系统的抗干扰能力具有至关重要的意义。电源完整性实际上是信号完整性的一部分,然而考虑到电源对于所有系统的重要性,在此单独列出。要声明的是,在实际系统中,要做到这一点并不容易,系统中总会有各种不同频率的噪声。在电路设计和PCB布局布线中只是极力的减小各种频率的噪声,从而提高系统的抗噪声的整体性能。同时,在复杂系统中,减少系统的噪声不是更改一两电容的值就能够做到,而是需要注意电源滤波效果的累积。在手机硬件设计中,有专门的PMU来对管理对各个模块供电,然而PMU都是来自VBAT。无法想象,如果是敏感的音频运放的供电没有经过滤波的处理,直接取自VBAT,又或者,像给SDRAM供电的电路没有做滤波处理,任由这部分数字电路的开关噪声污染整个VBAT,会是有什么样的后果?如果对电源完整性有了足够的重视,结合起前面说过的模块化和各个模块仔细分析后,这部分还是相对比较好处理。对于IC电源VCC通常的规则一般都会用旁路电容和去耦电容进行处理,并且在布板的时候尽量让这类电容靠近IC的电源输入处。如果在要求苛刻的系统中,还可以对不同的敏感频率采用LCCL电路(串接一个电感或是磁珠,并一个电解电容,并一个瓷片电容,再串一个小的电感,具体值需要依照相应频率确定)滤波。曾经做一个复杂的系统,由于在系统的DEMODULATOR上的一路核心电源上没有使用旁路电容,从而使DEMODULATOR的解调后的误码率高的无法忍受。对于系统中各种GND的处理,一般要求分析电流的回流路径。电流具有总是选择阻抗最小回流路径的性质。这是一个核心原则,可以通过这样一个事实来理解:在PCB布线中有“铺铜”这样的模式。“铺铜”经常会在网络GND上使用,所有的数字信号都可以抽象成一个最基本的门级电路,GND也就是信号回流路径的一部分。GND就是通过“铺铜”的方式,使信号的路径上的总阻抗变小。“就近接地”,“最小化接地阻抗”也正是基于这样的考虑。上面只是抛砖引玉的讲述了这几年来鄙人在PCB板中的一些感触颇深的几点,有了这三个指导性原则,并结合具体的许多布线规则,剩下就是您的态度问题了。当然,毕竟能力和见识有限,其中难免有所偏颇,不足之处恳请指正。========================================pcb设计在将A/D转换器的模拟地和数字地管脚连接在一起时,大多数的A/D转换器厂商会建议:将AGND和DGND管脚通过最短的引线连接到同一个低阻抗的地上(注:因为大多数A/D转换器芯片内部没有将模拟地和数字地连接在一起,必须通过外部管脚实现模拟和数字地的连接),任何与DGND连接的外部阻抗都会通过寄生电容将更多的数字噪声耦合到IC内部的模拟电路上。按照这个建议,需要把A/D转换器的AGND和DGND管脚都连接到模拟地上,但这种方法会产生诸如数字信号去耦电容的接地端应该接到模拟地还是数字地的问题。如果系统仅有一个A/D转换器,上面的问题就很容易解决。如图3中所示,将地分割开,在A/D转换器下面把模拟地和数字地部分连接在一起。采取该方法时,必须保证两个地之间的连接桥宽度与IC等宽,并且任何信号线都不能跨越分割间隙。设计过程要注意以下几点:1.将PCB分区为独立的模拟部分和数字部分。2.合适的元器件布局。3.A/D转换器跨分区放置。4.不要对地进行分割。在电路板的模拟部分和数字部分下面敷设统一地。5.在电路板的所有层中,数字信号只能在电路板的数字部分布线。6.在电路板的所有层中,模拟信号只能在电路板的模拟部分布线。7.实现模拟和数字电源分割。8.布线不能跨越分割电源面之间的间隙。9.必须跨越分割电源之间间隙的信号线要位于紧邻大面积地的布线层上。10.分析返回地电流实际流过的路径和方式。11.采用正确的布线规则。==============================================[开发经验]信号回流及跨分割前一段时间论坛里一些朋友问到信号回流的问题。