ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

PCB覆铜挖空技巧:GND隔离与Altium Designer多边形挖空实战

PCB覆铜挖空技巧:GND隔离与Altium Designer多边形挖空实战 1. 为什么需要挖空先厘清给铜皮开天窗的真实目的我在画PCB的早期曾经犯过一个典型的错误看到板子上模拟地和数字地之间的干扰就直接把整个地平面分成两块独立的铜皮然后觉得这样就完成了隔离。结果EMC测试一上电辐射反而比以前更糟。后来我翻了不少老工程师的设计文件发现他们很多情况下根本不用分割地平面而是在连续的GND覆铜上做局部挖空把干扰源附近的回流路径赶走或者绕开。这件事给我的一个深刻印象是挖空这个动作真正改变的不是铜皮有没有而是电流怎么流。多边形覆铜挖空简单来说就是在已经铺好的多边形覆铜Polygon Pour内部再挖去一块指定形状的铜皮。很多刚接触AD软件的人把这理解为橡皮擦功能——画个圈把铜擦掉。但如果只是这种理解后面会遇到一堆奇怪的问题挖空之后过孔还露着、热焊盘点不上锡、DRC报出一大堆未连接铜皮、或者覆铜一重铺挖空的洞直接消失。这些问题出现的时候大多数人第一反应是自己操作不对实际上是对AD里覆铜和挖空的关系理解不到位。挖空的核心逻辑其实是约束铜不仅是删除铜。一个多边形覆铜在被AD填充时会遇到以下障碍物普通焊盘、过孔、导线、文本、以及专门用来隔离的挖空形状。AD的铺铜引擎会把这些都当作不能覆盖的障碍然后自动避让。挖空区域本质上就是这些障碍中的一种只不过你挖出的不是一个实体器件而是一个形状。只要能理解这层关系你就能解释为什么挖空区域必须要有明确的网络属性、为什么要考虑填充顺序、以及为什么某些挖空对象在修改完轮廓后必须重新铺铜才能生效。在GND隔离的实际项目中挖空通常用来实现两类目标。第一类是分段隔离模拟电路区域和数字电路区域虽然共用同一个GND网络但你不想让高频开关电流的地回流穿过高精度模拟电路的底部于是在两个区域的交界处挖出一条细长的隔离槽迫使地电流绕路。第二类是空间隔离有些器件正下方的铜皮反而会引入寄生电容或涡流损耗比如射频天线、无线模块、变压器、隔离电源在这些器件投影区域内把覆铜挖掉减少耦合路径。这两种场景在AD里的落地方案并不完全一样所以我下面会按三种不同的挖空手段来展开。2. 第1种技巧用Keepout区域做负片式挖空——安全、直接、最好改2.1 Keepout挖空的基本操作第一种方法不需要借助任何专门的挖空命令只要你熟悉Keepout层的基本用法几分钟就能做出来。操作路径是在PCB编辑界面里点击菜单栏的放置 (Place)找到Keepout子菜单然后根据你需要的形状选择多边形禁止布线 (Polygon)、矩形、圆形或直接用布线路径画一条闭合的轮廓线。画完之后这个Keepout对象就摆在板子上了。但这里有个关键点Keepout对象必须放在正确的工作层上。常规做法是直接放在Keep-Out Layer或者Multi-Layer上这样它会阻止所有信号层上的覆铜。如果你只想让顶层覆铜挖空、底层覆铜保留就要在放置之前先把当前层切换到Top Layer然后放置一个Keepout对象。在AD的旧版本中这类对象会以Top Layer Keepout的形式出现新版本里则通过属性面板中的层 (Layer)来决定它的约束范围。很多新手做挖空失败就是因为Keepout放在了别的层上看起来画了轮廓重铺铜以后纹丝不动。轮廓画好之后需要重新填充一次多边形覆铜才能看到效果。你可以在工具 (Tools)菜单里选择多边形填充 (Polygon Pour)再选重新填充所有多边形 (Repour All)或者直接按快捷键T-G。AD会重新计算覆铜凡是落在Keepout范围内的铜皮会被自动排除。我建议养成一个习惯每次修改完Keepout或者任何多边形边界之后都按一次T-G并且检查消息 (Messages)面板有没有报错。这里放一个我常用的操作顺序便于复现先确定好要挖空的区域大概形状和所在层。用放置Keepout多边形的方式沿着障碍区域外围画一圈闭合轮廓。双击Keepout对象在属性中确认层是你想约束的层必要时把允许布线 (Allow Routes)等选项关掉避免它影响后续走线。执行T-G重新填充覆铜观察挖空结果。打开DRC检查有没有Keepout与覆铜之间产生的间距报错。2.2 这种方法的底层逻辑负片思维为什么我把Keepout叫负片式因为你在做的不是直接去切铜皮而是在覆铜区域外设置一个禁止进入的哨兵。AD填充覆铜时会把所有障碍物当作避让对象Keepout就是一系列障碍物的集合。这种做法的最大优点是可改性强后期你如果想扩大或者缩小隔离区域只要拖动Keepout的顶点然后重新铺铜一切都会自动跟着更新。特别适合在地平面隔离范围还要反复调优的阶段。另外一个好处是Keepout对象可以带上完整的规则属性。比如你可以在设计规则里单独设置Keepout和覆铜的间距为50mil而普通焊盘和覆铜的间距是20mil。这样挖空边缘就会留出更宽的间隙对高压隔离场景非常适用。普通的手绘轮廓很难做到这一点因为每一段边界都得手动去保证间距。2.3 案例模拟地与数字地之间的隔离带讲一个我实际处理过的例子。一块四层板顶层放了一个单片机和一颗ADC底层是一整块GND覆铜。单片机的数字地和ADC的模拟地在芯片内部通过引脚连接外部没有做磁珠分割地平面保持了完整性。但是测试中ADC采集值总在最后两位跳动示波器测量发现ADC底部有一小块地电位叠加了大约几十毫伏的开关噪声。排查思路是这样单片机底部的地电流在返回电源时会从底层GND覆铜经过ADC底部因为底层覆铜是完整的电流路径会尽量选择阻抗最低、面积最大的那一带。ADC参考电压引脚和模拟输入引脚附近刚好被这条回流路径经过形成了共地阻抗耦合。解决办法不是去分割整个地平面那样反而会把回流路径逼到更窄的缝隙里而是在单片机与ADC之间开一条隔离槽让底层覆铜的数字区电流绕道而行。我用Keepout方法在底层画了一条宽度约40mil、长度从板边延伸到板边的折线轮廓槽位置正好卡在单片机底部和ADC底部之间。重新铺铜后这条槽把底层GND覆铜分成了两块物理不连通的区域但网络属性仍然是GND。数字电流无法再从ADC正下方直接穿过只能绕到板子边缘比较宽的地方返回。同时ADC底部那片小区域仍然有铜皮覆盖不会出现铜岛悬浮的孤立铜问题。效果非常明显ADC采集跳动从十几位降到了两三位而且整个板子的阻抗连续性没有明显恶化。这套做法唯一的代价是敷铜面积损失了一小块但信号完整性收益远远大于这点损失。2.4 Keepout挖空的局限性Keepout方法也不是万能的。第一它本质上是设置障碍如果板子上有大量Keepout对象DRC检查会变慢文件也会显得比较乱。第二Keepout所挖出的洞一定会遵循设计规则中Keepout与覆铜的间距如果你把间距设得很大挖空的边缘会比预期宽很多。第三Keepout对象在Gerber输出时通常不会出现在铜层上但如果有其他工具链不识别Keepout层重铺铜时就会出现不一致。还有一个我经常踩的坑Keepout轮廓如果和板框重叠或者留的距离小于设计规则中的最小值DRC会报一大片错误。尤其当你用Keepout画比较长的隔离槽时要注意槽的转角处不能出现锐角否则覆铜避让之后会留下一根尖刺状的碎铜对高压应用来说是个隐患。所以Keepout隔离槽的转角我一般用圆弧过渡而不是直角。3. 第2种技巧用多边形覆铜挖空命令Polygon Pour Cutout——原生抠洞工具3.1 放置和编辑挖空对象第二种方法用的是AD专门为多边形挖空设计的原生工具多边形覆铜挖空Polygon Pour Cutout。在菜单栏的放置里找到多边形覆铜挖空或者直接搜索命令然后像画普通多边形一样在要挖空的位置画一个封闭形状。画完以后这个对象既不是Keepout也不是覆铜而是一个独立的挖空对象Cutout。这里要特别说一个很多人没注意到的地方挖空对象是有网络属性的。如果你把挖空对象设为GND网络它会在覆铜中挖出一个洞但如果你把它设为No Net它在某些版本中的表现会不一样。工程上新版本AD的Polygon Pour Cutout通常自动继承它所依附的覆铜层的网络或者默认不连接网络。我建议在放置之后双击这个对象打开属性面板把它的网络设置和覆铜保持一致或者明确设为No Net这样重铺铜时行为才可预期。具体参数上如果挖空区域周围还有其他走线或过孔AD会自动按照覆铜间距规则留出空隙和Keepout方法一样安全。调整挖空形状是这种方法的优势所在。你可以选中挖空对象拖动它的顶点来改变形状也可以在属性里直接输入坐标。更实用的是AD支持在不删除对象的情况下改变挖空的优先级。如果你在同一个位置既放了挖空对象又放了实体铜皮填充最终哪个生效取决于对象的填充优先级设置。这一招在制作局部隔离岛和特殊形状地孔阵列时会非常有用。3.2 为什么它比Keepout更适合精确抠洞Keepout是先设置禁区再铺铜的间接方案而Polygon Pour Cutout是直接对铜皮做减法的直接方案。两者的最终视觉效果可能接近但本质区别在于挖空对象只影响多边形覆铜不会阻止你在它上面走线、放过孔。也就是说你可以在挖空区域内部继续布线只要线不是铜皮的一部分就行。Keepout则会默认阻止布线尤其当Keepout被设置在All Layer时很多操作都会被它挡住。所以在实际项目中我习惯这样分工如果挖空区域只是纯粹为了禁止铜皮而且后续不打算在里面走线那Keepout就够了如果挖空区域可能还要放一些特殊封装、开口、异形焊盘或者里面需要走几根信号线那就用Polygon Pour Cutout。它给后续调整留的口子更大。3.3 案例变压器下方的GND隔离窗口再举一个实际案例。一块反激电源板变压器放在顶层底层是完整GND覆铜。变压器初级和次级之间虽然有安全间距但这个间距通常只存在于器件封装和走线层面底层的GND覆铜如果直接从变压器下方穿过初级侧高压跳火产生的干扰电流就能顺着底层覆铜跑到次级地回路里去。我的处理方式是先在元件布局阶段就规划好变压器下方的区域用Polygon Pour Cutout在底层画出变压器投影形状并且往外扩了大约60mil。这样铺铜完成后变压器正下方底层没有GND铜皮初级和次级之间的寄生耦合被削弱。同时因为使用的是挖空对象而不是Keepout变压器初级引脚和次级引脚仍然可以正常走线到底层不需要绕行这给布线省了很多麻烦。后来又遇到一次改版变压器改成了另一种封装投影面积变小了。我只需要选中挖空对象把顶点拖动到新尺寸重新T-G就完成了整个流程不到一分钟。3.4 需要特别注意的重铺铜行为有一个问题在AD不同版本里表现得不太一样挖空对象如果被移动或者修改有时不会立刻让已经填充的覆铜更新必须手动执行一次重新填充。如果你忘了重铺制造Gerber时铜皮还是老样子那就白干了。稳妥的做法是在每次输出文件前特意执行一次T-G并打开预览模式检查所有挖空区域和相邻覆铜的边界。另外一个容易踩的坑是多个覆铜层同时存在时一个挖空对象默认只作用于它所处的那一层或者与它关联的网络层不会自动对上下所有层的覆铜都生效。如果你希望顶层、底层甚至内电层都同时挖空某个区域就需要在每个层上分别放置挖空对象或者放置一个跨层的Multi-Layer挖空对象。我见过有同事只在Top Layer上放了挖空结果底层覆铜重铺之后没有挖掉到了样机阶段才发现底层覆盖面多了隔离距离不够不得不重新改版。这类错误在原理上不复杂但排查起来很浪费时间。4. 第3种技巧用多边形嵌套和填充顺序搭建柔性隔离浮岛4.1 什么是隔离浮岛第三种技巧的实际应用频率没有前两种高但在某些特殊场景下它是唯一合适的方案。思路是这样的不直接在大面积覆铜里挖一个洞而是先在目标区域用一个小范围的多边形覆铜作为浮岛再通过调整填充顺序让大覆铜围绕着这个浮岛形成一圈天然间隙。这样你得到的不是空洞而是一个由两个多边形边界之间的空白区域构成的隔离带。听起来有点绕但操作上并不复杂。假设你想在底层GND覆铜的中间位置给某个传感器芯片的底部留一个与周围GND隔离的小铜岛同时这个铜岛又要通过一个窄桥和某个引脚相连。你可以先放置一个小的多边形把它连接到传感器的GND引脚网络然后在相同位置再放一个大的主GND多边形。设置填充顺序的时候让小多边形的优先级高于大多边形这样大多边形填充时遇到小多边形就会按间距规则自动让开两个多边形之间自然形成一圈挖空间隙。因为两个多边形的网络不同它们不会连在一起整个结构看起来就像大海里的一座岛。4.2 操作步骤和优先级设置具体在AD里怎么做我一步一步说先用放置多边形覆铜 (Place Polygon Pour)画出小岛的形状。大小要覆盖住需要隔离的器件底部或者覆盖住你想保留的局部铜区域。在属性面板里把小多边形的网络设置为你想保留的那个网络比如某个传感器模拟GND子网络同时给这个多边形起一个容易识别的名字例如ISO_GND_ISLAND。再用同样的放置多边形覆铜功能画出外围的大GND覆铜网络设置为系统主力GND。双击外围大覆铜在属性中找到填充优先级或者对象顺序相关的设置确保外围多边形填充的顺序靠后。AD在填充覆铜时遵循先填充优先级高的对象后填充优先级低的对象高优先级的多边形会挡住低优先级的多边形。执行T-G重新填充所有多边形。这时你会发现外围覆铜自动避让了小岛形成了一个绕着小岛走一圈的间隙这个间隙就是你要的挖空区域。为什么要强调填充顺序因为AD的多边形覆铜在物理上执行的是后填充者避让先填充者的逻辑只有高优先级的多边形被先填充并当作障碍低优先级的后续多边形才会让开。如果你顺序反了两个多边形可能会重叠变成一块连通的铜皮隔离效果直接消失。这一点在AD的官方文档里描述得不是特别醒目很多工程师第一次做嵌套多边形时都会在这里翻车。我在自己的项目里会用编号命名法来管理优先级比如01_INNER_ISO和02_OUTER_GND这样一眼就能看出谁先谁后。4.3 浮岛方案的实用价值这种浮岛方案的第一个实用价值是你可以保留局部铜皮同时实现隔离。前面的Keepout和Polygon Pour Cutout都是把区域变成空洞如果那个位置恰好还有别的网络需要一小片完整铜皮作为回流路径那两个方法就帮不上忙了。用嵌套多边形的方法你既得到了外围隔离带又保留了中心的小铜岛一举两得。第二个实用价值是调节灵活。隔离间隙的宽度由两个多边形的间距规则决定你可以在设计规则里针对这两个网络单独设置一个间距约束比如设置成50mil或100mil。以后要调隔离距离只要改规则然后重铺不用手动拉伸线条而且所有角落都会遵循同一套间距值。第三个实用价值是在高频信号完整性设计里这种浮岛结构常被用来做分段接地实验。你可以把模拟前端的地引到一小块浮岛上与主地之间只通过一个磁珠或者一个0欧电阻连接调试时方便更换器件。如果直接用挖空命令把铜全部挖掉调试阶段的改动就要重新画铜皮破坏节奏。用嵌套多边形后期把多边形网络合并成一个浮岛自然就变成主GND的一部分整个过程非常顺滑。4.4 这种方法的使用边界我必须诚实地说嵌套浮岛方法不是所有情况都推荐。因为它实际上开了两个多边形文件内存和重铺铜时间都会增加。如果板子上的多边形覆铜数量特别多这种方式可能导致每次T-G都要等很久。另外DRC检查时两个多边形之间的间隙如果收得很窄会成为散热死角也可能让生产良率下降。我通常在原型验证板和高频实验板上使用这种方法到了量产阶段如果确认不需要调了会把它重做成一个Polygon Pour Cutout加一块正常铜皮的等价方案减少文件复杂度。5. GND隔离实例完整复盘从布局到DRC验证5.1 实例背景与隔离目标前面分别介绍了几种挖空技术手段现在把它们串起来完整做一遍GND隔离实例复盘。假设有一块双面板底部是完整GND覆铜左上角区域放一颗DCDC开关电源芯片右下角区域放一颗高精度运放组成的放大电路。DCDC的开关噪声会通过底层铺铜传导到放大电路附近我们需要做一次性地隔离优化。在动手之前先明确隔离目标不能让电源芯片的地回流路径经过放大电路底部同时又要保证GND网络不要真正分割成两个独立网络避免出现回流面积突变引起的额外辐射。也就是说我需要的是一条物理上的隔离槽而不是电气上的地分割。这一点非常重要只挖槽不分割网络是EMC设计里常用的保守策略。5.2 三处挖空的具体设计按照这个目标我会做三处挖空第一处在电源芯片正下方的底层铜皮上用Polygon Pour Cutout挖掉一块比芯片投影大一圈的区域形状按芯片封装的实际投影外扩80mil。这样开关节点下方的寄生电容变小高频噪声不容易耦合到底层覆铜。挖空对象网络设置为主GND和覆铜一致避免产生多余的网络节点。第二处在电源芯片和放大电路之间画一条细长的隔离槽。这条槽我用Keepout方式做宽度取100mil从板子左边边缘延伸到电路板中间但为了不让地电流回流路径被完全切断槽的一端不一定要通到板边留出大约500mil的开口给地电流绕行。这样既能在关键路径上挡住噪声又能保留下地回路。在高压隔离场景中槽的两端往往要通到板边避免尖端放电但在这种低压混合信号场景里留个开口给回流电流反而是更好的方案。第三处在放大电路输入端的底部用小岛方式隔离出一块局部GND浮岛和运放的地引脚直接相连。这个小岛和主GND覆铜之间形成一个间隙防止放大器参考地噪声被周围电源地干扰。5.3 从铺铜到DRC验证的完整步骤具体操作顺序如下先完成元件布局和布线确认底层没有必须穿过隔离槽的走线。如果发现有走线冲突该换层的换层避免隔离槽和导线交叉。放置三处挖空对象一个Polygon Pour Cutout用于电源芯片底部一个Keepout多边形用于隔离槽一个小多边形用于放大电路底部浮岛。设置好各自的网络属性和优先级尤其是浮岛多边形的填充顺序要高于外围主GND。放置主GND多边形网络设为GND层设为Bottom Layer。执行T-G重新填充所有多边形同时打开覆铜预览观察挖空边界是否平滑。运行DRC。重点检查两类错误一类是间距错误确认挖空边缘和覆铜边缘的距离不小于最小间距另一类是未连接错误查看浮岛上的连接是否都接上了。检查覆铜报告的死铜 (Dead Copper)列表如果发现挖空区域边缘出现孤立碎铜先判断它是否有实际连接意义没有就删掉或者用规则排除。5.4 实例复盘后的效果检查做完这些之后我会用三层方式验证效果。第一层是目视检查在AD里按3D视图或者打印预览确认底层覆铜的隔离槽是完整连续的没有细小的铜桥把两侧连通。第二层是用网络高亮选中浮岛网络确认它只和放大电路相关引脚相连和主GND没有短路。第三层是导出Gerber后用CAM编辑器重新打开审核一次铜皮和阻焊层因为有时候AD屏幕显示和Gerber输出并不完全一致。实测中第三种验证非常关键尤其是当板子上有大量Keepout和挖空对象时Gerber输出才是制造真正参照的依据。从原理上解释为什么这套方案有效开关电源芯片底部挖空减少了对底层覆铜的寄生电容注入中间隔离槽切断了噪声地电流从电源区直通放大区的捷径放大电路底部浮岛保证放大器参考地不与电源地大面积相邻。三处挖空合在一起既保住了地平面的完整性又让敏感区域避开了噪声流通路径。这个思路和一刀切开两个地网络的做法完全不同却能在很多场景下取得更好的EMC表现。在项目交付时我还会附上一份挖空位置清单标注每一处挖空是Keepout、Polygon Pour Cutout还是嵌套浮岛以及对应的间距规则、网络名称和修改日期。这样后续接手的人不容易在重铺铜时误删某个关键对象。6. 挖空之后的隐藏坑热焊盘、死铜和碎铜的处理经验6.1 覆铜挖空把热焊盘挖没了用Keepout或者挖空对象大面积去掉覆铜时最常遇到的问题就是器件底部的散热焊盘被一并挖掉。有些芯片底部的大焊盘需要通过底层覆铜来散热如果挖空区域不小心覆盖了它焊接时散热焊盘无法良好焊接芯片温度会高出不少。解决办法并不是完全不要挖空而是给散热焊盘留出一个开口窗口。操作上可以先放挖空对象然后在挖空区域内部再放置一个尺寸稍小的多边形连接到芯片的地引脚网络并把优先级调高让它在空洞中重新填充出一块实体铜皮。这样既实现了周围隔离又没有牺牲散热。类似的处理在LED驱动板、功率放大器板上很常见。6.2 死铜和碎铜的清理任何覆铜操作都会伴随死铜问题挖空操作还会让死铜出现得更密集。死铜指的是被障碍物完全包围、没有和任何网络连接的小块铜皮它们看起来像浮在板子上的孤岛。虽然AD默认不会填充死铜但设置不当的情况下它仍然可能留在覆铜层中或在DRC里报出一堆问题。更麻烦的是碎铜尖刺尤其是挖空区域的转角处如果出现锐角覆铜边沿会避让出一个很尖的几何形状这种尖角在高压电路里很容易放电在射频电路里也容易引起阻抗突变。处理死铜的标准做法是在覆铜属性中把移除死铜 (Remove Dead Copper)选项勾上同时确保设计规则里最小覆盖线宽度设置合理。对于碎铜尖刺我的建议是尽量让挖空轮廓使用圆弧或钝角转折不要用90度以下的内角。如果需要在挖空轮廓上手动加倒角或者圆弧过渡虽然多花一点时间但能避免后续很多麻烦。6.3 挖空之后丝印和装配的问题还有一类问题和铜皮无关挖空区域容易和丝印重叠。比如你在底层覆铜上挖了一个隔离槽但丝印层上的某段文字正好落在槽里生产时丝印印在无铜基材上对比度和附着效果都还可以但如果你把挖空区域用在顶层丝印落在无铜的PCB基材上有些工艺下文字会显得不清晰。更好的做法是先把挖空区域和丝印一起检查必要时把丝印挪走。另一个容易出现的问题是如果板子有阻抗控制要求表层覆铜挖空会改变局部介质环境导致这一段线路的参考平面不连续阻抗也随之变化。挖空区域如果恰好经过高速差分线下方务必重新走一遍阻抗仿真或者对照阻抗控制要求判断是否需要调整线宽。6.4 覆铜挖空不是越多越好关于挖空我最后想分享一个原则能少挖就少挖。多边形覆铜挖空是一个强有力的工具但它是用来解决问题的不是用来当作装饰的。过多的挖空不仅增加了加工难度也让回流路径变得复杂化。很多新手拿到一块噪声偏大的板子第一反应就是到处挖空结果噪声反而更大因为地电流被赶到了更狭窄、更高阻抗的路径上。我在项目里总是先做降噪措施比如加去耦电容、调整布局、缩短回流路径最后才考虑覆铜挖空。只有当确认噪声来源是和底面大铜皮上的回流电流相关时挖空才是一个合理的手段。在AD中你要记住一个非常实用的底层认知所有挖空操作都不是永久的橡皮擦而是建立在障碍物和铺铜引擎之上的动态规则。每次重新填充覆铜时挖空对象都会重新参与计算所以保持挖空对象结构清晰、命名规范、所在层明确比一次做对更重要。还有一个很小的建议在改板时保留每一版挖空对象的截图或导出图因为有时候新版覆铜结果不对你还能快速对比出是哪一个规则被改动了。按照这些经验去操作多边形覆铜挖空会从一个容易犯错的隐藏技能变成你手里最趁手的地面隔离武器。
返回列表