
在PCB布局阶段GND过孔这件事看着不起眼但处理不好是真的会翻车。我这些年见过太多板子原理图查不出毛病铺铜一盖也像模像样结果一到EMC预测试或者负载动态变化的场景地弹、噪声、环路电压乱跳最后查来查去问题往往就出在GND过孔上。而在Altium Designer 20里做Layout如果只会按P、V一个个点过孔效率低不说过孔分布也没有章法真正高效的做法是把“批量放置”和“智能避让”这两套思路结合起来让规则和工具帮你把关。这篇文章就把AD20里GND过孔批量放置、电源过孔处理、以及智能避让相关规则完整拆一遍适合现在正在做四层板、六层板尤其是电源板或带高频器件的板子的工程师。新手能照着操作老手也可以借这个机会重新梳理自己的打孔习惯。1. 为什么布局时就要跟GND过孔较劲1.1 回流路径GND过孔不只是接个地这句话估计很多工程师都听过但在实际布局时最容易忽略的也是它。信号从驱动端出发经过走线到达接收端总电流不是凭空出现的它需要一条完整的回路。对于多层板回流电流通常会选择阻抗最小的路径而阻抗最小并不意味着直线距离最短而是走线正下方的参考平面。一旦信号换层这条低阻抗路径就被打断了电流不得不绕路绕路的部分就会变成一个电流环向外辐射噪声同时在地平面上产生电压差。GND过孔的作用就是给这个被打断的回流路径搭一座“桥”。所以在布局阶段GND过孔不应该等到最后铺铜时才随手补而是应该在信号换层点附近、高速器件下方、电源环路边缘提前规划好。我见过不少新手铺铜之前觉得GND过孔密密麻麻很踏实结果仔细一看很多过孔都打在信号换层位置两厘米之外回流根本用不上还白白把平面层割了一块。1.2 电源过孔和信号GND过孔不能混用很多新手觉得过孔长得都一样往哪个网络一扔不都一样。但电源过孔和信号GND过孔从用途到参数都完全是两套逻辑。信号GND过孔主要承担回流和缝合的功能孔径可以小0.3mm钻孔配0.6mm外径就很常见电源过孔则要承担载流它的孔径、数量、位置都要按电流需求来定。我一般处理开关电源地时会把“功率GND过孔”单独拎出来设计。这些孔分布在输入输出电容的负极、MOSFET的源极、电感下方铜皮区域孔径不低于0.4mm并且成对或多个并联。这样做的原因是功率回路上往往有很高的di/dt如果只靠一个细孔接地寄生电感叠加上去尖峰电压会很难看这也是为什么热词里“电源过孔”单独成为一个高频搜索词——它在实际工程里确实坑过不少人。1.3 过孔数量与分布对EMC的实际影响过孔不是越多就越好。打多了平面层被割得支离破碎回流路径要绕更大圈子打少了回流路径太长高速信号参考平面不连续EMC照样出问题。所以GND过孔的关键不在数量而在位置和密度是否匹配信号的换层和环路。我自己的经验是分场景处理高速信号换层处3mm范围内最好有一到两个GND过孔屏蔽罩边缘按1mm到2mm间距打一圈缝合过孔兼顾机械和电气电源模块附近按电流大小在输入输出电容旁边成排成组打孔射频或天线净空区一颗多余的孔都别放。这个逻辑并不复杂但在布局阶段就要有意识不能等最后布线全拉完了再回头补孔。2. 批量放置GND过孔的4种高效打法2.1 连续放置模式Place Multiple Vias的正确打开方式AD20里加过孔的常规操作是放单个过孔按快捷键P然后按V点一下放一个。但如果你要在一长条区域内放七八个GND过孔用这种方式不仅慢而且位置全靠手感等距很难保证。更合理的方式是使用菜单 Place Multiple Vias放置多个过孔键盘上依次按P、M也能调出来。进入这个模式后按Tab键弹出属性设置把Net设置成GNDHole Size输入0.3mmDiameter输入0.6mm。这时在PCB上单击开始像画线一样沿着你规划的位置拖动软件就会按设定的间距连续放置多个过孔。放完按Esc或右键退出。这个模式的优点是过孔之间距离可控方向可以贴合布局形状特别适合在DCDC输入输出长条形区域打一整排地孔。我自己的习惯是先把右下角的Snap捕捉选项打开确保拖出来的过孔能对准栅格否则放完之后微观看会发现歪了一点点批量放大后特别难受。2.2 用阵列粘贴快速铺开过孔矩阵Multiple Vias适合排一列但如果要在屏蔽罩底下、功率模块铜皮区域打一个矩形过孔矩阵最省事的其实是阵列粘贴。操作路径是先在角落里放一个GND过孔设置好网络和尺寸CtrlC复制然后菜单 Edit Paste Special在弹出的界面里勾选“Paste Array”再点Paste Array按钮在Array Setup里填写Item Count、Primary X/Y Spacing这些参数。我举个例子一块20x20mm的屏蔽罩接地区域想按0.8mm间距打一圈缝合孔可以先放一个过孔然后设置横向20个、纵向20个X/Y间距都为0.8mm一次粘贴就是400个过孔。当然这只适合需要均匀“撒点”的场合打完之后多余的孔再单独删掉。我实际用这个方法时会先算一下行数和列数避免超出区域边界因为一旦粘贴完成再去框选调整坐标反而更耽误时间。阵列粘贴这个功能用来铺GND缝合孔是最顺手的因为它不用一个一个地捕捉坐标所有间距都是数字填进去的可控性强。2.3 高亮GND网络后统一放置避免网络错乱批量放置过孔最容易踩的坑是打完之后发现过孔网络不是GND。这个问题一般出在复杂板子上Net列表很长鼠标一点就放置结果放的其实是“No Net”或者其他网络。一个稳妥的流程是先在PCB面板PCB Panel的Nets列表里双击GND把整板GND网络高亮再进入放置过孔模式放置时按Tab手动把过孔网络改成GND并顺手勾上Locked防止后面移动元件时把这个孔误拖走。如果已经放了一批过孔才发现网络不对也没必要一个个改。在其中一个过孔上右键选择Find Similar Objects把Object Kind设置为Via将相同孔径、相同外径的过孔筛选出来点击OK后在Properties面板里统一把Net改成GND。这个方法尤其适合“复制了别人的封装块结果带过来一批无网络过孔”的场景。2.4 利用复用电路模块复制过孔组合做多路同样的电源或多通道相同布局时GND过孔的位置和阵列组合往往是完全一样的。这时候没必要在每一路都重新摆放直接复制粘贴整组过孔就行。先按住Shift选中A路DCDC附近所有GND过孔CtrlC复制然后切换到B路对应位置用Edit Paste Special按Reference点粘贴过孔组合就会贴在同样的相对坐标上。这里有一个好处过孔没有位号不像元器件粘贴后还要重新编号所以复制起来非常干净。但如果板子上有Room或者Component Replication粘贴后最好检查一下Room边界别让复制出来的过孔被某个Room规则排除在外。否则会出现一个很诡异的现象过孔看起来贴在那里也显示在GND网络上但DRC就不认账原因多半是Room Definition的Boundary没有覆盖到这些过孔。3. 智能避让的核心规则设置与交互操作3.1 先设Clearance规则DRC才会自动避让“智能避让”这四个字听起来像是软件自动判断、自动优化但实际工程里它靠的是DRC规则加上实时反馈。如果规则没有建好软件根本不知道你要避让什么也不会提醒你什么地方不能放。在Design Rules里我会单独建一条过孔相关的Clearance规则。Where First Object Matches填IsViaWhere Second Object Matches填IsPad或IsTrack约束值设为0.15mm到0.2mm6mil到8mil。这里最关键的是要把这条规则的优先级Priority调高把它放在默认Clearance规则上面否则被默认规则一覆盖等于没设。规则建立之后打开Online DRC之后你放置或移动GND过孔时只要靠近其他网络的焊盘或走线屏幕上就会立刻出现高亮标记这就是“实时智能避让”的底子。3.2 推挤模式让过孔自动绕开走线AD20的交互式布线里有一个很常用的功能按ShiftR可以在Ignore Obstacles忽略障碍、Walkaround Obstacles环绕障碍、Push Obstacles推挤障碍之间循环切换。很多人以为这个功能只在布线时生效其实你在移动一个过孔穿过密集走线区时它同样有效。把模式切到Push Obstacles然后拖动GND过孔附近的走线会被自动推开过孔就能在拥挤的区域穿过去。不过我建议先确认一下Clearance规则已经设置好否则推挤时软件虽然避开了物理碰撞却可能把间距挤到规则允许之外留下一堆DRC错误。实际操作中我一般是“规则把关、推挤辅助”先有宽松合理的间距规则再用推挤模式把过孔挪到位最后再跑一遍DRC这样出来的板子既干净又好看。3.3 覆铜连接方式对过孔避让的影响GND过孔通常是和覆铜配合使用的而覆铜对过孔的“避让”方式取决于Polygon Pour属性里的Connect Style。Connect to Net设置为GND后在Connect Style里选Direct覆铜会直接抱住同网络的GND过孔电气连接最扎实但过孔周围铜皮面积大对贴片焊盘会产生散热影响选Relief热焊盘覆铜与过孔之间会生成几根细连接工艺友好回流焊时不容易出现虚焊。如果你希望GND过孔与铜皮的连接更“省心”也可以把覆铜方式选成Pour Over All Same Net Objects这样同网络的过孔会被覆铜完全覆盖不同网络的过孔则按照Clearance规则避让。这种方式的视觉效果好过孔和铜皮看起来是一个整体电气上也更稳妥。需要注意的是如果同一个区域内既有GND过孔又有其他网络过孔必须先确认这块覆铜的Net是GND否则Pour Over其他网络对象会直接报错。3.4 过孔与净空区、禁布区的避让有些区域对GND过孔来说属于“禁区”比如射频天线净空区、对阻抗敏感的带状线附近。AD20里处理这类避让通常有两种方式。一种是在Keep-Out层画封闭图形定义禁布区然后在Clearance规则里加入Keepout对象让走线和过孔都不能跨进去另一种更直接用Polygon Pour Cutout在铜皮上挖掉一块区域过孔自然就不能放在被挖空的位置。我自己的经验是这类禁区最好在布局阶段就画好不要等铺铜完成再来处理。因为一旦覆铜和过孔都布完了再挖净空会影响整个回流路径不是删一两个孔那么简单。射频板上的天线净空尤其敏感铜皮和过孔的影响都是“有和无”的区别有时候多放一个过孔天线谐振点就会偏掉所以这类禁区的避让优先级要高于GND缝合过孔的密度要求。4. 过孔尺寸、载流与工艺的工程取舍4.1 过孔孔径、盘径怎么选很多新手一开始会纠结“GND过孔到底该选多大”其实这个问题没有唯一标准但有很实用的参考区间。普通信号GND缝合过孔0.3mm钻孔、0.6mm外径换算成英制是12/24mil是最常见的兼容绝大多数板厂的常规工艺也能满足一般回流需求。如果是BGA内部扇出就需要更小的过孔比如0.2mm钻孔配0.4mm外径甚至用盲埋孔。电源过孔则要更大一些0.4mm到0.5mm钻孔、0.8mm到1.0mm外径比较稳妥。场景钻孔直径外径说明普通信号GND缝合过孔0.3mm0.6mm常规工艺推荐BGA扇出过孔0.2mm0.4mm需确认板厂最小孔径能力电源过孔0.4mm-0.5mm0.8mm-1.0mm并联使用载流能力更稳屏蔽罩缝合过孔0.3mm0.6mm按1-2mm间距排列在AD20里可以通过Design Rules Routing Via Style为不同网络单独指定默认过孔尺寸。比如给GND网络建一条Via Style规则Hole Size 0.3mm、Diameter 0.6mm再给电源网络建一条0.5mm/1.0mm的规则。这样在不同网络上放过孔时软件会自动套用对应尺寸省得每次按Tab手动改。4.2 载流能力与寄生电感的快速估算你可以用经验值快速判断过孔数量。1oz铜厚、常规电镀条件下一个0.3mm钻孔的过孔长期稳定载流大约在0.5A到1A之间0.5mm钻孔的过孔大约1.5A到2.5A。所以大电流路径上从来不会只靠一个过孔而是多个过孔并联分摊。千万不要觉得“板子上加过孔又不花钱”就随便堆过孔过多会割裂平面层反而把回流路径搞得一团糟。过孔还有一个高频参数寄生电感。估算公式可以记一下L约等于5.08乘h再乘ln(4h/d)加1单位取nHh是板厚英寸d是钻孔直径英寸。拿1.6mm板厚、0.3mm钻孔来算等效电感在1.3nH左右。单个过孔好像没什么但高速信号换层处如果缺少GND缝合过孔回流电流被迫绕远这几个nH的电感叠加起来就是EMC发射超标的源头之一。这也是为什么我反复强调GND过孔要成组、成排地打让多个过孔并联电感会被显著压低。4.3 盖油塞孔批量过孔后的工艺坑GND过孔数量一多板厂的首个工艺问题就是“过孔盖不盖油”。AD20里过孔的Tenting选项决定了过孔是否在顶层/底层被阻焊油覆盖。默认情况下过孔是开窗露铜的如果过孔紧挨着贴片焊盘回流焊时焊锡很容易被过孔“吸”走轻则虚焊重则连锡短路。你可以在Via属性里勾选“Force complete tenting on top and bottom”或建规则统一处理。但盖油不是万能的。有些板厂对“过孔盖油”的定义是覆盖阻焊油墨表面会有一层油膜有些要求“塞孔”即把孔内填上树脂或油墨。如果是BGA区域还可能要求“树脂塞孔电镀平齐”。这些工艺直接影响过孔的位置规划比如孔到BGA焊盘的距离、是否允许过孔打在焊盘内等。所以在批量放置GND过孔之前最好先和板厂确认工艺能力这是很多工程师容易漏掉的环节。5. 实战中遇到的过孔问题与排查方法5.1 批量过孔后DRC报“Hole to Hole Clearance”怎么办这是我最常收到的问题之一。打孔一时爽DRC跑完报错一大片全是Hole to Hole Clearance。遇到这个报错不要急着删孔。先在Design Rules里找到Manufacturing Hole To Hole Clearance看看当前值是多少。一般板厂要求孔壁到孔壁的间距不小于0.25mm或0.3mm如果你的过孔间距正好卡在边界可以先把规则数值调整到符合工艺的替薪值同时检查是否误把过孔和焊盘之间的间距也套用了同一个规则。如果规则没问题那就要从过孔本身找原因确认是不是Multiple Vias模式下设置的间距太小或者复制粘贴时原点偏移导致过孔重叠。还有一种情况是阵列粘贴时X/Y Spacing算错导致横向间距没问题、纵向却贴在一起。我的处理习惯是先全选所有过孔用Properties里的坐标排序功能看一眼分布再按规则要求批量对齐而不是一个一个手动挪。5.2 打过孔的GND网络显示out of net有段时间我经常遇到一种情况过孔看起来在GND区域网络也显示GND但DRC在检查时就是提示out of net或者无法连接。排查下来多半是网络命名不一致。AD20对网络名是完全匹配判断的GND、GNDA、AGND、PGND这些看起来差不多的名字在软件眼里是两个网络。如果原理图里已经改名PCB里的过孔没有同步更新就会变成无网络状态。处理方法是Find Similar Objects全选过孔然后在Properties里把Net统一改为目标网络。还有一个小概率原因是Room规则有时候过孔处于某个Room边界之外而Room里定义的Room Definition限制了可放置对象DRC也会报异常。遇到这种“说不清楚”的报错先检查Room边界再检查网络名基本都能解决。5.3 出Gerber前检查过孔盖油与盘径导出Gerber之前我至少会做两个检查。第一个是过孔Tenting设置去3D视图或者分层视图里看顶层和底层过孔是否都盖上了阻焊尤其是BGA扇出区和贴片元件密集区域。第二个是盘径尺寸钻孔0.3mm的过孔外径至少要0.6mm否则盖油时容易露铜环加工误差一大就会在回流焊时出问题。检查的时候可以直接在AD20里选择过孔打开Properties看Tenting和Hole Size、Diameter也可以一次性用Find Similar Objects选中所有过孔统一检查。我习惯在出Gerber前把过孔相关的规则再跑一次DRC看有没有违反Manufacturing规则的地方因为板厂最喜欢在这种细节上给你发“加工note”轻则确认邮件往来耽误一天重则直接报废。5.4 布局阶段快速检索过孔冲突的经验我自己在布局阶段会按“打完一组孔、切单层看一眼、跑一次局部DRC”的节奏来。打完GND过孔后按ShiftS切到GND层单层显示用目测确认过孔和平面层连接是否自然有没有孤岛和死铜。然后再用Design Rule Check跑一次当前区域的DRC看Messages面板里的冲突列表就能快速发现过孔和走线、焊盘的间距问题。这里也把前面遇到的问题整理成一张速查表方便对照。现象可能原因处理方式DRC报Hole to Hole Clearance过孔间距小于Manufacturing规则调整Multiple Vias间距或规则值过孔显示out of net网络命名不一致或重导网表导致漂移Find Similar Objects全选后统一指定网络过孔开窗露铜回流焊吸锡Tenting未勾选或工艺要求塞孔勾选Force complete tenting与板厂确认工艺过孔在Room边界外被规则排除Room Definition未覆盖复制区域调整Room边界或修改相关规则关于前期库的问题也多说一句。很多“Unknown Pin”或者封装引脚不匹配的报错其实和过孔本身没有关系而是原理图库和PCB库没有对齐网络名对不上。等到后面重导网表那些历史遗留的过孔网络就会跟着报错。所以布局开始前花半小时把库的引脚名、网络名核对一遍后面能省掉大量排查GND过孔网络的时间。这个习惯我坚持了很多年也是我能在布局阶段比较快发现问题的一个原因。说实话GND过孔这个细节放在整个PCB设计流程里就是一环但这一环往往决定了一块板子的下限。我个人的习惯是每个电源模块布完先不急着拉全部走线先把这一块的地过孔按“缝合”思路一次性放好再覆铜再跑DRC这样后面的返工量会少很多。如果你也在用AD20做多层板建议把这套“批量放置规则避让”的操作练成肌肉记忆特别是Multiple Vias和阵列粘贴这两个工具能帮你省一半的时间。最后再分享一个小技巧过孔批量放完后全选所有GND过孔在Properties里把Locked勾上后面移动器件时就不会误把这些孔带跑这个习惯让我少返工了很多次。