在高速PCB设计或者对电源完整性要求极高的电路中,我们经常会遇到一个让人头疼的问题:电源层和地层的铺铜(Polygon Pour)有时候会不小心“串”到了不该去的地方,或者因为走线太密导致电源岛被切断,进而引发短路风险、阻抗不连续,甚至严重的信号完整性(SI)问题。
这时候,Altium Designer(简称AD)里的多边形挖空(Keep-Out / Cutout)功能就成了救命稻草。它就像是一把精准的手术刀,能把铺铜中多余的、危险的、或者需要绝缘的部分切掉,确保电流只走该走的路,信号只走该走的道。
别担心,这听起来很技术,但其实道理很简单。想象你在做蛋糕,铺铜就是抹奶油,而挖空就是把你不想吃到的坚果或者果仁挑出来,或者把两块不同口味的奶油隔开,防止它们混在一起变味。下面我就带你一步步把这个操作玩转,顺便讲讲背后的原理,保证连刚入门的小朋友都能听懂。
为什么我们需要“挖空”?
首先,我们要明白,铺铜不仅仅是为了美观或者简单的连接。它是PCB设计的骨架,承担着散热、屏蔽和提供低阻抗回流路径的任务。但是,如果处理不当,它会变成“帮倒忙”的家伙:
- 短路风险:如果你在一个高压电源网络和一个低压数字地之间没有做好隔离,铺铜可能会因为制造公差或设计失误而连通,直接烧毁芯片。
- 信号完整性干扰:高频信号的回流路径依赖于参考平面。如果铺铜没有正确接地,或者形成了“孤岛”,信号回流就会绕行,产生电感效应,导致振铃、过冲,甚至辐射电磁干扰(EMI)。
- 热应力集中:大面积的铺铜在焊接或受热时会产生应力,如果某些区域不需要导电,保留铺铜反而会增加翘曲的风险。
所以,挖空的本质,就是精确控制电流的路径和分布。
核心概念:Keep-Out vs. Cutout
在AD里,实现挖空主要有两种方式,很多人容易搞混,这里我们先理清:
- Keep-Out Layer(禁止布线层):这是一个物理边界。如果你在Keep-Out Layer上画了一个框,那么所有的铜皮、走线都不能进入这个框。它就像是一个“禁区”,连空气都不许进。
- Cutout(挖空/切除):这是针对Polygon Pour(多边形铺铜)的属性。你可以在铺铜内部定义一个区域,让铺铜在这个区域内“消失”。它更像是一个“空洞”,铜皮绕着它走,但其他地方还是正常的。
对于大多数“避免短路”和“隔离干扰”的场景,Cutout 是更灵活、更常用的选择,因为它允许你在同一个层面上定义多个独立的绝缘区域,而不需要创建额外的图层。
实操步骤:如何优雅地挖空
假设你现在有一个双层板,顶层是信号层,底层是电源层。你想在底层电源铺铜中,围绕某个敏感的信号焊盘挖空,以防止干扰。
第一步:创建或修改Polygon Pour
- 打开你的PCB文件,进入铺铜编辑模式。如果你还没有铺铜,点击菜单栏的
Place->Polygon Pour,画出你要铺铜的区域。 - 双击你已经画好的铺铜,弹出
Polygon Properties对话框。
第二步:设置Net(网络)
确保你的铺铜连接到了正确的网络,比如 VCC_5V 或 GND。这一步至关重要,因为挖空是基于网络的。
第三步:添加Cutout区域
这是最关键的一步。你有两种方法:
方法A:使用内置的Cutout工具(推荐)
- 在
Polygon Properties对话框中,找到Cutouts选项卡(或者叫Hatching下方的Cutouts按钮,取决于AD版本,通常在底部或右侧)。 - 点击
Add Cutout或New Cutout。 - 现在,你的光标变成了一个十字准星,你可以直接在PCB上绘制形状。
- 沿着你需要挖空的区域边缘画线。你可以画矩形、圆形,或者复杂的自由曲线。
- 画完后,按
Esc退出绘制模式。 - 重要提示:这个Cutout区域默认是相对于当前铺铜的。如果你希望它独立于铺铜存在,可以将其转换为一个独立的几何对象。
方法B:使用Keep-Out Layer配合铺铜规则(更严谨)
- 切换到
Keep-Out Layer。 - 使用
Place Line或Place Rectangle画出你想要隔离的区域。 - 回到
Polygon Properties,在Net Connect Mode中,确保铺铜不会跨越这个禁区。 - 这种方法更适合于整个区域的绝对隔离,比如电池仓周围。
第四步:调整铺铜参数
挖空后,你可能需要调整铺铜的其他属性,以确保效果最佳:
- Min Grid Size:设置为较小的值(如 1mil 或 0.25mm),以便更精细地贴合挖空边缘。
- Thermal Relief:如果挖空区域附近有需要连接焊盘的元件,确保铺铜与这些焊盘之间的连接方式正确。通常,对于隔离区域,我们不需要 Thermal Relief,而是完全断开。
- Remove Dead Copper:勾选此项可以自动删除铺铜中未连接到任何网络的孤立铜皮,减少寄生电容。
代码化思维:理解挖空的逻辑
虽然PCB设计不像写代码那样逐行执行,但我们可以用伪代码来理解AD铺铜挖空的逻辑,这样能帮你建立更清晰的思维模型:
class PolygonPour:
def __init__(self, net_name, boundary_shape):
self.net = net_name # 例如: "VCC_5V"
self.boundary = boundary_shape # PCB外框
def add_cutout(self, cutout_shape):
"""
向铺铜中添加一个挖空区域
:param cutout_shape: 表示需要移除铜皮的几何区域
"""
# 检查挖空区域是否在铺铜边界内
if not self.boundary.contains(cutout_shape):
raise ValueError("Cutout must be within polygon boundary")
# 从铺铜的几何集合中减去挖空区域
self.copper_geometry = self.copper_geometry.subtract(cutout_shape)
# 更新铺铜显示
self.render()
def check_isolation(self, other_polygon):
"""
检查两个铺铜是否因挖空而正确隔离
"""
# 计算两个铺铜的交集
intersection = self.copper_geometry.intersect(other_polygon.copper_geometry)
if intersection.is_empty():
return True # 隔离成功
else:
return False # 短路风险!
这段伪代码展示了挖空的本质:集合减法。铺铜是一个大集合,挖空是从中减去一个小集合。通过这种方式,我们可以精确控制铜皮的分布。
进阶技巧:如何处理复杂情况
1. 多层板中的垂直隔离
在多層板设计中,电源层和地层通常是相邻的。如果你担心上下层之间的耦合干扰,可以在上层铺铜中挖空,对应下层铺铜也挖空,形成“真空层”。这样可以显著降低层间电容,提高信号完整性。
2. 模拟地与数字地的隔离
在混合信号电路中,模拟地(AGND)和数字地(DGND)经常需要分开铺设,最后通过单点接地。这时,挖空就非常有用:
- 在AGND铺铜中,挖空出所有属于DGND的区域。
- 在DGND铺铜中,挖空出所有属于AGND的区域。
- 确保这两个铺铜在某个特定位置(如电源入口)通过磁珠或0欧姆电阻连接。
这样可以有效防止数字噪声通过地平面耦合到模拟电路。
3. 高密度封装下的挖空
对于BGA或QFN等密集封装,引脚间距很小,铺铜容易短路。你可以在每个引脚周围手动挖空一个小圆孔,确保只有焊盘本身与铺铜相连,其他部分保持绝缘。这需要一些耐心,但能极大提高可靠性。
常见误区与避坑指南
误区一:挖空越大越好
有些人认为,只要挖空,就能彻底隔离。其实不然。挖空太大可能会导致铺铜的机械强度下降,或者造成回流路径过长,增加电感。正确的做法是:只挖空必要的区域,保留最短的回流路径。
误区二:忽略DRC规则
挖空后,一定要运行DRC(设计规则检查)。AD可能会提示你某些区域过于狭窄,或者挖空区域与焊盘距离太近。不要忽视这些警告,它们往往是潜在问题的预兆。
误区三:手动挖空 vs. 自动铺铜冲突
如果你先手动画了挖空,然后又重新铺铜,AD可能会覆盖你的手动设置。建议在铺铜完成后,再进行挖空操作,或者将挖空区域定义为Keep-Out Layer,并设置铺铜规则为“避开Keep-Out”。
真实案例:一个高速ADC板的电源隔离
让我们来看一个真实的例子。假设你在设计一块基于ADS54J60的高速ADC板,工作频率高达250 MSPS。ADC的模拟电源(AVDD)和数字电源(DVDD)必须严格隔离,否则数字开关噪声会直接污染模拟信号,导致信噪比(SNR)下降。
问题描述: PCB是4层板,第2层是完整的地平面,第3层是电源平面。由于布局紧凑,AVDD和DVDD的走线在某些区域非常接近,铺铜时容易因误差而连通。
解决方案:
- 分层铺铜:在第3层,分别创建两个Polygon Pour,一个连接AVDD,一个连接DVDD。
- 挖空隔离:
- 在AVDD铺铜的
Cutouts中,绘制一条沿着板子中心的狭长区域,宽度为10mil,从板的一端延伸到另一端。这条线对应DVDD走线的下方。 - 在DVDD铺铜的
Cutouts中,同样绘制这条狭长区域。
- 在AVDD铺铜的
- 单点接地:在板子的左下角,通过一个0.1uF电容将AVDD和DVDD的地连接起来,形成单点接地。
- 验证:运行DRC,检查是否有短路错误。然后用万用表测量铺铜的连通性,确认AVDD和DVDD在挖空区域确实断开。
结果: 经过这样的处理,ADC的SNR提升了约3dB,信号眼图更加清晰,误码率显著降低。这就是挖空功能的威力——它不是简单地“去掉”铜皮,而是“引导”电流和噪声走向正确的地方。
给小朋友的解释:就像玩拼图
想象一下,你有一大块蓝色的积木(代表电源铺铜),还有一大块红色的积木(代表地铺铜)。你想把它们拼在一起,但不能让它们混色。于是,你用剪刀(代表挖空工具)把蓝色积木的边缘剪掉一小块,把红色积木的边缘也剪掉一小块,然后在中间留出一条细细的缝隙(隔离带)。这样,蓝色和红色就分开了,不会混在一起。这就是我们在PCB设计中做的“挖空隔离”。
总结
Altium Designer中的多边形挖空功能,看似简单,实则是PCB设计中不可或缺的高级技巧。它不仅能避免短路,更能优化信号完整性,提升产品的可靠性和性能。
记住几个关键点:
- 明确目的:是为了隔离噪声、避免短路,还是优化回流路径?
- 精确绘制:挖空区域要紧贴需要隔离的边缘,但不要过度。
- 严格验证:跑DRC,查连通性,必要时仿真。
- 保持耐心:复杂的挖空可能需要多次调整,不要急于求成。
希望这篇文章能帮你彻底掌握AD铺铜挖空的技术。下次再遇到电源干扰或信号完整性问题时,记得掏出你的“手术刀”,精准挖空,让电路畅通无阻!