做AD20的PCB设计GND铺铜和过孔布局是我见过新手出问题最多的两个地方。很多人画完板子一跑DRC密密麻麻的报错几乎全是GND相关要么铜箔成了孤岛要么过孔堵死了铺铜路径要么板子生产回来一上电某个角落烫得不敢碰。这篇文章就围绕AD20 PCB设计中的GND铺铜与过孔布局把我自己踩过的坑、验证过的设置方式和排查思路整理出来。不管你是刚接触Altium Designer 20还是已经画过几块板子只要遇到过“铺铜铺了等于没铺”或者“地过孔打了一堆还是纹波大”的情况这篇内容应该能帮上忙。1. GND铺铜先搞清楚它到底在干什么1.1 铺铜的两个基本作用回流路径和屏蔽很多新手一上来就把整个板子的正反面全部填上GND铜箔好像铺的越满越好。实际不是这样。GND铺铜首先要解决的是信号回流问题。任何信号电流从驱动端输出流过传输线之后最终都要回到驱动端的地这个回路叫回流路径。低频时电流会走电阻最小的路径高频时则会走电感最小的路径也就是紧贴着原信号线正下方的参考平面。如果这一整片GND铜箔被切碎了回流电流就只能绕一个大弯环路面积变大对外就形成了一副天线。这也是为什么同样一块板子有人做出来EMI测试能过有人做出来怎么改都压不住很多时候问题不在原理图而在GND平面的完整性。第二个作用是屏蔽和散热。连续的GND平面能隔开上下两层信号串扰同时因为铜箔面积大整板温度也能更均衡地散出去。电源类板子尤其明显功率管下方的GND铜箔就承担着散热焊盘往外传热的重任。但这里有个很气人的坑GND在原理图上是同一个网络AD20默认不会因为你铜箔被切开就报错。你必须在铺铜之后主动去判断GND铜箔是不是真的连成了一大片。这个后面实操部分会详细展开。1.2 为什么GND铺铜比电源铺铜更容易出问题GND铺铜之所以容易出问题主要是因为GND这个网络实在太“忙”了。原理图上所有地都叫GND但实际电流有高频数字电流、模拟小信号电流、功率开关的大电流它们全部挤在同一张地网上。一旦铺铜把不同区域的地切开了或者高阻抗的窄铜箔成了共同通道原本该分开管理的电流就会互相干扰。我在一块混合信号板上就吃过这个亏。MCU、运放、电机驱动一路供电底层整面铺了GND但是为了走信号线底层的GND铜箔被几条走线划成了三条长条。板上数字地和模拟地在原理图上虽然也是同一个GND网络但实际每个条状铜箔之间只靠一个0.3mm过孔连接。结果电机一转ADC采样值就飘万用表一量数字处理区域和功率区域的GND之间居然有几十毫伏压差。这就是典型的GND铜箔完整性被破坏。还有一种容易踩的坑是电源电路和数字电路堆在同一层一个电源芯片周围全是走线GND铜箔被各种网络标签和小线头分割成无数碎块。DRC不报错看着好像只是丑但生产出来之后地噪声会通过每一个缝隙往外漏。所以我的习惯是画板时先规划好GND主路径再布线最后才做铺铜。而不是先布完线再随便撒一片铜。2. GND过孔设计数量和位置决定了地平面的质量2.1 过孔电流承载怎么算过孔不是随便打几个“意思一下”就行。特别是功率电路里的GND过孔它是连接顶层和底层GND铜箔的桥梁数量不够就会变成堵点。判断过孔够不够首先看电流承载能力。常用的是IPC-2221经验公式近似估算不过实际工作里没有人会每次去算公式大家更习惯按经验值估算一个内径0.3mm、板厚1.6mm、孔铜厚度约25um的标准过孔在不超过20°C温升的前提下大概能通1A到1.2A的直流电流。如果整块板子要过10A电流理论上10个孔就够但实际我做的时候会打15到20个孔因为过孔密集排列时散热条件会变差还要留出至少1.2倍以上裕量。算出过孔电流之后还要考虑过孔的位置。如果10个孔全打在入口处电流堆在一起整体效果远不如把这10个孔沿着电流方向均匀分布。并联过孔时电流会自动寻找阻抗最低的路径但铜箔自身电阻和过孔电阻都会参与分配所以不要以为“多打孔”就一定稳均匀性很关键。这里有一个参考系数可以拿来做粗略估算过孔内径(mm)每孔参考载流(A)建议间隔(mm)0.20.60.80.81.00.31.01.21.01.20.41.51.81.21.50.52.02.51.52.0注意这只是普通FR-4、1oz铜厚条件下的参考值。如果板子工作在高温环境或者靠近热源载流能力要再打折。我一般会要求大电流回路上的GND过孔在仿真或者热像仪测试之前至少多打30%的余量。2.2 缝合过孔与回流过孔的区别GND过孔有两种完全不同的用法混为一谈就会出问题。第一种叫缝合过孔英文是stitching via作用是让同一块板上的多个GND铜箔区域在电气上“缝合”起来降低层间地阻抗同时抑制边缘辐射。常见于板边一圈打很多GND过孔这种为了EMI通常推荐过孔间距小于λ/20。对于普通产品如果频率不高1mm到3mm的间距都算合理。频率越高间距要越小。第二种叫回流过孔英文是return via作用是在信号走线换层时为信号电流提供一条从一层参考平面切到另一层参考平面的GND路径。高速信号经过一个过孔换层如果没有紧挨着的GND回流过孔电流就找不到就近的回流通道只能绕到其他地方环路面积瞬间变大。我最常见到的错误是有人把所有GND过孔一排一排打在板子中间但真正需要回流过孔的换层位置比如DDR走线换层的地方旁边却一个GND过孔都没有。结果信号完整性测试一塌糊涂。正确做法是每一个信号换层过孔旁边至少配一个GND过孔距离不要超过过孔间距的1倍左右越近越好。一对差分信号换层的话建议加两到三个回流过孔。2.3 布局中的“就近接地”原则有人问我GND过孔应该怎么摆我说记住四个字就近接地。每个元件的地引脚、每个去耦电容的地焊盘、每个IC的散热焊盘都要在最近的位置通过过孔连到GND平面。去耦电容是最典型的反面教材。很多人把去耦电容放在IC旁边但地的过孔却打在电容的远端甚至为了让铜箔好看先拉一小段走线再过孔。这样做的问题是IC开关瞬间电流需要经过“IC电源脚——电容——地过孔”的环路如果地过孔离IC远整个环路面积就大去耦效果大幅下降。正确做法是电容的地焊盘紧贴一个GND过孔最好直接让过孔靠在地焊盘侧面让高频电流刚流过电容就扎进地平面而不是再跑一段路。IC底部如果有散热焊盘也要在散热焊盘内部或周围均匀布置一系列GND过孔。这既解决电气接地又解决散热。特别是电源芯片底部的大焊盘如果只靠边上三四个孔连接中间的热就散不出去芯片表面温度会明显偏高。我一般在1cm见方的散热焊盘上打9个到12个0.3mm的过孔距离均匀分布孔位不要落在焊盘中心正下方导致焊料流走要稍微偏一点或者打个交叉排列。3. AD20里的铺铜与过孔实操设置3.1 铺铜规则参数间距、连接方式、死铜确认了GND过孔思路接下来讲AD20里具体怎么设置。先讲铺铜。第一是间距规则。打开Design - Rules找到Clearance规则。GND铜箔与普通信号线之间常规6mil到8mil就够了。如果板子有高压需要按安全间距加大比如交流220V区域爬电距离至少要6mm以上这个不能只看铜箔间距还要算爬电距离。我在设置时会单独创建一条“GND Clearance”规则用“Where The First Object Matches”选择InNet(GND)然后指定更大的安全间距避免所有网络都套用同一组参数。第二是连接方式。Design Rules - Plane - Polygon Connect这一项决定铜箔与同网络的焊盘、过孔之间是直接连接还是用“十字花”连接。大电流电路我强烈建议用实心直接连接Solid温度下过流能力最强。如果是手工焊接为主、或者需要避免焊盘散热过快导致虚焊才选择Relief Connect十字连接并设置连线宽度。常见的错误是整板统一用十字连接结果电源模块下面的大电流GND过孔实际通流面积缩水板子发热。第三是死铜问题。“死铜”指铺铜后孤零零一片但和任何过孔、焊盘、铜箔都不相连的GND铜箔它就是浮空的没有任何电气意义还可能当天线辐射。在铺铜属性里勾上Remove Dead Copper这样AD会在铺铜完成后自动清除孤岛。但我必须提醒一句自动清除不等于万事大吉它会直接把孤岛删掉如果某个GND焊盘本来要靠孤岛连接清除后反而断开了。所以建议开启Remove Dead Copper但每次铺完后还是要高亮GND网络自查一遍。3.2 过孔类型与设置在AD20里过孔不是画完线随手选个大小就完事。Design Rules - Routing - Routing Via Style建议先建两套规则一套默认过孔内径0.3mm外径0.6mm用于普通信号另一套电源过孔内径0.5mm外径0.9mm到1.0mm用于电源和GND大电流路径。通过规则里的“Where The First Object Matches”分别指定到对应网络这样你走GND线时按键shiftV切过孔AD会自动切到电源过孔不会搞混。过孔盖油是另一个高频踩坑点。在AD20里过孔默认会露出焊盘如果想要过孔盖油需要在过孔的Solder Mask Expansion里设置或者用全局Force Tentering。很多BGA板的过孔都是盖油处理的避免过孔漏锡短路。但如果你是功率板或者在GND铜箔上打了大量过孔打算靠它们散热那就千万别盖油否则散热效果大打折扣。我通常的做法是信号过孔盖油电源和GND的散热过孔不盖油然后在制造说明里标注“TOP/BOTTOM SOLDER MASK OPEN”。如果遇到过孔和焊盘太近绿油桥太薄制板厂会上传DRC报“Solder Mask Sliver”这时要么把过孔移远一点要么把过孔做成盖油形式。不要在DRC报错之后硬往下走批量生产阶段很容易因为绿油桥剥落导致微小短路。3.3 用Polygon Pour Cutout和Keepout控制铺设范围铺铜的目的是为GND平面服务但不是所有地方都适合铺铜。这个观点经常被忽略。在AD20里你可以用Place - Polygon Pour Cutout直接在铺铜区域里挖洞也可以用Keepout层在布线阶段预留禁区。我习惯在以下几种地方强制挖空晶振下方绝对不铺GND铜箔。晶振和地平面之间的寄生电容会改变振荡频率甚至可以让你从准确的32.768kHz漂移出好几赫兹。在AD20里画一个Polygon Pour Cutout大小比晶振封装大一倍左右然后把晶振下方的GND过孔全部删掉。变压器、电感下方不建议铺铜尤其是高频开关电源里的功率电感。GND铜箔在变化的磁场里会产生涡流铜箔发热不说还削弱电感感量。我在电机驱动板里吃过亏板子通电后电感下方那一片铜箔温升明显异常后来挖掉GND铜箔后温度才降下来。螺丝孔附近、高压隔离带、无线天线周围也要用Cutout或Keepout避开。螺丝孔如果没有接地需求周围至少留1mm空隙不然固定螺丝时铜箔被划伤容易脱落短路。天线下方铺铜会改变天线调谐尤其蓝牙和WiFi模块一定要按模块厂商要求预留禁铺区域。4. 实战案例一块电源板的GND问题排查和修正4.1 问题现象和初始判定说一个真实修过的板子。板子是一块反激开关电源控制板四层板顶层底层大面积铺GND内部两层分别走信号和部分电源。上电后主控IC附近地电压跳动输出纹波大用红外测温枪一扫底层GND铜箔靠输出整流管的位置明显比其他地方烫。一开始我以为是原理图器件选型问题后来查了一下电流路径才发现问题。输出整流管的负极GND要通过底层铜箔回到输入电容的GND端这段路径上恰好有几条信号线把底层GND铜箔分割成窄条最窄的地方只有约30mil宽。输出电流2A算下来这一节铜箔的电阻就有接近十几毫欧电流一冲就发热地平面上的压差直接被ADC量到了。4.2 定位GND孤岛和过孔瓶颈在AD20里定位这类问题有个很直观的操作按ShiftS进入单层显示模式然后在PCB面板的Filters里选择Net设置GND这样屏幕上只剩下GND网络的所有对象。我用这个方式把底层GND铜箔的状况看得清清楚楚——一条宽宽长长的铜箔中间被信号线划出好几个大缺口看起来就像河道里塞了一堆石头。接着检查过孔分布。GND网络从内层到外层的孔分成两类一类是IC散热焊盘下面的数量明显不够另一类是输出整流管下方的大电流路径只有两个0.3mm过孔理论载流只有2A但开关尖峰瞬时电流远不止2A。DRC虽然没报断路因为每个碎铜块依然有至少一个过孔连到内层但这个“内层再绕路”的方案在新IC功耗上升以后直接就顶不住了。我还用了AD20的Polygon Manager面板逐个确认每个GND poly是否处于“Connected”状态。一开始有两个GND铜箔区域显示与网络连接但只通过一个窄过孔连通我把它们用ShiftS逐层看一下发现其中一块其实已经形成了封闭的孤岛只是因为有电容焊盘压在上面AD把焊盘当作连接点导致没有报错。这种隐性断地特别坑建议视觉检查时不要只看DRC。4.3 修改后的效果对比定位到问题之后我做了三处修改。第一把底层GND铜箔重新规划让输出整流管的GND电流路径走一条顺畅的宽铜箔而不是被信号线切碎。具体做法是先整体删掉底层GND铺铜把阻挡路径的那几条信号走线换到内层然后再重新铺GND。铺铜前把GND边界用Keepout画好尽最大可能保持主功率路径的铜箔连续。第二在输出整流管GND端到输入电容GND端之间我打了14个0.4mm电源过孔分两排交错排列每个过孔外径0.8mm孔间距1.2mm。这样顶层和底层GND铜箔被大量并联起来电流从过孔阵列里均匀流过而不是挤在两个小孔里。第三在主控IC散热焊盘下方增加了9个0.3mm过孔同时把晶振正下方的GND铜箔挖空避免寄生电容影响起振。改完重新铺铜后再测板子输出纹波从原来的约48mV降到约31mV地平面压差从十几毫伏降到零点几毫伏红外测底层GND铜箔的温度也回到正常范围内。其实原理很简单GND过孔和铺铜就是给电流修了一条宽路电流不堵了噪声自然就小了。5. 常见错误速查和我的避坑心得5.1 六类常见错误速查表遇到GND铺铜和过孔问题可以先用下面这张速查表对照一下基本能覆盖大多数新手错误。错误现象根本原因解决方案DRC报Solder Mask Sliver过孔之间或过孔与焊盘之间间距过小绿油桥太薄移动过孔或设置为盖油保证间距至少2mil以上GND铜箔出现孤岛不报错AD不会自动检查同网络铜箔是否几何连续用ShiftS单层显示并高亮GND网络手动检查开启Remove Dead Copper去耦电容滤波效果差GND过孔打得太远回路面积过大将过孔尽量贴近电容GND焊盘不要拉线再过孔电源板局部发热GND路径被走线切窄或过孔数量不足重新铺铜保证连续宽铜箔关键位置增加并联过孔晶振频偏或不起振晶振下方铺铜形成寄生电容在晶振下方用Polygon Pour Cutout挖空GND铜箔高速信号换层后EMI严重缺少回流GND过孔信号换层无地参考每个信号过孔旁加1~2个紧邻的GND过孔过孔批量虚焊或漏锡过孔盖油设置不一致或散热过快单独设置过孔Solder Mask Expansion按散热需求决定盖油还有一种常见但和铺铜无关的“unknown pin”报错很多时候是原理图里的元件引脚与PCB封装焊盘名称对不上造成的。比如原理图引脚叫GND但PCB封装焊盘叫PAD1或GND_1导网表后就会报unknown pin。这虽然不是GND铺铜的问题但很容易让人误以为是地没接好排查时耽误时间这里一并提醒。5.2 需要记住的几条实操经验说几条我自己的习惯每次画板都要过一遍。第一画板顺序上先把GND路径规划好再铺铜。不要布完线再随便撒铜GND铜箔不是事后补丁它应该和信号线一样是设计的一部分。尤其是电源板先把输入电容GND端、功率管GND端、输出电容GND端这条主回路画出来然后围绕这条回路加宽铜箔、打过孔整块板子的GND质量就稳了。第二过孔和铺铜要放到一起设计。如果先铺铜再加过孔过孔周围会产生很多新铜箔可能会破坏已铺好的区域如果先加过孔再铺铜就能让每个GND过孔和铜箔自然连接。最理想的是在铺铜前先把所有GND过孔的位置摆好然后再铺铜之后用Repour All把整板刷新一遍。第三大电流路径上的GND过孔要均匀分布。我见过有人把20个过孔打成一个团视觉上好像很多实际电流只从边缘的孔走中间的孔变摆设。正确的做法是让过孔像队列一样排开和电流方向一致让每个孔都分到电流。第四改完板子之后一定要重新跑一次DRC并且把GND网络完整高亮一遍。DRC能保底但GND铜箔的几何连续性它不一定管得住。每次我在AD20里处理完铺铜和过孔后最后一件事就是单层显示GND铜箔沿着板边扫一圈确认没有断头、没有孤岛、没有明显过窄的瓶颈。最后再分享一个小技巧。铺铜和过孔调整完之后如果Ratsnest还有未连接的GND线不要直接手动拖线先在AD20里Polygon Repour一次很多GND连接都会自动被铜箔吸住。要是还连不上再检查是不是Keepout把铜箔挡住了或者过孔被设置成盖油后阻焊层把连接点遮住了。GND铺铜这东西看起来只是“填一块铜”但每一步都和电气性能挂钩多花十分钟检查能给后面调板省下数不清的时间。