1. 铺铜间距为什么重要:从安全、电气到生产的三重影响
1.1 安全间距:板厂制程能力决定了你的底限
铺铜和铺铜之间、铺铜和走线之间、铺铜和焊盘之间,间距这件事,表面上看只是“设计规则编辑器里的一个数字”,实际上它直接决定了这块板子能不能做出来、做出来良率多高、上电之后会不会出事。
先说最小间距的底线。绝大多数常规PCB板厂,铜箔到铜箔的最小间距默认是4mil或者4.5mil,低于这个值,板厂就得跟你确认,或者直接加钱。你说我设计的时候用了4mil,板厂能做吗?能,但前提是铜厚、线宽、间距要整体协调。如果板子上同时有1oz的铜厚和4mil的间距,工艺上蚀刻精度就会比较紧张,良率会往下掉。所以我的习惯是:常规信号区域,铺铜间距至少留6mil,如果要走高密度板,铺铜与走线间距压到5mil就是我的心理底线,再小就不划算了。
这里有个容易忽略的点:铺铜在角落和窄缝处的腐蚀比直线走线更难控制。因为铺铜区域面积大,蚀刻药水的交换速度不如细线快,间距如果卡得太死,板厂做出来容易出现残铜或者间距偏小的问题。你在电脑上看DRC全绿,板厂那边可能已经在骂人了。
1.2 电气间距:爬电距离不是开玩笑的
除了制程,更关键的是电气安全。铺铜经常会覆盖大面积区域,如果你把交流地和直流地、高压地和低压地的铺铜间距设得太近,爬电距离不够,板子工作一段时间后,在潮湿、粉尘或者高海拔环境下就可能出现拉弧、漏电。轻则功能异常,重则烧板。
具体数值怎么取?一般低压数字电路,安全间距建议不低于0.3mm(约12mil)。如果是开关电源的初级侧和次级侧,或者AC输入端和DC输出端,建议间距不低于3mm,安规要求更严格的话,还要考虑开槽处理。有些做电源板的朋友习惯把大电流的铺铜间距设成0.5mm甚至1mm,这其实不光是安规,也是降低环路电感和避免噪声耦合的实际需要。
所以,铺铜间距的设置,本质上不是“越小越好”或者“按默认值来”,而是要根据板子的工作电压、电流和信号类型去分别定义。这块内容我在后面AD23实操部分会详细展开。
1.3 生产良率:DRC报错只是第一步
还有一个维度是DFM。铺铜间距如果设置不当,会在生产环节暴露出很多问题。
最典型的是“铺铜与焊盘的间距过小”导致的焊接不良。BGA扇出区域或者密集引脚器件旁边,铺铜如果离焊盘太近,焊接时热容量会被铜皮带走,导致虚焊。我做的一块板子就出现过这种情况——某个电源芯片的散热焊盘周围铺铜距离只有6mil,整板DRC也没报错,但PCBA焊接后芯片引脚经常少锡。后来把铺铜与焊盘的间距改到12mil,虚焊率立刻降了下来。
另外,压接件、金手指、按键锅仔片这些区域,铺铜间距如果不够,也会影响机械装配或导致短路风险。所以千万不要只盯着“DRC绿了”就以为万事大吉。
2. AD23实操:从规则创建到铺铜设间距
2.1 打开规则管理器:新建间距规则
Altium Designer 23的界面,跟早期版本相比,在交互上有一些调整,但规则管理器的入口没变,还是走菜单Design → Rules,或者直接用快捷键DR。
打开规则管理器后,找到Electrical → Clearance这一项。默认情况下,AD会有一条全板的Clearance规则,作用范围是All,一般默认值可能是6mil或者10mil。我的做法是:不在这条默认规则上改来改去,而是新建一条专门针对铺铜的Clearance规则。这样整板走线的间距和铺铜间距就能分开设置,调试起来也更清晰。
新建规则的按钮在Clearance上点右键,选择New Rule,或者选中Clearance后按Ctrl+N。新规则建好后,我们要做的核心事情有两件:设置间距数值、设置作用范围。
2.2 设置作用范围:告诉AD“这条规则管谁”
新建的规则默认的Where The First Object Matches和Where The Second Object Matches区域都是All,这意味着它对整板上所有对象都生效,这显然不是我们想要的。
对于铺铜间距,我一般这样设置:
- First Object选择InPolygon,代表这条规则针对的是铺铜对象。
- Second Object选择All,这样铺铜跟所有对象之间的间距都归这条规则管。
有人会问,铺铜和铺铜之间的间距,跟铺铜和走线之间的间距,能不能分开设置?可以。你在Second Object里指定成InPolygon,然后再新建一条指定成InTrack,就能分别控制。不过在大多数板子上,统一设成一个值就够了。
这里有个地方容易忽略:AD的Clearance规则是分层的,你可以给内层、顶层、底层、电源层分别建立不同的间距要求。例如顶层和底层可以宽松一些,走信号的内层可以紧一些,电源层的大面积铺铜间距可以更大一些。不同的层用不同的规则,DRC会按优先级自动匹配。
2.3 设置间距数值与优先级
间距数值填在哪里?在规则属性面板里找到Constraints区域,Clearance一栏直接输入数值即可。单位默认为mil,你也可以切到mm。
我的建议值:
| 场景 | 铺铜间距建议 | 说明 |
|---|---|---|
| 常规数字电路铺铜与走线 | 6mil ~ 8mil | 保证制程余量,避免蚀刻不良 |
| 铺铜与过孔 | 6mil ~ 8mil | 与走线一致即可 |
| 高压区域铺铜与低压区域 | 2mm ~ 3mm | 安规要求,配合开槽更稳妥 |
| 大电流电源板铺铜与信号 | 0.5mm ~ 1mm | 减小热影响与噪声耦合 |
| BGA区域铺铜与焊盘 | 10mil ~ 12mil | 防止虚焊、热容量过大 |
设置好数值之后,一定要回到规则列表检查一下优先级。AD的规则优先级判定方式很直白:列表顶部的规则优先。如果你的自定义铺铜规则排在全板默认规则后面,那实际生效的还是默认规则。怎么调整?在规则列表底部有一个Priorities按钮,点开后可以拖动规则调整顺序,把具体的规则放在前面。这一步很多人会漏掉,结果设置的间距数值根本没起作用。
3. 核心细节:不同场景下的铺铜间距策略
3.1 网格铺铜与实心铺铜:间距和导通性的选择
铺铜不是只有一种形态。实心铺铜(Solid)适合大面积的低阻抗地回路,比如电源板的主电流路径、屏蔽区域;网格铺铜(Hatched,也叫网格或栅格)适合需要兼顾散热应力、减少板材翘曲的区域,或者是高频场合中减少涡流损耗。
网格铺铜的间距设置比实心铺铜多一个维度:网格线的宽度和网格的间距。在AD23的Polygon Pour属性面板里,如果你选了Hatched模式,下面会出现Track Width和Grid Size两个参数。网格越大、线越宽,铜的覆盖率越高,但网格间距太大时,回流路径会变得绕圈。网格间距太小,又会产生“细碎铜皮”的问题。
我一般推荐网格线宽8mil~12mil,网格间距12mil~20mil。这个组合适合大多数双层板的屏蔽地网络。如果你做的是阻抗受控的高速板,不要用网格铺铜,实心铺铜才能保证参考平面连续。
3.2 禁止铺铜区(Keepout区域)的正确用法
在AD23里,禁止铺铜区有专门的工具:Place → Polygon Pour Cutout,它的作用是在已铺好的铜皮上挖一个区域。还有一种更常见的做法,是在Keepout层用Line或Arc画一圈封闭区域,然后铺铜时,AD会自动避开这个区域。
这一招在哪些地方特别有用?
- 天线下方。天线正下方铺铜会改变阻抗特性,影响辐射效率,一般要在净空区铺铜挖空。
- 高压隔离带。加大爬电距离,除了把间距设大,还可以在中间画一道禁止铺铜的隔离槽,双管齐下。
- 板边。板边5mm范围内不建议铺铜,否则分板时铜皮会裸露出来,容易和外壳接触短路。
- 磁元件、电感正下方。这里铺铜会形成涡流发热,而且可能改变电感参数。
禁止铺铜区画好之后,重新铺铜才能生效。在AD23里,修改了Keepout层之后,原来已经铺铜的区域不会自动更新,你需要右键点击铺铜区域选Repour,或者按快捷键T-G-A把整板的铺铜全部重铺一次。
3.3 热焊盘(Thermal Relief)与间距的配合关系
铺铜与焊盘的间距,其实还跟焊盘的热焊盘连接方式有关。在AD23的Polygon Pour属性里,你可以设置铺铜与相同网络焊盘的连接方式:Direct Connect(直接连接)、Relief Connect(热焊盘连接)和No Connect(不连接)。
我的建议是:除了大电流焊盘和散热焊盘,其余所有焊盘都使用Relief Connect,也就是热焊盘连接。这样能有效减少焊接时热量经铺铜快速散失的问题。热焊盘的连线宽度通常默认跟焊盘宽度一致,也可以手动改小,比如设成8mil~10mil。
热焊盘的间距不要设太大。我见过有人把热焊盘角度设成90度或者把连线间隙设得特别大,导致铺铜和焊盘之间形成很窄的铜尖角,这个尖角在蚀刻时容易残铜,生产时又容易翘起。常规做法是让热焊盘的开口间隙和铺铜间距保持一致,或者略大1mil到2mil。
4. 铺铜之后的必备检查:DRC、板厂沟通和常见坑
4.1 铺铜完成后,DRC不能直接跑完就收工
铺铜完成后,很多人直接Ctrl+Shift+D运行DRC,看到没有报错就结束了。但DRC确认的是设计规则的一致性,不代表生产上一定没问题。
我的习惯是铺完铜后做这几步检查:
- 用快捷键Shift+S切到单层显示,逐层看铺铜有没有孤岛(Isolated Copper)。
- 把显示模式从“草图模式”切到“实体模式”,观察铺铜边界与走线是否过度贴近,有没有形成尖锐的铜角。
- 对铺铜区域执行Tools → Polygon Pour → Check,确认没有自交或间隙过小的网格线。
- 检查过孔与铺铜的连接。如果过孔网络和铺铜网络相同,且铺铜属性里选择的是Direct Connect,过孔和铺铜会完全连接;如果是热焊盘连接,过孔周围会有一圈绝缘环。这两种结果都是正常的,但视觉差异很大,不要误判。
4.2 板厂沟通:把间距信息和叠层信息一起发过去
很多人做好的PCB文件发给板厂就完事了,其实间距设计合不合理,在板厂工艺工程师眼里一目了然。所以我的建议是,在提交生产文件之前,找板厂要一份他们的最小线宽线距能力表,按他们的能力上限留出至少1mil的余量。不同板厂的能力差别很大,有的能做3mil/3mil,有的只能做5mil/5mil,你按自己的认知去设置间距,很容易在“能做”和“做不好”之间踩线。
另外,Gerber文件中铺铜间距看起来是正常的,但板厂实际上会用他们的CAM软件跑一遍DRC,如果你的间距设置刚好卡在板厂的极限值,一定会被工程确认。一次确认就耽误半天到一天交期,批量板更是拖不起。所以“设计规则里多留1mil”不是浪费面积,是省时间。
4.3 常见问题速查表:铺铜间距设置的坑
我整理了一下日常遇到的高频问题,按场景拆开,方便对照自查。
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| 铺铜后出现大片未连接孤岛 | 间距设置过大或Keepout边界未闭合 | 缩小间距,或检查Keepout是否闭合 |
| 铺铜和焊盘间距DRC报错 | 规则优先级错误或间距数值过小 | 把具体规则上移,调整间距值 |
| 铺铜区域被信号线切断 | 走线在铜皮内隔出窄缝 | 重新规划走线,或添加过孔缝合 |
| 网格铺铜看起来稀疏 | 网格线宽过小、间距过大 | 调整Grid Size和Track Width |
| 板边铜皮裸露 | 板边未设禁止铺铜区 | 铺铜前在板边画Keepout |
| 热焊盘不明显 | 铺铜连接方式误设为Direct Connect | 在Polygon属性中改回Relief Connect |
4.4 电机驱动板铺铜导致EMC变差的案例
有个很容易踩的坑,就是电机驱动板上方大面积铺铜。很多人以为铺铜能屏蔽干扰,结果实测下来EMC反而超标。原因在于电机本身是强干扰源,电刷或换向器产生的火花频谱很宽。如果电机正上方的铺铜和电机金属外壳之间形成寄生电容,干扰电流会直接耦合到PCB的地平面上,反而把噪声引入了整个系统。
正确做法是:电机本体正下方的PCB区域禁止铺铜,留出净空区。需要屏蔽的部位用屏蔽罩单独处理,并且屏蔽罩要直接接地,不要靠铺铜区域来承担这个功能。另外,大功率电源板的MOS管、电感的投影区域,同样不建议直接铺铜,可以用禁止铺铜区圈起来,必要时再加一个过孔阵列地屏蔽。
5. 进阶技巧:用铺铜间距优化信号回流路径
5.1 高速信号下方安装过孔缝合的间距控制
铺铜间距不仅是一个静态的间距值,它还影响高速信号的回流路径。高频信号的回流电流会沿着电阻最小的路径流回源端,这个路径通常是参考平面上的投影区域。如果参考平面上有大量铺铜间隙,回流电流会被迫绕路,形成大的回流环路,环路越大,辐射和串扰越严重。
所以,对于高速信号层,我的做法是:在信号走线旁边、参考平面上铺铜,并把铺铜间距设小一些,比如6mil,同时在走线两侧每隔一定距离加地过孔,形成“过孔墙”。过孔的间距一般取信号上升沿对应空间长度的十分之一以下。比如一个上升沿为1ns的信号,信号在FR4中的传播速度大约6mil/ps,1ns就是6000mil,那过孔间距取600mil以下,实际工程中我更常取100mil到200mil。
5.2 大电流铺铜需要考虑的有效载流宽度
大电流电源板上,铺铜的间距和宽度要一起考虑。1oz铜厚下,1mm宽走线大约能过1A电流,但这是指走线整体散热良好时的估算。如果铺铜区域中间有狭长地带,它的载流能力不能按整块铜皮计算,而要按最窄处的宽度来计算。这个最窄处的形成,往往就是因为周边走线和禁止铺铜区把铜皮切割成了瓶颈形状。所以铺铜间距不是越大越好,间距过大,铜皮的有效宽度会被压缩,电流密度上升,局部发热。
我实际做一块5A输出的电源板时,把铺铜与信号走线的距离从常规的6mil扩大到了20mil,结果发现主电流路径的铜皮宽度少了差不多一半,通流能力不足,带载后铜皮明显升温。后面我重新调整规则,把电流路径附近的走线重新布线,把铺铜间距恢复到6mil,电流路径的宽度才补回来。
5.3 借鉴Allegro的间距设置思路
如果你平时用AD,但偶尔也要和用Cadence Allegro的同事协作,你会发现两个工具在铺铜间距上的设置逻辑不太一样。Allegro中,铺铜区域叫Shape,间距规则是在Constraint Manager中通过设置Shape到Track、Shape到Pad、Shape到Via、Shape到Shape的间距来实现的。它比AD更早引入了“分类对象间距”的概念,设置颗粒度更细。
AD23本身也在向这个方向靠拢,但很多人还是习惯只建一条Clearance规则。如果你想更精细地控制,可以参考Allegro的思路,在AD中为InPolygon和InTrack、InPad、InVia分别新建规则,而不是统一设成一个值。这样在评审和生产文件中,规则结构会更清晰,后续修改也不用担心“动了A影响了B”。
6. 实操经验总结与我的个人心得
6.1 我的铺铜间距默认模板
把常用的间距值整理成一套默认模板,是我提高效率的关键。新建一个项目,第一件事就是导入这套模板,然后根据板子的实际情况微调。下面是我个人的默认值,供参考:
- 全板通用间距:6mil
- 铺铜与走线间距:8mil
- 铺铜与焊盘间距:10mil
- 铺铜与过孔间距:8mil
- 铺铜与铺铜间距:8mil
- 板边禁止铺铜范围:5mm
- 高压隔离区域间距:3mm
- 热焊盘连接(Relief)线宽:10mil
有人问我为什么不直接用6mil铺铜间距,把板子做得更密。我的回答是:设计余量本身就是产品可靠性的一部分。PCB设计和写代码不一样,代码错了可以在线修改,板子做错了,一轮改版就是一周起跳的成本。间距多留2mil,面积损失通常不到1%,但生产良率和可靠性提升却很明显。
6.2 AD23铺铜流程的完整操作清单
如果你用的是AD23,我把整个铺铜流程串起来做一个清单,照着做基本不会漏步骤:
- 新建PCB文件后,先在Design Rules里建立Clearance规则,区分走线和铺铜。
- 在Layer Stack Manager里确认叠层和铜厚,铜厚不同,间距策略也不同。
- 布局布线完成后,先不铺铜,用Keepout层圈出天线区、高压区、电机投影区、板边区。
- 执行Place → Polygon Pour,选择网络(通常是GND)、层、填充模式(Solid或Hatched)。
- 在属性面板中设置间距值和热焊盘连接方式,确认热焊盘线宽。
- 分别对所有需要铺铜的层执行铺铜操作。
- 运行DRC,确认没有间距报错。
- 逐层检查孤岛、铜皮尖角、瓶颈区域。
- 生成Gerber,联系板厂确认最小间距和叠层参数。
6.3 最后分享一个小技巧
我踩过最多次的坑,就是改完间距规则后忘记重铺铜。AD23里修改规则后,旧铺铜不会自动更新,如果你的DRC明明没报错,但铺铜边界就是不对,大概率就是这个问题。记住:改规则后,务必选中铺铜区域,按右键选择Repour,或者直接按快捷键T-G-A全部重铺。这算是我个人经验里最实用的一条,几乎每次画板都能用上。
铺铜间距这件事,说难不难,但真正做精了,需要你对制程、电气、热、EMC都有感知。希望这篇内容对你有实实在在的帮助。