1. 项目概述与4层板设计思路这次用AD19Altium Designer 19完整画了一块4层PCB板从前期的原理图准备到最后的Gerber输出整个过程走了一遍。说实话画板子这件事2层板只要思路清晰勉强靠“飞线铺地”也能应付但一旦上到4层考验的就不只是连线了而是你对层叠、回流、电源分割、阻抗控制这些东西的理解。这篇文章就把我这次用AD19做4层板的完整过程拆开来讲包括层叠怎么选、规则怎么设、布局布线怎么走、内电层怎么分割、最后怎么出片以及中途踩过的一些坑。不管你是刚开始学AD的新手还是从2层板往4层板过渡的工程师这篇文章都适合。里面提到的很多操作和思路在AD20、AD24上同样通用因为核心的设计方法没变变的多半是菜单位置和界面风格。1.1 为什么这次选4层而不是2层先说结论4层板不是“看起来高级”才选的而是当2层板实在压不住信号完整性和电源完整性时才不得不上的方案。我之前做过一块2层板MCU主频跑到了100MHz左右板上还有一颗ADC和一颗DCDC。结果就是地平面不完整数字噪声串到模拟区ADC采样值跳得厉害。后来把板子改成4层同样的原理图、同样的布局位置只是多了完整的内电层ADC的噪声问题基本消失。原因很简单——4层板多了一个完整的地平面和一个电源平面信号的回流路径不再是“绕路找地”的状态而是紧贴着信号走线下方的地平面直接回流回路面积大幅缩小对外辐射和对内耦合都变弱了。具体到这次的项目板上有一颗主控、一颗DDR颗粒频率不算高但总线同时翻转的数据线有16根、一颗DCDC、几颗LDO外加USB和几个通信接口。这个集成度2层板要画出来也能画但DDR的数据线等长、参考平面连续、电源纹波这些指标会非常难控制。所以直接定了4层板。1.2 经典四层层叠与厚度控制4层板的层叠方案最常见的就是两种方案A信号层-地层-电源层-信号层S-G-P-S方案B信号层-电源层-地层-信号层S-P-G-S我这次用的是方案A也就是第二层做完整地平面第三层做完整电源平面顶层和底层走信号。理由很简单第二层紧贴顶层顶层的高速信号可以就近参考地平面第三层作为电源层可以和第四层的信号形成一定的屏蔽而且底层信号走线时参考平面既可以是地也可以是电源选择更灵活。层叠厚度上常规4层板成品厚度1.6mm的叠层大致是这样层号功能介质厚度参考说明L1顶层信号约0.018mm铜厚走信号、铺铜介质芯板约0.3~0.5mm半固化片或芯板L2内层地约0.035mm铜厚完整地平面介质半固化片约0.7~1.0mm中间主介质L3内层电源约0.035mm铜厚完整电源平面介质芯板约0.3~0.5mmL4底层信号约0.018mm铜厚走信号、铺铜这里特别提醒一句如果你有阻抗要求比如USB差分线90Ω、HDMI差分线100Ω、普通50Ω单端线层叠厚度和介质介电常数必须在布线之前就和板厂确认最好让板厂直接给出推荐的叠层参数。不要自己拍脑袋定不然阻抗算出来完全不对板子做回来信号质量就崩了。1.3 叠层与阻抗的相互约束关于阻抗AD19里面有现成的阻抗计算工具但前提是你得把叠层参数填对。比如单端50Ω参考平面到走线层的介质厚度、铜厚、介电常数都会影响线宽。一般1.6mm板厚、FR4材料、L1到L2介质厚度0.3mm左右时50Ω单端线宽大概在0.2mm到0.25mm之间100Ω差分线线宽/线距大致在0.1mm/0.1mm附近。但这只是经验值别照抄一定要结合你的板厂叠层来算。我在AD19里常用的是Layer Stack Manager快捷键DK把每层的材料、厚度、介电常数填进去然后建立阻抗规则AD会直接算出对应的线宽/间距。设置完之后布线的过程中如果实际线宽不满足阻抗要求DRC会报错这样就不会在不知情的情况下把关键信号线画细了。2. AD19工程准备与关键规则设置环境准备这一块看起来好像没什么可说的但很多新手画到一半发现DRC一片红或者线宽电流不匹配多半就是前期规则没设好。AD的规则系统非常强大但默认规则太宽松必须按你的项目需求一个个改。2.1 工程结构从原理图到PCB我在AD19里习惯先建工程File - New - Project - PCB Project然后在工程下新建原理图Schematic和PCB文件最后用Design - Update PCB Document把原理图的信息同步到PCB。这样做的最大好处是工程文件管理清晰原理图和PCB的net、component能保持联动后面改动不会出现两边对不上的问题。如果你还没有原理图是纯手工布局那也可以直接在PCB文件里放置元件。但我不建议这样因为4层板的网络复杂度已经很高了没有原理图做逻辑连接后续DRC检查等于形同虚设。哪怕原理图简陋一点也先把连接关系画清楚。2.2 必须先定死的几条PCB规则进入PCB文件后打开Design - Rules。几条规则我这次是这样设的第一安全间距Clearance。默认是0.254mm10mil这个值对4层板来说太松了。这次板厂工艺能做到4mil/4mil但我没有冒险主要网络设了0.15mm6mil电源网络的间距单独设了0.2mm高压区域如果存在的话会设更大。工具选PCB Rules and Constraints Editor在Clearance里新建规则用Where the First object matches和Where the Second object matches把网络分一下类。第二线宽Width。这里要结合电流来设。有些朋友画板子从来不查线宽电流对照表习惯性所有信号线都用0.254mm。其实低速信号线选太宽没意义反而占面积而电源线选太细又会出问题。铜厚1oz35μm情况下线宽与载流能力参考线宽(mm)截面积(mm²)允许电流参考(A)0.20.007约0.50.30.0105约0.80.50.0175约1.21.00.035约2.02.00.07约4.0这块板子的DCDC输入电流峰值大概2A左右所以输入端和电感后端走线我加宽到1.5mm到2mm并且走了一段之后直接通过过孔打到电源平面用平面来分摊大电流。信号线则按0.15mm最小宽度来约束差分线单独设规则。第三过孔Routing Via Style。4层板常用的过孔直径组合可以选外径0.6mm/内径0.3mm稍微密一点的板子也可以选外径0.45mm/内径0.2mm。但孔径越小成本越高而且对板厂加工能力要求也越高。这次我用了外径0.6mm/内径0.3mm的普通孔DDR区域用于换层的地过孔则用了外径0.45mm/内径0.2mm的孔。注意过孔的内径叫钻孔直径Hole Size外径叫过孔直径Diameter别记反了。2.3 叠层在AD19中的实际配置在AD19里按快捷键DK打开Layer Stack Manager。默认新PCB文件一般都是两层需要在这里改成4层然后分别给每一层命名。比如Top Layer、GND内层地、POWER内层电源、Bottom Layer。注意内层电属性要在Layer Type里选Plane还是Signal——如果你把内层设为Signal那就是走信号的设为Plane后面就能用Split Plane或者直接整片铺铜。做内电层分割时有人习惯把内层设为Plane模式再用Split Plane工具画分割线也有人习惯把内层设为Signal然后直接铺铜。我这次混合用了内层地L2保持整片完整不做分割内层电源L3用Plane模式画了几个分割区域分别给3.3V、1.8V、3.8V等不同电源网络。电源层做分割时分割线之间的间距最好大于0.3mm避免不同电源网络之间由于间距太小出现爬电风险。3. 器件布局四层板最值钱的环节布局这件事占整个PCB设计工作量的比重至少一半。很多新手喜欢一上来就赶紧拉线结果拉到后面发现核心器件摆放不合理走线绕来绕去地平面被撕裂最后不得不推翻重来。四层板虽然多出两个平面层但不代表布局可以乱来。3.1 布局前的三大准备我在布局前会做三件事第一看结构图。确认板子的外形、螺丝孔位置、连接器位置、限高区域。没有结构图就按默认外形先画但螺丝孔尽量避免布在走线密集区。第二按原理图功能模块分类。把元器件按DCDC、主控、DDR、接口、模拟信号等分成若干区域在PCB上先用Room或矩形区域把大概的位置框出来然后再细化。第三提前规划好电源流向。比如电源输入进来先进DCDCDCDC输出到负载附近再通过过孔或平面送到各个用电区域。电源路径越短越好环路面积越小越好。3.2 电源链路与晶振布局这次板上有一个频率约25MHz的晶振给主控提供时钟。晶振布局有几个点特别注意晶振尽量靠近主控的时钟输入引脚走线短且直不要有过孔。晶振下方和周围铺地必要时用一排地过孔把晶振区域“围”起来防止时钟信号辐射干扰别的信号。晶振的匹配电容靠近晶振放置而且匹配电容的地要就近打到地平面上不要绕远。还有一个很容易踩的坑是去耦电容的放置。很多人习惯把104电容统一放在一排看起来很整齐但实际效果很差。去耦电容的正确放置方式是越靠近芯片电源引脚越好并且电容的电源端和地端到芯片电源引脚和地引脚的环路面积要小。具体做法是把电容放在芯片背面靠近对应电源引脚的位置每个电源引脚附近至少一颗0.1uF大电流或噪声敏感区域再加一颗10uF甚至更大容值的电容。3.3 连接器与结构件避让连接器的位置通常由结构决定但在连接器旁边预留ESD防护器件的位置时要注意ESD器件离连接器引脚越近越好最好在进入主控之前先把静电泄放掉。另外一个细节是连接器下方不要走高速信号线因为连接器的金属壳体或插拔应力可能会改变走线周围的参考情况甚至损伤走线。结构上如果有螺丝孔螺丝孔周围要留出禁布区域一般以螺丝孔中心为圆心半径2mm到2.5mm内部不要布线和铺铜防止螺丝安装时刮伤铜皮或短接。有些板子螺丝孔还会要求做成非金属化孔那就在Keep-Out或Multi-Layer的孔属性里设置成Plated false。4. 布线实施走线策略与内电层分割布局完毕接下来就是大家最关心也最花时间的布线环节。4层板布线比2层板轻松的地方在于有完整参考平面信号回流路径短但难点在于如何合理运用内电层以及如何保证关键信号的质量。4.1 布线顺序与关键信号处理我习惯的布线顺序是先电源再关键信号再普通信号最后补地孔。先布电源是因为电源网络往往比较粗先把它们占用的通道固定下来免得后面信号线把电源路径堵死。然后在布关键信号比如DDR的数据线、时钟线、USB差分线等。这些线布好了整个板子的框架就基本定型了。最后处理剩下的普通低速信号线它们只要间距满足规则走线顺畅即可。高速信号的处理上有几个硬性要求不跨分割。高速信号线下方对应的参考平面必须是连续的如果走线从3.3V分割区域跨到1.8V分割区域回流电流被迫绕路会产生共模噪声。所以在布高速线之前先确认内电层的分割边界让走线避开分割线。少打过孔。每个过孔都会引入寄生电容和寄生电感对信号边沿造成畸变。DDR数据线尽量在同一层走完需要换层时也要在旁边放地过孔保证回流路径连续。关注等长。DDR这类并行总线组内数据线需要做等长控制。AD19里可以用Interactive Length Tuning工具来调整也可以先给网络加Matched Length规则让DRC帮你判断是否超差。4.2 内电层分割实操前面说过我这次把L3层设为电源层并进行分割。具体操作用到的是Place - Split Plane在Plane模式下或者在L3层直接画多边形铺铜再指定网络。例如这板上有3.3V、1.8V、3.8V三组电源我画了三块区域分别对应三个网络。分割的边界要稍微宽一些不能把两块电源区域贴得太近否则板厂制板时可能出现绝缘不足。电源平面的分割形状不要出现细长的尖角因为尖角处铜皮容易在生产中脱落而且载流能力也差。内电层分割完成后在L3层上双击分割区域可以查看当前区域属于哪个网络如果网络名显示None说明这块区域还没有分配网络需要手动改。对应的过孔放置也有讲究从顶层打过孔到电源平面时如果电源平面被分割成多个区域过孔必须打在属于该网络的区域内否则该网络根本无法连通。这也是为什么电源过孔要靠近负载放置——不只是为了短路径更是为了确保过孔落在正确的分割区域内。4.3 电源/地过孔的摆放逻辑4层板的过孔设计某种程度上比走线还重要。电源过孔数量要足够一般按每个电源引脚至少一个过孔来算大电流路径则要多个过孔并联。地过孔则围绕信号换层位置、晶振区域、高速连接器区域密集摆放。在DDR区域我打了大约40个地过孔作用就是让顶层和底层的地通过内层地平面“缝合”在一起减少参考平面不连续的风险。还有一种常见做法是在板边每隔3mm到5mm放一排地过孔形成“屏蔽墙”减少板内信号对外辐射这个在射频板和高频数字板上尤其有效。关于敷铜很多人容易忽略的一个问题是“死铜”孤岛铜。AD19默认敷铜时会自动处理孤岛但在4层板上如果内层分割区域中有小块铜皮既没有连接任何网络又夹在两个网络之间DRC的Un-Routed或Un-Connected检查不一定能明确报出来。所以敷铜完成后一定要运行一遍Check - PCB Rules Check并配合在线DRC看有没有可疑的孤岛或者敷铜后把该层的铜皮显示颜色调出来肉眼确认一遍。5. 后期处理敷铜、DRC与制造输出布线只是画板的中段真正决定这块板子能不能顺利做出来、做出来能不能用的往往是后处理阶段。5.1 敷铜与“挖空”处理在PCB设计里给顶层和底层大面积铺地铜是很常见的做法。敷铜的快捷键是Place - Polygon PourAD19默认用的是Polygon Pour Cutout来做挖空处理。所谓“挖空”指的是在已经敷好的铜皮上再开一个口子比如天线区域不能铺铜高压区域需要加大爬电距离或者是连接器底部不希望有铜皮以减少寄生电容这时就需要用到Polygon Pour Cutout工具。操作方法是先选好需要挖空的区域形状最好做成圆角矩形或者带圆角的形状避免直角尖角然后Place - Polygon Pour Cutout画一个闭合区域最后重新敷铜或者在Properties面板里把对应的敷铜重新Build All挖空就生效了。如果你发现挖空没有生效多半是新建的Cutout没有盖住铺铜或者没有重新敷铜所以出现一条“切割后仍然是实心铜”的假象。我一直建议敷铜相关操作完成后在Tools - Polygon Pours - Pour All重新生成一次不要只依赖自动更新。还有一处高频踩坑点敷铜的安全间距。敷铜一般不建议和走线用同样的Danger Clearance可以单独设一条Polygon Connect规则让敷铜与走线间距稍微大一点比如0.3mm这样不容易产生大面积铜皮与走线贴得过近导致DRC误报也能减少蚀刻不均的风险。5.2 关于PCB工艺边、Mark点与拼板如果是批量生产的板子结构中可能还需要拼板。我自己打样时一般只做单板但发现一个问题如果整板的铜皮延伸到板边在分板的时候很容易把边上的走线或铜皮撕裂。所以在画板框时通常会画在机械层Mechanical 1然后在外围留出5mm左右的工艺边工艺边和板子本体之间用V槽或邮票孔连接。这部分操作可以在CAM软件里做也可以在AD里做。Mark点是贴片机定位用的一般放在板子的对角线上至少两个最好是三个。AD19里可以通过Place - Pad把孔径设为0外径设为1mm然后在Mark点周围做一圈裸铜区域Keep-Out实现“露铜”效果。如果板子上没有贴片器件Mark点可以省略但为了以后返修和测试方便我一般还是加上。5.3 导出Gerber与生产文件的检查清单AD19导出Gerber的标准方式File - Fabrication Outputs - Gerber Files。这里有几个关键设置单位选择Inches还是Millimeters我习惯用Millimeters但如果你板厂明确要求Inches就按板厂要求来。格式选择2:3或2:4都可以2:5精度过高很多光绘机反而不识别。一般选2:4比较稳妥。层选择勾选需要的所有层包括Top Layer、Bottom Layer、GND层、POWER层、Top Overlay、Bottom Overlay、Keep-Out Layer、Mechanical 1等。注意钻孔层是单独导出的Drill Drawing和Drill Guide都要勾上。孔径信息在NC Drill Files里导出钻孔文件时也要注意格式和单位尽量和Gerber保持一致。导出完成后我习惯用CAM350或者AD自带的CAM编辑器把Gerber打开看一遍重点检查孔位是否对得上、丝印是否完整、走线和铜皮有没有少层、板框是否闭合。这一步相当于“生产前预览”能拦下很多问题。不要直接压缩发给板厂就完事你永远不知道哪个步骤会出错。还有一个容易被忽略的制造文件里不要包含内部测试点或调试线。4层板如果内层有一些调试网络导出Gerber时如果没有正确忽略板厂会做出来但后续调试时这些网络如果和外部短路排查起来非常麻烦。我通常单独保留一个Debug层不在最终Gerber中导出。6. 常见问题与排查技巧实录最后这部分整理一下我这些年画各种PCB板时遇到过的问题。很多问题不是第一次出现但每次都能让不少人卡住我直接以速查表的形式列在下面后面再补充几条心得。问题现象可能原因解决办法敷铜后仍有区域显示未填充没有重新Pour AllTools - Polygon Pours - Pour All挖空区域不生效Cutout没有覆盖住敷铜调整Cutout区域大小重新敷铜内电层分割区域显示None分割区域未分配网络双击该区域手动选择网络电源过孔无法连到电源平面过孔在分割区域之外移动过孔到对应网络的区域内DRC报“Clearance Constraint Violation”间距规则太严格或铜皮太近检查实际间距修改Clearance规则螺丝孔出现短接DRC金属化孔接触了铺铜设置Platedfalse或周围禁布差分对显示不匹配差分规则未建立或网络未定义Design - Rules - Differential Pair Routing导出的Gerber少层或多层输出配置勾选错误检查层选择用CAM预览重新确认信号线跨了电源分割区内电层分割线正好穿过了走线路径调整分割区域或绕开分割线走线6.1 关于敷铜挖空的三点心得敷铜挖空这个操作看起来简单其实细节很多。第一挖空的边界离保留铜皮的距离要合理我一般按照和敷铜相同的间距规则来处理不要挖空边界贴着信号线很近。第二圆角优先像天线区域如果禁铜用圆弧过渡比直角过渡更符合实际生产要求也不会在尖端产生电荷集中。第三挖空之后重新敷铜一定要检查挖空区域内的过孔和焊盘是否还存在如果过孔刚好位于挖空的边缘可能会引发DRC问题。6.2 关于热焊盘设计的提醒大面积铺铜连接焊盘时AD19默认会给焊盘做热焊盘Thermal Relief连接也就是焊盘和铜皮之间通过几根细铜条连接而不是实心连接。这样做的好处是焊接时热量不会瞬间被铜皮吸走虚焊风险降低。但如果在电源网络里热焊盘的载流能力不如实心连接所以大电流路径上的焊盘需要单独设置Direct Connect实心连接或者增加热焊盘的连接宽度。这个细节很多人画完板子打样回来发现大电流引脚处发烫排查半天最后才知道是热焊盘在作怪。6.3 复盘一下这次4层板流程里最值得记住的三件事第一板厂沟通要前置。层叠厚度、阻抗要求、最小线宽线距、钻孔孔径这些信息在布线前就确认后期会非常省心。第二规则设置要跟着走线思路走。先规划好哪些网络是关键信号、哪些是电源网络、哪些是普通信号再在AD19里面分别建立规则而不是所有网络共用一套规则。第三DRC只能辅助不能全信。AD19的DRC确实很强大但规则设置得不对它只会给你一个误导性的绿勾。要配合敷铜检查、内电层分割检查、审板确认来做。我在实际项目里遇到过一次很典型的例子DRC显示完全无错误板子回来之后发现有一块内电层分割区域的电源没有连通原因是该区域虽然分配了网络但与其他层的连接焊盘被一个极窄的缝隙断开了。这种问题DRC很难查出来只能靠人眼检查或者在内电层上把轮廓打开仔细看。最后再分享一个实用技巧如果板子上接了晶振、DDR、USB这类器件原理图阶段尽量把网络名起得规范一些比如CLK_25M、DDR_DQ0这样在PCB里分组、设置规则、检查等长时都会方便很多。可能你一开始觉得网络名无所谓但到了后面布线密集、需要批量筛选的时候你就会发现一个清晰的命名规则能帮你节省大量时间。