
干了这么多年PCB设计我复盘了一下自己踩过的坑铺铜和覆铜的间距设置绝对排得进前三。很多刚入行的人觉得铺铜就是画个框、灌个铜、点一下“Repour”就完事了但真到了出Gerber、送工厂打样那一步铺铜间距设置不对引发的连环问题——DRC疯狂报红、板厂打来电话说短路、SMT贴片时莫名锡桥、EMC测试不过——能把人折磨到怀疑人生。这篇文章不打算讲虚的直接把铺铜与覆铜间距这件事揉碎了讲透底层逻辑是什么、AD23里怎么一步步设置、几类常见板子电机驱动板、大功率电源板、精密采集板分别该注意什么最后附上一份我的问题排查记录。如果你正被铺铜的DRC报错和EMC问题折磨这篇应该能帮你省下不少加班时间。1. 铺铜间距为什么这么重要——先把底层逻辑盘明白1.1 铺铜到底在图什么铺铜Copper Pour真不是为了让板子看起来高端才铺的。它实际干的事非常明确第一提供完整的地回流平面让高频信号的返回电流贴着信号走线下方走环路面积最小对外辐射和对内干扰都能压到最低第二利用大面积铜皮散热尤其是大功率电源板上的发热器件铜皮本身就是一块低成本散热器第三机械上增强整板刚性减少拼板、焊接后的翘曲变形第四对某些敏感模拟区域四周铺上接地铜皮还能起到粗线条屏蔽的作用。如果光是“我画个多边形然后铺铜”那确实简单。真正麻烦的是铜皮和周围导体之间的关系全靠间距Clearance来定义。间距太小铜皮和旁边走线、焊盘之间的距离不够制造上可能出残铜短路电气上会引入寄生电容、破坏回流路径甚至把整个地的噪声特性搞坏。很多工程师把百分之九十九的精力都花在走线布局上留给铺铜规则设置的时间连百分之一都不到这是典型的本末倒置。铺铜是一块板的“底子”底子没打好走线再漂亮也白搭。1.2 间距设置不当代价到底有多大先说制造工艺这一关。常规PCB厂能做到的最小线间距是有限度的一般成熟工艺要求4mil以上稳妥做法是6mil以上。铺铜如果和旁边走线贴得太近蚀刻的时候药水来不及把细缝里的铜咬干净就会留下毛刺和残铜。轻则板厂质检打电话让你改版重做重则小批量生产直接出现批量短路。我在实际项目里习惯把铺铜与其他导体的间距定在0.2mm约8mil以上一般优先用0.25mm10mil关键高压部位用0.3mm12mil也不会心疼。这个数值不是凭空拍的是和板厂工艺工程师反复核对后换来的血泪经验。再说焊接和可制造性。SMT贴片时如果铺铜和贴片焊盘间距太近焊料很容易顺着裸露铜皮爬出去形成锡桥板子过了回流焊之后一排引脚连在一起维修工看到这种板子都想骂人。反过来如果铜皮和焊盘是直接灌通的大面积铜皮吸热能力特别强焊接时温度上不来焊点发灰、虚焊冷焊的概率大幅上升。所以正规设计里铺铜与焊盘的连接方式、连接宽度、热焊盘尺寸、间距都要单独设不能一把尺子量到底。再说EMC和信号完整性。铜皮和走线之间的距离决定了寄生电容大小间距越小寄生电容越大高频噪声就越容易从走线耦合到铜皮上。这时候铜皮不但起不到屏蔽作用反而成了噪声传播的高速公路。尤其是电机驱动这类带有高频开关节点的板子驱动引脚附近的铺铜间距如果太近传导耦合加空间辐射双管齐下最后送去实验室做EMC预扫时超标个十几dBV整改起来那叫一个酸爽。我见过不少同行在这里翻车明明电路原理没问题硬是被铺铜细节坑到改了三版。2. AD23铺铜间距设置的完整实操步骤——照着抄就行2.1 先找到规则管理器把优先级理清楚在Altium Designer 23里铺铜间距属于Electrical规则下的Clearance间距约束入口是菜单 Design → Rules快捷键 D R。打开规则面板之后左边PCB Rules and Constraints Editor里找到 Electrical → Clearance。默认情况下系统只有一条Clearance规则作用于“All”所有对象一般默认值可能是10mil或者你从模板带进来的值。真正要注意的是默认规则的作用范围是整张板子的所有对象。如果我用默认规则管铺铜那走线间距、焊盘间距、过孔间距、铺铜间距全都会绑定成一个值这在实际项目中根本不够用。因为走线间距我希望是6mil甚至DDR走线要等间距而铺铜间距我想放到10mil以上两者不存在冲突吗其实不冲突条件是要给铺铜单独建一条高优先级的规则让它在“铜皮和其他对象”这个组合里接管判断而默认规则只管剩余场景。实操里我建议这样拆保留默认规则做基础通常是6mil或8mil然后新建一条针对“铺铜对象”的规则把间距拉到10mil或12mil。AD判断规则时按优先级从高到低匹配谁的条件先命中谁就生效。如果两条规则都命中了同一个对象优先级数字小的那条会胜出。不熟悉这个机制的人经常出现“我明明设置了铺铜间距20mil为什么实际测量还是6mil”——就是因为新规则的优先级没调上去被默认规则盖住了。2.2 新建铺铜专属Clearance规则对象匹配是关键在Clearance那一行点右键选择 New Rule会生成一条Rule_1。我习惯直接双击改名叫它“Clearance_Polygon_All”。这里的关键是设置规则的作用范围分两个维度第一个维度是“Where The First object matches”第二个是“Where The Second object matches”。比如我想让铜皮和所有导线之间都保持12mil第一种写法是在First object匹配条件里选 InPolygon只要发现是铺铜就触发Second object就不管保持All。这样写的好处是只要对象对里有铜皮不管是走线、焊盘、过孔还是文本通通按12mil来约束。如果你想要更精细比如铜皮到走线12mil、铜皮到焊盘10mil、铜皮到过孔8mil那就得拆成三条规则把匹配条件分别改成 InPolygon 且第二个对象分别匹配 IsTrack、IsPad、IsVia。这里有个AD23的细节Polygon对象在对象匹配里对应的是 InPolygon但是如果你想管的是“铜皮切割出来的禁止区域”之类的东西那又是另一个对象别搞混。还有更严谨的写法是用 Query 输入比如InPolygon这段Query表示匹配所有铺铜对象。如果想匹配特定网络可以写 InPolygon And OnLayer(Top Layer) And InNet(GND)限定顶层地铜皮。不同项目需求不一样但核心逻辑都是靠Query组合条件AD的规则系统本质上就是一个条件判断引擎理解了这一点后面什么奇怪的约束你都能写出来。新建规则之后Priority要调整。打开规则面板右上角的 Priorities 按钮把清铜规则拖到默认规则上面数值越小优先级越高。实测下来我习惯把所有特殊规则都排在默认规则上方这样避免默认规则“抢跑”。2.3 按对象类型设置不同间距——走线、焊盘、过孔分开管铺铜间距为什么要按对象拆开因为不同对象的制造风险不一样。铜皮到普通走线的间距影响的是蚀刻精度铜皮到焊盘的间距影响的是焊接质量铜皮到过孔的间距影响的是过孔附近是不是容易藏残铜、破孔。如果只用一个数字统一管那你的设计要么过度保守浪费板面积要么过于激进制造和焊接全出问题。我来给一个默认模板是我在多个量产项目中验证过的大家可以当成起点再根据自己板厂的工艺能力微调间距对象推荐值说明铺铜 → 走线Track10mil0.25mm兼顾蚀刻精度和板面积利用率铺铜 → 焊盘Pad10mil0.25mm防锡桥同时照顾焊盘散热铺铜 → 过孔Via8mil0.2mm过孔周边不容易藏残铜铺铜 → 覆铜边缘12mil以上板边应力区防撕裂铺铜 → 高压区域按安规距离比如220V爬电距离必须大于安全规范值注意铺铜到焊盘的值很多人直接沿用走线间距10mil最后发现BGA fanout区域根本没空间铺铜进去。这时候我建议在BGA区域单独再用一条规则把铺铜到BGA焊盘的间距放松到12mil或者干脆在BGA下方做禁止铺铜区避免星星点点的死铜。BGA区域的死铜处理是另一个重灾区后面我会单讲。2.4 热焊盘、死铜切除、隐藏和重铺——配套设置不能少间距规则只是铺铜的第一层配置还有几个配套项是必须在AD23里设置的。热焊盘Thermal Relief的设置在 Design → Rules → Plane → Power Plane Connect Style 里。默认的“直接连接”不太好因为大面积铜皮连接焊盘时散热太快焊接容易虚焊。我一般在SMD焊盘上让铺铜使用热焊盘连接铜皮通过几根细的“辐条”连到焊盘上既保证电气导通又把传热路径拉长。辐条宽度我常用10mil到15mil根数四根。如果是大电流焊盘比如电源模块的输入输出引脚那我会改成直接连接甚至把铺铜和焊盘之间的连接宽度加宽到1mm以上保证载流能力。死铜Isolated Copper是另一件事。铺铜之后部分铜皮因为周围间距限制变成“孤岛”和任何网络都不相连。这种死铜留着就是天线EMC测试时会出幺蛾子。AD23里在铺铜属性面板直接勾选 Remove Dead Copper重铺之后系统会自动删除孤立铜皮。但要注意有时候你觉得它该是死铜结果它其实是某个很小焊盘连着的“活铜”所以切完死铜之后一定要再跑一遍DRC确认没有把应有的连接删掉。隐藏和重铺也是有快捷键的操作。按 ShiftS 可以切换铺铜显示模式或者用快捷键 L 打开Board Layers面板把需要显示的铜皮层勾上就能看到铺铜的真实样子。修改了边界或规则后记得全选铺铜区域执行 Tools → Polygon Pours → Repour All快捷键 T G A让所有更改生效。很多人改了规则不重铺守着旧铜皮看半天还以为软件出Bug了其实是没点这一下。3. 场景化避坑电机驱动板、大功率电源板、精密采集板各有各的坑3.1 电机驱动板为什么电机上方铺铜反而带出高EMC热搜词里有一句很扎心的总结——“电机上面铺铜会导致高EMC”这句话基本是驱动板工程师用加班换来的。电机的三相绕组在换相时电流变化率di/dt极高和MOSFET开关节点的dV/dt叠加之后会产生很强的高频分量。如果你在这些开关节点旁边铺了完整铜皮而且间距还拉得很近那铜皮和引脚之间的寄生电容会把开关噪声直接耦合到地平面或者相邻信号上板子就成了一个辐射体。我处理电机驱动板的经验是开关节点正下方的铜皮要刻意断开或者保持足够大的间距至少要40mil以上别想着在MOS管引脚旁边铺一堆地铜来“吸收噪声”那是在给噪声铺路。更好的做法是把功率地和信号地在布局上物理分离功率区域单独铺铜用单点连接或者磁珠/0欧电阻桥接到信号地铺铜间距在功率区域可以用20mil甚至更大确保开关节点和地铜之间有充足的距离。还有一招很实用在AD23里给开关节点布线时借助 Polygon Pour Cutout 在引脚周围画一个“禁止铺铜岛”让这一小块区域不管怎么铺铜都不会被填上相当于给开关节点留了一个隔离带。间距和隔离带双管齐下之后电机驱动板的EMC预扫数据能明显干净很多尤其150MHz以下频段的尖峰能压下去好几个dB。3.2 大功率电源板铺铜间距和载流、散热怎么平衡大功率电源板是另一个典型场景。电流大的路径比如输入母线、电感后端、整流输出往往需要大宽度的铜皮做低阻抗通道于是很多人把铺铜间距压得很小觉得“这样铜皮更多电阻更小散热更好”。实际上间距太小会带来制造风险而且窄长的缝隙处容易形成电流瓶颈散热反而不均匀。更好的思路是大电流路径用显式走线或显式铺铜区单独规划让它自己形成一块完整的“电流通道”而不是靠把所有导体挤在一起“蹭”电流。大电流铜皮的载流能力有一个粗略经验1盎司35um铜厚下1mm宽走线大约能过1A电流温度上升不超过10摄氏度。如果空间允许我会把大电流路径做成整片铺铜区域宽度做到3mm到5mm同时在铜皮上均匀放置过孔阵列也就是俗称的“缝合过孔”把顶层和底层铜皮并联起来。这时候铺铜到其他导体的间距建议放到12mil以上因为大电流路径的铜皮面积大一旦和别的网络间距小了残铜短路的后果是灾难性的。散热角度也要考虑。电源芯片底部的裸露焊盘Exposed Pad需要连接到大面积铜皮来导热这时候铺铜和焊盘的连接方式就不能是热焊盘了要用直接连接并且连接宽度尽量大。我的做法是在Rules里专门给这个器件建一个Pad Class把它的连接方式设为Direct Connect间距可以相对收紧到8mil不影响导热。其余普通小信号焊盘和铺铜之间则保持热焊盘连接和10mil间距确保贴片良率。3.3 精密采集板与罗氏线圈禁止铺铜区有时候比铺铜更重要精密测量类板子比如基于罗氏线圈Rogowski Coil的电流传感器对寄生电容和涡流极其敏感。罗氏线圈本身是靠测量磁场变化来感应电流的线圈周围一旦有大面积铜皮铜皮里感生出的涡流就会改变磁场分布直接影响测量精度。这类设计里学会“不铺铜”比会铺铜更重要——在敏感线圈、采样电阻、高阻抗节点附近要主动设置禁止铺铜区。AD23里做禁止铺铜区的方法有两种。一种是 Polygon Pour Cutout在已有铺铜上挖出一块区域另一种是直接用 Keepout层比如Keepout层画一个闭合区域然后在铺铜时让它纳入避让范围。Keepout层的优先级高于铺铜只要区域画好重铺之后铜皮自然避开。两种方式我更喜欢Keepout因为它在DRC里会被严格检查不会出现“画了Cutout但没重铺”的漏网情况。敏感模拟区域的铺铜间距我通常直接拉大比如40mil以上甚至在局部完全不铺铜。同时把模拟地铜皮和数字地铜皮分区管理中间开个缝只在一点连接。别小看这个缝它决定了回流电流走哪条路间距大一点反而能主动控制电流路径让地噪声不至于污染高精度采样信号。这套思路对DDR、射频、传感器信号同样适用铺铜并不是越多越好关键路径附近该拉开的间距一定要拉开该做禁止铺铜区的地方一定要做。我在AD23里给这类板子单独建了“Keepout_Crit”的规则层和普通铺铜规则分开管理看着乱但实际非常清晰。4. 常见问题与排查技巧实录——踩过坑的才敢这么写4.1 DRC频繁报“Clearance Constraint Violation”怎么办这是出现频率最高的问题。报错原因两大类一是规则本身设置有问题比如Query写错了对象铺铜规则没生效二是真的存在间距违规比如铜皮边缘距离某根走线太近。我的排查顺序是先看报错对象是什么双击Messages面板里的DRC报错系统会跳转到违规位置然后用 CtrlM 测量实际间距和规则表里的值对比。如果实际间距明显大于规则值但还是报错那就说明是规则匹配问题。打开规则面板选中铺铜规则看First object的匹配条件是不是选对了。这里有个AD23的坑InPolygon默认匹配的是“父对象集合”但有些老版本模板里可能是InAnyComponent或者InNet(Nets)导致规则管不到铺铜。我的建议是删掉默认规则全部用Query手写写完之后选中铜皮按 CtrlQ 可以快速查看它命中了哪些规则这个功能在排查优先级问题时特别有用。4.2 铺铜之后某些焊盘连不上网络丢失还有一种典型现象整块铺铜明明在地网络里但某个焊盘就是“没接到铜皮”测出来开路。这通常不是电气连接问题而是死铜处理或区域切割造成的。如果这个焊盘周围的铜皮被判定为死铜并被自动移除焊盘就会露出来但旁边没有铜连接自然就断了。解决方法是检查铺铜属性里 Remove Dead Copper 是否勾选如果没有那铜皮还在但“活性”不对建议重新选中铜皮执行 T G A 重铺一次再看网络连接。另一种可能是焊盘被Polygon Pour Cutout禁区盖住了。如果你用Cutout挖了个圈结果把焊盘也圈进去了那铜皮就不会连上它。把Cutout边缘往内收一点或者重画Cutout就能解决。这类问题用肉眼在2D视图里看铜皮和焊盘之间的间隙很明显注意不要只看顶层底层铜皮要按 ShiftS 切换视图确认。4.3 板厂反馈短路、残铜板子实物有锡桥如果板子拿回来发现铺铜区域和走线/焊盘之间有毛刺、短路大概率是设计间距小于板厂工艺极限。这里提醒一句不同板厂的能力差异很大有的厂6mil能做有的厂8mil才稳。送板之前先问清楚板厂的最小线间距和蚀刻补偿能力再把铺铜间距往上压一档。我自己在常规FR-4、1盎司铜厚下铺铜间距低于8mil的板子基本不送除非对方明确说能做否则就是给自己找麻烦。SMT贴片后的锡桥问题除了铺铜间距还要检查阻焊开窗。AD23里打开Gerber输出设置确认阻焊层Solder Mask的开窗尺寸。铺铜间距10mil加上正常的阻焊桥一般能避免90%的锡桥问题。如果开窗过大阻焊层把间距覆盖住了那铺铜边缘裸露铜皮离焊盘太近照样会连锡。注意检查Top Solder层和Bottom Solder层的形状别一脸懵地往回查。4.4 铺铜后板子变形翘曲明显大面积铺铜导致的板子翘曲也是很多人忽略的大坑。尤其是多层板里如果某一层有超大面积的铜皮与其对称的另一层却几乎没铜板材在高温回流焊时应力不平衡翘曲会很夸张。解决思路不是不铺铜而是让铜皮分布尽量对称。比如顶层铺了一大块GND铜底层最好也铺一块面积相近的铜哪怕用别的网络单独铺也行只要铜的覆盖率接近。在AD23里我习惯在铺铜前先看一眼每一层的铜覆盖率利用层叠管理器可以设置各层的铜厚度再结合 Tools → Density Map 查看走线密度和铜皮密度分布。如果发现某一层铺铜明显偏少就考虑加一些辅助地网或者调整铺铜边界让覆盖率对称。板厂打样回来后还要检测一下板子翘曲度一般弓曲率小于0.75%才算合格超出这个数那就要改设计了。4.5 铺铜间距问题排查速查表把上面这些问题汇总成一张表方便你以后对着查问题现象可能原因排查方法解决建议DRC报Clearance违规规则优先级低或Query写错CtrlQ查看命中规则调整优先级统一Query铺铜面积突然变大间距规则被删除或失效测量实际间距检查规则列表重新建立铺铜专属规则焊盘没连上铜皮死铜被切除/Cutout盖住检查Remove Dead Copper选项重铺铜调整Cutout边界板厂反馈残铜短路间距小于工艺极限核对板厂最小线间距间距提升到8mil/10mil焊接后锡桥间距小/阻焊开窗大查看Gerber阻焊层加大间距或改阻焊开窗板子翘曲铜皮分布不对称查看各层覆盖率补充对称铺铜区域EMC尖峰、辐射超标开关节点附近铺铜过近预扫确认频段和位置拉大间距加禁止铺铜区4.6 一个快速的自检流程设计交付前我习惯按这条线快速过一遍铺铜相关检查第一步规则面板里确认铺铜专属Clearance规则优先级最高第二步选中所有铺铜按 T G A 全部重铺第三步跑一遍DRC筛选Clearance Constraint的报错逐个双击排查第四步查看死铜是否切除干净ShiftS切层看每一层实际情况第五步把Gerber导出来再跑一次CAM检查AD自带的Output Job可以生成确认阻焊开窗和铜皮边缘无误第六步对照速查表过一遍栅栏问题没问题再送板。这套流程十五分钟搞定但至少能帮你避免百分之七八十的铺铜返工。按理说铺铜间距这种基础参数不该让工程师反复纠结。但实际操作里恰恰是这种基础细节最容易一错再错。我自己也被坑过好几回现在每块板子送出去之前都会老老实实过一遍上面的检查流程。AD23的规则系统功能很强强到很多人根本没用全但工具只是工具关键还是你要知道每条规则在为什么服务。希望这篇基于真实项目经验写出来的避坑指南能让你的铺铜之路少一点折腾。最后再分享一个小习惯养成每块板子建一个“设计规则检查文档”的习惯把间距值、连接方式、特殊区域都截图存下来下次同类项目直接调用省掉的不只是半小时还有一堆报警和返工的糟心事。