☰
AD20 PCB设计实战:解决GND铺铜与过孔布局常见错误
2026/10/6 7:04:08 网站建设 项目流程

AD20 PCB设计实战:解决GND铺铜与过孔布局的常见错误

铺铜这活儿,看着简单:画个板框,选个网络,按下快捷键,铜皮哗啦一下铺满整板。但你有没有遇到过这种情况——板子打样回来,焊完一上电,某个芯片的GND引脚对地电压偏高,或者EMC测试时辐射超标,又或者铺铜区域里有几块孤零零的"小岛",怎么都连不到地上去?我在用AD20做PCB设计这几年,踩过不少铺铜和过孔布局的坑,尤其是GND铺铜这部分,几乎每一个看似"没问题"的板子,回头检查时都能揪出一堆隐患。这篇就把我实际折腾出来的经验、参数设置和排错思路整理一遍,专治GND铺铜和过孔布局这边各种说不清道不明的毛病。

先给不熟悉的读者交代一下背景。AD20是Altium Designer 2020版本,PCB设计里最常用的操作之一就是铺铜(Polygon Pour),而过孔(Via)则是连接不同层之间铜箔的通道。GND网络作为整个电路的参考地平面,它的铺铜质量和过孔分布,直接关系到信号完整性、电源稳定性和EMC表现。这篇文章适合正在用AD20画板、准备投板打样,或者板子已经回来但遇到GND相关问题的工程师,特别是中小功率控制板、电机驱动板和传感器采集板这类场景。


1. 铺铜前必须搞清楚的规则:不是把铜撒上去就完事

很多人第一次铺GND铜皮,是直接在顶层和底层各拉一块Polygon Pour,网络选GND,然后回车完事。这样确实能出铜,但铺出来能不能用、好不好焊、过流能力够不够,完全是另一回事。我在实际项目里发现,铺铜之前的规则设置,决定了铺铜百分之七八十的效果。

1.1 铺铜网络归属与GND网络的正确设置

铺铜的本质,是给一整片区域指定一个网络。通常我们的做法是给顶层、底层的大面积铜皮指定为GND。这里有一个经常被忽略的细节:网络名的大小写和前缀必须和原理图完全一致。AD20里GND和gnd在电气上是两个不同的网络,如果你铺铜时敲了个小写的gnd,而原理图里用的是大写的GND,那整块铜皮就是孤立的,和任何焊盘都连不上。

我见过一个很隐蔽的情况:项目是从旧版本工程迁移过来的,原理图里GND网络被自动改成了GND_PWR之类的带后缀名称,但PCB里铺铜却还选的GND。这种问题在DRC检查时一般会报Un-Routed Net,但如果你没仔细看,光看铜皮上有个GND标签就以为连好了,等到焊接测试时才发现地线根本没接通。所以在铺铜前,建议先打开PCB面板,把Net列表完整看一遍,确认GND网络的准确名称,再在铺铜属性里选网络。

另外,对于多层板,内层的地平面也建议用铺铜来实现,而不是直接画一块无网络的铜皮。AD20里边做内层GND平面,可以先用Keepout或者板框定义区域,再放置Polygon Pour指定GND网络。这样做的好处是,之后修改板框尺寸,铺铜会跟随板框自动收缩,不会出现内层铜皮露出板边的问题。

1.2 间距规则、死铜移除与最小连接宽度

铺铜的间距规则直接影响两个东西:一是电气安全,二是铺铜的连续性。AD20里默认的Clearance规则是0.254mm(10mil),有些高密度板会调到0.2mm,但GND铺铜和高压引脚之间,我一般会把间距单独设置到0.5mm以上,否则爬电距离不够,板子在潮湿环境下容易出问题。

具体操作是在Design Rules里新加一条Clearance规则,把Where The First Object Matches设置为InNet('GND'),把Where The Second Object Matches设置为InNet('HV_PIN')或者InAnyClass,然后指定间距。规则也有优先级,同一个网络对之间如果命中多条规则,AD20会按优先级高的来,建议把这种自定义规则放到默认规则前面。

死铜,也就是铺铜区域内没有连接到网络焊盘的铜皮小岛,是GND铺铜最大的坑之一。如果你在铺铜属性界面里把Remove Dead Copper选项勾上,AD20会自动删除这些孤岛;如果没勾,板子上就会留着一块块漂浮的GND铜皮。这些死铜看图时不容易发现,到生产线上也没人帮你处理,最终结果就是该接地的地方没接上,可能还形成寄生天线,让EMC问题变得更严重。我个人的习惯是,铺铜属性里勾上Remove Dead Copper,并且在铺铜完成后主动检查是否有残留孤岛。

还有一个比较少人注意的参数:Polygon Connect Style,也就是铺铜和焊盘的连接方式,以及连接导线的宽度。默认是十字形连接,连接宽度和规则里的导线宽度一致。如果你在铺铜属性里不单独设置,AD20会采用最小连接宽度,通常只有0.254mm,这对大电流的GND焊盘来说太细了。我一般会把GND铺铜和焊盘的连接宽度设置到0.5mm甚至1mm,保证每个GND焊盘有足够的连接面积,不至于过流时会烧断铜皮。


2. GND铺铜最常见的四类错误与处理手法

这部分是我自己踩过最多坑的地方,挑四个典型问题展开讲,每一个都是真实项目中遇到过的。

2.1 铺铜后出现大量"死铜区"

死铜区怎么来的?一般是板面上有狭长的槽孔、密集的过孔阵列或者小间距的走线,把铺铜区域切割成很多小块,这些小块又恰好没有和任何GND焊盘相连,就成了死铜。AD20虽然能自动删除死铜,但它的判定逻辑是"完全孤立"的小铜皮才删,如果某个小岛通过一段细小的铜皮和主GND区域勉强连在一起,它不会删,但那段细铜皮很可能只能过很小的电流,相当于瓶颈。

处理死铜,我的建议是两层。第一层,在铺铜前先用画线工具在容易出现死铜的区域加一条"引导线",把铺铜的走向引导到焊盘密集的地方,让铜皮更容易和焊盘接触。第二层,铺铜完成后用快捷键T -> G -> A重新铺铜,再按T -> G -> D删除死铜,这是AD20里重铺和清除死铜的标准操作。如果发现某个区域依然出现大片死铜,与其在那里纠结,不如直接在该区域放置几个GND过孔,这样铜皮就有锚点可以连接了。

2.2 铺铜和器件焊盘连接方式选错导致焊接/散热问题

铺铜和焊盘的连接方式有直接连接和热焊盘(十字连接)两种。选择不对的后果,要么是焊盘散热太快导致虚焊,要么是大电流焊盘连接太细导致温升高。GND铺铜如果采用直接连接,焊接时烙铁的热量会迅速被整片铜皮吸走,焊锡很难充分融化,手工焊接时特别明显。所以对于普通信号GND焊盘,我强烈建议用十字连接,这样焊盘和铜皮之间保留了一定的热阻,焊接要顺利得多。

但反过来,对于功率地上需要走大电流的焊盘,比如电源芯片的散热焊盘、电机驱动MOS管的源极焊盘,就不能用十字连接了,因为十字连接相当于给大电流通路加了四个细脖子,过流能力严重不足。我一般会单独设置一个规则:把这类大电流焊盘所在的器件或网络,连接方式改成Direct Connect,同时把连接宽度加大到1mm以上。

具体操作:打开Design Rules,找到Polygon Connect Style,新建规则,Where The First Object Matches选择InNet('PGND')(如果你的大电流地是PGND),然后把Connect Style设为Direct Connect,Connection Width设为1mm。注意规则顺序,这个特殊规则要放在默认规则前面。

2.3 铺铜边界与板框、安装孔的间距失控

铺铜离板框太近,加工时可能被铣刀切到,导致铜皮毛边甚至短路;离安装孔太近,打螺丝时容易碰到螺丝头,造成和其他网络的短路。AD20的铺铜区域如果设置成跟随板框,一般会自动内缩一个距离,但如果你手动画的铜皮形状,或者板框改动过,就很容易出现边界贴合太近的问题。

我的经验是:铺铜和板框的间距至少留0.5mm,和安装孔(尤其是不接地的金属安装孔)至少留1mm以上。如果是自定义形状的铺铜,画完以后用键盘上的Shift+Ctrl+单击铺铜区域选中铺铜,打开属性面板检查它的边界,确认没有和Keepout线、板框的倒角区域冲突。

还有一个高频问题:改过板框以后,铺铜没有自动更新边界,边缘留下一道锯齿或者缺一块。AD20里铺铜区域和板框之间不是自动关联的,板框改变后,旧的铺铜形状不会自动适应。需要手动选中铺铜,重新拉一遍边界,或者干脆删除铺铜重新铺。我一般会在改完板框后执行一次全板重铺,再逐一检查铺铜边缘。

2.4 多层板GND铺铜的过孔缝合没做,回流路径断了

双层板上GND铺铜主要在顶层和底层,问题还不算突出;到了四层板甚至更多层,内层的地平面如果和顶层底层的GND铜皮之间缺少过孔连接,回流电流就只能绕远路,这等于人为增加了回路电感。

过孔缝合(Via Stitching)这个概念,很多新手会忽略。简单说,就是在GND铺铜区域的边缘、走线换层的地方,每隔一段距离打一个GND过孔,把不同层的GND平面"缝"在一起,确保回流电流有最短、最宽的垂直通道。AD20里有一个自动缝合过孔的功能,在Tools菜单下选择Via Stitching -> Add Stitching Vias,可以把网格状分布的过孔快速加到选中的铺铜区域内。

但自动缝合的问题在于,它打出来的过孔太密,既占空间又可能挡住布线通道。我一般不用全板自动缝合,而是手动在最需要的地方补几个过孔:板边沿每5到10mm一个、高频信号走线两侧各一对地过孔、电源芯片GND焊盘旁边一到两个过孔、BGA扇出区域内部均匀分布几个。


3. 过孔布局:GND过孔和电源过孔到底该怎么打

过孔布局是GND铺铜之外另一个大坑。很多板子铜皮铺得没问题,但过孔打得不讲究,照样出问题。

3.1 过孔孔径、载流能力与间距的匹配

过孔孔径和载流能力直接相关。常规信号过孔用0.3mm钻孔/0.6mm焊盘,这种过孔通过2A以上电流就明显发热了。如果是用于电源或GND的大电流路径,我建议钻孔直径至少0.5mm,焊盘直径至少0.9mm到1mm,并且一个焊盘旁边最好同时放置两个甚至三个过孔并联,分散电流。

有人可能会问,为什么不能把过孔直接打在焊盘上?AD20里可以开Via In Pad,也就是过孔打在贴片焊盘中央,这在小封装芯片的GND焊盘上很常见,能显著降低回路电感。但它的代价是焊接时焊锡可能流失到过孔里,造成虚焊。简单的处理方式:如果你不是做HDI板,也没有树脂塞孔工艺,尽量避免在普通信号焊盘上打过孔,GND焊盘上的过孔也最好放在焊盘的边缘,而不是正中央。

3.2 GND缝合过孔的布局密度与回流路径

回流路径是高速设计中常说的问题。信号从顶层走线进入某个过孔换到内层,回流电流也必须在同一位置附近通过一个GND过孔换层,否则回路面积极大,环路电感飙升。我见过的快速判断方法:信号换层过孔的旁边,10到20mil以内至少要有一个GND过孔,这样回流电流就能就近跳层。

GND缝合过孔的密度,取决于工作频率。对一般的MCU板、电机驱动板,板边每5mm打一个地过孔已经够用;如果板上有射频电路或者高频通信模块,板边缝合过孔的距离要缩到2到3mm以内。实际经验里,我倾向于"沿板边稀疏均匀、敏感信号两侧加密"的布置策略,而不是全板铺满。

3.3 电源过孔的冗余设计

电源过孔指的是从电源层或者外接电源入口连接到器件电源引脚的过孔。常见错误是过孔数量不足或者孔径太小,导致电源内阻偏高,稳压芯片输出动态响应差。

我设计电源过孔时,会先估算一路电源的电流。比如5V给到多个传感器,峰值电流可能有2A,那从顶层电源入口到内层电源平面的过孔,至少需要两个0.5mm钻孔的过孔并联(单个0.5mm过孔在2A时温升大约是20度左右,两个并联就安全很多)。如果是大功率电机驱动,48V/10A级别的母线,我一般会用四个以上0.6mm钻孔的过孔,同时在过孔旁边留出足够的铜皮散热面积。

还有一个容易忽略的细节:电源过孔和GND过孔之间的距离。如果靠得太近,电源过孔周围的铜皮会被GND过孔的热焊盘切割,导致载流截面积下降。一个判断标准:电源过孔边缘到最近的GND过孔边缘至少保持0.5mm以上间距,确保铜皮连续。


4. 铺铜与EMC的恩怨:电机、功率电路上方铺铜的坑

铺铜不是越满越好,这一点在做功率电路和模拟测量时尤其明显。热搜词里有一条"电机上面铺铜会导致高EMC",这正是我踩过的坑之一。

4.1 为什么电机驱动电路上方铺铜反而EMC变差

电机驱动的三个半桥输出节点,是典型的dv/dt极高的节点,电压变化率能达到几十V/ns。如果你在电机驱动走线和MOS管上方大面积铺GND铜皮,就会在铜皮和走线之间形成寄生电容。高频噪声会通过这个寄生电容耦合到GND平面上,把GND平面变成一个噪声源,反而让整个板的EMC变差。

所以,做电机驱动板时,功率管栅极驱动信号、三相输出走线的正上方和正下方,都不建议铺完整的地铜皮。正确做法是:在这些区域设置禁止铺铜区,把铜皮"剪"开,或者用Keepout线画出禁布区域,让高频开关节点周围的GND铜皮断开。

具体在AD20里怎么操作?先在Keepout层画一个闭合的禁布区域,覆盖住MOS管和三相输出走线的位置,然后再执行铺铜,AD20会自动绕开这个区域。注意Keepout区域要稍微比实际走线宽出1mm左右,留足安全边界。

4.2 罗氏线圈等模拟测量场景下的铺铜禁区

热搜词里提到的"PCB罗氏线圈设计"也很有意思。罗氏线圈本身是利用磁场感应测量电流的器件,对空间中杂散的电磁场非常敏感。这时候如果线圈周围有大面积GND铺铜,铜皮上的涡流会产生额外的磁场干扰,直接影响测量精度。

遇到这类模拟测量电路,我通常的做法是:信号敏感区域完全不做铺铜,或者只做很小的局部接地铜皮,并且远离线圈绕组。GND铺铜只在外围形成一个"屏蔽环",通过过孔连接到地的同时,保持和敏感电路之间有足够的空气间隙。

4.3 高dv/dt节点铺铜的应对策略

除了"不铺铜"这种消极策略,还有一种积极的做法:给高dv/dt节点加吸收网络,从源头减少噪声。常见的做法是在MOS管的D-S之间、或者在桥臂输出端对地加RC吸收电路。这些吸收网络本身也需要一个干净的GND参考点,所以不能一刀切地全板不铺铜。

我的建议是,高dv/dt节点的正下方保留一小块独立的"安静地"铜皮,只通过单点连接到主GND平面,这样既给吸收网络提供参考地,又避免噪声灌入整个地平面。


5. AD20实际操作中的常见报错与细节坑

最后这部分,是我日常用AD20处理铺铜和过孔时,最常遇到的软件操作层面的问题。

5.1 "UNKNOWN PIN"报错的成因与处理

AD20在使用过程中,经常会在移动器件或者更新PCB时弹出"Unknown Pin"之类的错误。这个问题的根源一般是原理图和PCB封装库之间引脚编号不一致。比如你在Sch里放置的是一个三脚器件,但PCB封装画成了两脚,或者封装里引脚编号是A/K,而原理图里是1/2。

处理"Unknown Pin",我一般分两步。第一步,在原理图里重新编译工程(Compile),看Messages面板里有没有封装相关的警告,确认是哪个器件报错。第二步,双击报错器件,在Properties面板里重新选择正确的PCB封装,或者在PCB Library里修改引脚编号,保存后回到原理图更新到PCB。

这个错误和铺铜、过孔没有直接关系,但它会导致你更新PCB时,部分器件的位置、焊盘网络错乱,进而影响后续的GND铺铜和过孔连接。所以建议动手铺铜之前,先确认整个工程没有任何Unknown Pin报错。

5.2 铺铜隐藏/显示与重新铺铜的快捷键操作

AD20里铺铜默认是填充显示状态,当你编辑底下的走线和过孔时,铜皮常常挡住视线。很多新手在这里会卡住:不知道怎么把铜皮临时藏起来。

我的日常快捷键是:

  • 隐藏顶底层铺铜:先按L打开View Configuration,在Show/Hide选项卡里,把Polygons那一层临时勾选为Hidden,或者直接按快捷键Ctrl+Shift+P,在弹出的铺铜操作菜单里选Hide All Polygons。
  • 显示全部铺铜并按最新规则重新铺:T -> G -> A,也就是Tools -> Polygon Pour -> Repour All。
  • 只想重新铺一块铜皮:选中铺铜区域后按T -> G -> R,单独重铺。

这里有个容易踩的坑:你对铺铜区域做了编辑,比如拉伸了边界,或者改了网络,返回铺铜状态时要手动重铺一次,不然板上显示的还是旧的铜皮状态。AD20会把铺铜修改标记为"Polygon Pour Modified",我习惯在投板前执行一次全板Repour,再执行一次DRC,确保所有铜皮都是最终状态。

5.3 位号镜像与元器件库封装绘制中的隐患

"位号镜像"是AD20画封装和调整丝印时经常用到的功能。位号(Designator)如果在板上镜像了,丝印文字方向就反了,生产出来看不清器件编号,返修时非常痛苦。常见的操作坑是:在PCB Library绘制封装时,位号的位置是正确的,但更新到PCB后因为层选择错误被镜像了。

铺铜场景下,位号镜像导致的实际问题主要是:当你手动修改丝印位置时,如果恰好把位号移动到了铺铜区域上方,不会引起电气问题,但出Gerber时如果光绘层设置不对,丝印会被铺铜盖住或者变成不完整。所以我在投板前都会做最后一遍检查:在3D视图里翻转板子看丝印方向,确保没有镜像位号。

5.4 导出Gerber检查铺铜与过孔,避免光绘文件缺层

AD20导出Gerber时,最容易出问题的就是层设置。铺铜和过孔分别在不同的层上面:铺铜在Top Layer/Bottom Layer,过孔钻孔数据在Drill Drawing层,过孔焊盘在Multi-Layer。如果导出Gerber时漏选了Multi-Layer,打样回来的板子上过孔就没有焊盘,导致过孔和上下层铺铜之间连接不良。

导出Gerber前,我一般会确认三层必选:

  1. Top Layer和Bottom Layer(包含对应层的走线和铺铜)
  2. Multi-Layer(包含过孔焊盘、通孔器件的焊盘)
  3. Drill Drawing(包含过孔钻孔尺寸和数量信息)

另外,AD20导出Gerber时有个选项是"Plot Lines",如果你不小心把Keepout层的线条也导进去了,工厂会依照Keepout把板框切掉一部分,严重时整个板子都废了。建议Keepout层不要输出到光绘,除非你是用Keepout来画板框的。


最后说点体会

铺铜和过孔布局这件事,做多了就会发现,它靠的其实不是某个软件里单个神奇功能,而是一整套“规则+检查+经验”的组合拳。我刚接触AD20那会儿,也觉得铺铜嘛,铺满就完事,后来交了一次板子,回来发现底层铜皮有一大块死铜,导致一个传感器地线接触不良,客户反馈数据跳变。从那以后,我给自己定了一个死规矩:每次投板前至少花半小时,按顺序检查网络名、间距规则、死铜、过孔密度、Gerber层设置这五件事。

这套检查流程,说复杂不复杂,但确实能让你少打几次废板。AD20的铺铜和过孔功能本身并不难学,真正的提升发生在你理解了"为什么这么设置"之后。建议你现在就打开一个旧工程,按我上面的思路把铺铜规则过一遍,把死铜、过孔缝合、禁止铺铜区这些点重新审视一遍,很可能你就会发现,原来自己的板子一直存在一些看不见的隐患。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询