ARTICLE DETAIL

资讯详情

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

AD19铺铜间距设置全攻略:规则、优先级与DRC报错排查

AD19铺铜间距设置全攻略:规则、优先级与DRC报错排查 做板子这么久铺铜间距一直是我特别想拿出来单独聊的一个设置。走线间距明明配得好好的一铺铜DRC瞬间冒出一堆绿色报错密密麻麻看得人头皮发麻。AD19里铺铜和其他所有对象走线、焊盘、过孔、其他铜皮的间距表面上看只是一个Clearance规则实际牵扯规则优先级、对象匹配语法、铺铜重灌方式、局部器件豁免等一堆细节。这篇文章就把从基础流程到实战参数一次讲透再把我踩过的坑和排查思路整理出来正在学AD19的新手能用画板多年但没仔细研究过铺铜间距的老手也会有用。1. 铺铜间距为什么值得单独设置1.1 铺铜在PCB里的真实角色先明确一件事铺铜不是为了视觉效果铺着玩的。PCB中的铜皮主要承担三个职责回流路径、散热和电磁屏蔽。回流方面顶层或底层的大面积地铜皮能给信号提供紧邻的回流平面回路面积小对外辐射就低散热方面尤其电源板上覆铜能帮大功率器件把热量导走屏蔽方面敏感电路区域外围的接地铜皮可以吸收和隔离外界的干扰。不过这三个功能全都带着代价。铜皮一旦大面积靠近其他对象它就不再是一条“线”而是一个“面”间距关系要复杂得多。一条走线和旁边焊盘之间保持0.2mm板厂加工没什么压力一整片铜皮和成排焊盘之间也保持0.2mm那就可能出现蚀刻后边缘发毛、间距不均的问题。所以铺铜间距不能简单复制走线间距的逻辑需要单独思考。1.2 为什么不能直接共用走线间距我刚开始画板子的时候图省事直接在默认Clearance里面设一个全局值比如0.25mm然后走线和铺铜全都用它。结果遇到两类问题常规信号板铜皮和焊盘之间的距离看起来非常紧出去打样后板厂反馈工艺上有风险到了高压电源板0.25mm根本满足不了安全爬电距离测试时直接打火。参考实际工程经验铜皮间距一般要比走线间距留得更大。同样一块板走线间距可能0.2mm就够铜皮和走线之间的间距却建议给到0.3mm到0.5mm。原因是多方面的大面积铜皮在蚀刻时侧蚀效应更明显边缘精度不如细走线实际做出来会比设计值更小。铜皮是面电极电场容易在边缘集中同样的电压差下爬电风险比两条细线之间更高。返修时大面积铜皮散热快焊盘离得太近会影响焊接可操作性。这些因素决定了铺铜间距在PCB设计中需要作为独立变量来处理。1.3 间距设置不当的三种后果第一种后果是DRC报错刷屏。这种情况多半不是没设间距而是设置了但规则优先级或者对象范围不对后面第2节会详述。第二种是真实电气风险比如开关电源整流后310V直流母线附近如果铜皮跟低压引脚之间的净距不足封装材料受潮、积灰后很容易发生表面爬电轻则打火重则整板损坏。我后来把母线高压区域铜皮间距从0.3mm改成按安规计算出来的距离之后整机测试通过率明显上升这一项很值得重视。第三种后果是EMC问题。特别是电机驱动这类大电流、高dv/dt的板子紧贴开关器件或电机接口的铺铜如果间距太近、面积又大寄生电容会把开关噪声耦合到整片铜皮上铜皮瞬间变成一块辐射天线。“电机上面铺铜会导致高EMC”这个说法就是这么来的。之前有个项目在电机座上方铺了一大块铜噪声测试超标十几dB后来把这块铜皮挖掉并在开关节点区域禁止铺铜频谱马上干净了很多。1.4 先理解AD19的间距体系AD19的DRC间距机制可以简单概括为“规则优先级 对象范围”两条线。规则优先级解决多条规则冲突的时候该听谁的对象范围解决每条规则到底管哪些对象、哪些网络。所有间距规则本质都是“第一对象 vs 第二对象”之间的最小净距理解这一点后面设置铺铜间距就会顺理成章。比如“铺铜和所有对象的间距为0.3mm”这条规则翻译成AD的语言就是第一对象是IsPolygon第二对象是All最小间距填0.3mm然后把这条规则的优先级抬到默认规则之上。2. AD19里铺铜间距规则的完整设置流程2.1 找到规则入口打开PCB编辑器后按快捷键D R进入Design Rules规则设置面板。左侧是规则树在Electrical分类下找到Clearance。这里面默认有一条全板Clearance规则一般不要直接去改它。我建议新增一条专门管理铺铜间距的规则这样后期维护、调整优先级、导出规则模板都很清晰。默认规则的作用是兜底负责所有那些没有专属规则的场景。2.2 新建一条铺铜专用间距规则在Clearance节点上右键选New Rule新建一条规则。命名可以叫Clearance_Polygon_All名字本身要直观方便以后识别。双击打开规则编辑界面在Where The First Object Matches区域把默认的All改成Advanced在Full Query输入框里写IsPolygon这个语法匹配的是所有铺铜对象包括动态铺铜和铜皮填充。注意不要误用InPolygonInPolygon匹配的是“位于铺铜区域内部的走线、焊盘、过孔”等对象用途完全不同。最常犯的错就是在这里选了InPolygon结果发现规则完全没生效因为你是想让铺铜本身作为第一对象。第二对象那里保持All不变。这样这条规则就表示“任何铺铜和画面上所有其他对象之间距离不得小于我设定的值”。2.3 设置间距数值在Constraints区域内Minimum Clearance输入目标值。单位可以临时用mm或者mil看个人习惯。我的经验值如下常规两到四层板信号区域铺铜间距0.3mm。板子密度很高时可以压到0.254mm也就是10mil但选择板厂的范围变窄制作成本也会略升。高压电源区域间距要按安全爬电距离计算往往5mm以上我会单独再建一条规则并且提高优先级。这里千万不要拍脑袋填一个数字后面第3节会给具体场景的参数逻辑。数值设定后这条规则的设置还没完成最关键的一步在优先级。2.4 规则优先级一定要调整新建的规则默认优先级排在最底下不会覆盖默认Clearance所以就算你填了值DRC还是按默认规则在报。规则面板右下角有个Prioritization按钮点开之后会看到当前所有Clearance规则的优先级列表把Clearance_Polygon_All这一条拖到默认Clearance之上。优先级的原则很简单范围越具体、条件越明确的规则优先级越高。我一般会把“高压爬电间距”排在最高位然后是“铺铜与其他对象间距”再往下是“小封装器件局部间距”最后才是默认的全局Clearance。排序错了后面4.1节讲的那个DRC刷屏现场就会找上门。2.5 改完规则后必须重新铺铜这一步太重要了。间距规则修改之后已经存在的铺铜不会自动更新。你需要选中铺铜然后在Tools → Polygon → Repour All里重新填充全部铜皮。如果希望每次规则修改后铺铜自动重灌可以在铺铜属性里把Repour Polygons设置为Always。但板子铺铜数量多、网络复杂时自动重灌每次拖动都会卡顿我通常不开Always改成手动重灌画完一块区域统一Repour一次。最后按快捷键T D R运行设计规则检查看看间距报错是不是消掉了。注意运行DRC的时候也要确认铺铜已经被重新填充过因为DRC检查的是当前铜皮形状不是规则数据库里的预期形状。3. 不同场景下的铺铜间距配置实战3.1 常规信号板间距宽松比紧更好对于MCU系统、低速数字电路这类常规板子我的起步配置是走线间距0.2mm铺铜间距0.3mm焊盘到铺铜间距也0.3mm。这组数据在大多数两层或者四层板上都能跑得很顺利。之前画过一块四层核心板底层整面地铜皮把Clearance_Polygon_All设成0.3mm后DRC只剩两三个跟铜皮形状有关的提示全部跟间距无关出板良率明显比之前用0.2mm的时候高。有人会觉得0.3mm太浪费面积想压到0.2mm。我的看法是PCB尺寸固定、密度不高的时候省这0.1mm毫无意义密度确实高的时候应该局部收窄而不是全局改成0.2mm。全局太紧容易埋隐患局部问题又难定位。3.2 高压区域310V母线的间距怎么给开关电源中整流后直流母线电压310V左右属于危险电压。这种区域不能只看“铜皮到走线”的电气间距还要看爬电距离。工程上的做法是根据污染等级、材料CTI、海拔高度等因素按安规标准计算爬电距离。实际项目中我在310V母线与低压次级侧之间的铜皮间距至少取5mm并在变压器下方、光耦下方开槽增加表面爬电路径。如果板内实在放不下这个距离就要推动结构开槽或者选用更高CTI的材料而不是缩小净距去硬挤。整流桥附近的高压铜皮和低压焊盘之间也一样不要只盯着“不短路”要把污损后的爬电风险也算进去。这些地方一旦翻车不是DRC报错这种小问题而是直接关系到安全。3.3 混合信号板与EMC敏感区的铺铜处理回到“电机上面铺铜会导致高EMC”这个案例。本质原因在于电机驱动桥输出的开关节点dv/dt极高如果在这个区域上方大面积铺铜等于把开关噪声通过寄生电容耦合到整片铜皮辐射面积瞬间扩大EMC自然超标。处理方式分两步。第一步驱动桥输出到电机端子这一段铺铜间距直接放宽到0.5mm以上或者干脆在开关节点区域画禁止铺铜区让这边只走线。第二步如果担心回流路径可以在走线的下方地层铺地铜皮作为回路面但这块铜皮需要和开关节点区域隔离开不能让它直接贴过去。实测下来把电机座附近的大块铜皮挖成网状小片、再收紧周边尺寸噪声频谱改善非常明显。3.4 小封装器件与微型连接器区域的局部规则现在板子上经常见到20×20×4mm这种微型风扇接口端子的间距只有1.25mmEMMC、UFS这类存储颗粒的引脚间距更小0.5mm pitch很常见。这些器件周围如果全板铺铜间距统一要求0.5mm那基本没法画到处都在报错。正确的做法是用局部规则。给这些器件单独建一条Clearance规则把对象范围限定在器件周边间距值降到0.2mm到0.25mm或者更彻底一点在规则里豁免个别器件用Query语法精准排除这块内容在第4节详细讲。核心原则是“全局收紧、局部放宽”而不是全局放宽、处处妥协。3.5 包地走线、过孔间距与铺铜的配合另一个和间距强相关的场景是包地。PCB设计里给敏感信号做包地处理时两侧的地铜皮或地走线要形成连续的屏蔽这时地过孔不能漏而且过孔间距有讲究。经验值是取信号最高频率对应波长的1/10到1/20。举个例子2.4GHz信号的波长约125mm1/20都还有6mm多但工程上为了稳妥我一般每隔3到5mm就打一个地孔低速信号可以放宽到5到10mm。这里要提醒的是包地铜皮与信号线的间距也要受Clearance_Polygon_All这条规则约束。如果包地间距设得太紧反而会把信号线夹得很难走我的经验是包地铜皮到信号线的间距取0.3mm到0.5mm比较合适过孔间距按3mm左右一排既保证屏蔽连续性又不至于让布线密度爆炸。4. 铺铜间距引发的高频问题与排查实录4.1 铺铜后DRC刷屏先查优先级和对象匹配最常见的问题就是规则建了、间距也填了一重灌铜皮报错还是密密麻麻。我的排查顺序是先看规则面板里那条Polygon规则有没有变成灰色灰色代表未启用再看优先级对话框里它是不是排在默认规则之上最后查第一对象的Query语法确认写的是IsPolygon而不是InPolygon。还有一个细节容易忽略如果铺铜用的是网格铺铜HatchedDRC检查时有些AD版本会按多边形边界算间距导致结果和实心铺铜不一样。这种时候要意识到不是规则错了而是检查对象形状的问题建议关键区域改成Solid再核对。4.2 个别器件焊盘间距报错用Query语法精准豁免有时候你不想为了一个小封装器件去降低全板铺铜间距那就需要精准豁免。比如铺铜和U1器件的某个引脚间距始终报错而你又清楚这个区域实际工艺能做出来就可以在Clearance规则的Full Query里追加排除条件。第二对象的Full Query写成Not InComponent(U1)这样铺铜与U1所有焊盘之间的间距检查就被移出了这条规则。如果只想针对个别引脚可以用坐标范围或者更细的Query组合比如IsPad And Not OnComponent(U1)这个方法在实际项目中非常有用尤其是小封装Flash芯片周围0.3mm间距实在走不开的时候。但使用豁免前务必跟板厂确认工艺极限别为了过DRC把制造风险转移出去。4.3 铺铜边界总是不对禁止铺铜区和Keepout结合在电源板上我一般用Polygon Pour Cutout剪出局部禁止铺铜区域它直接在铜皮上挖洞可控性强。电机驱动区、光耦隔离区、高压走线跨接处优先用Cutout。如果某些区域完全不允许铺铜再用禁止布线层Keepout来圈地并同步设置规则。很多从Cadence Allegro转过来的朋友习惯用Shape管理禁止区AD里对应的就是Keepout和Cutout这套组合逻辑类似但要记住AD里铺铜会智能绕开Keepout而Cutout是事后挖孔两者效果略有差异。4.4 热焊盘连接方式影响间距表现铺铜连接到焊盘时如果设置成十字花热焊盘那四个连接条的宽度也会参与间距判定。连接条太宽和旁边焊盘的距离就可能触发DRC。之前遇到过一个案例DRC反复报某个电源过孔和铺铜间距不足光看坐标怎么都想不通后来才发现是过孔属于电源网络十字花连接条绕得太近把Polygon Connect Style里的连接宽度调窄、调整连接条数量之后报错立刻消失。这里提醒一下铺铜间距的DRC报错不一定是铜皮主体的问题热焊盘的连接条也会“背锅”。4.5 规则优先级排序的实战经验我现在的项目中规则排序基本固定如下高压爬电间距只针对高压网络范围最小排最前。铺铜与其他所有对象的间距覆盖全板。小封装器件局部间距比铺铜规则更具体排在中间。默认全板Clearance兜底。这样排序的好处是新增规则时不会和现有规则打架后期调参只需要动对应层级。调试时我宁可多建一条规则也不反复去改默认规则因为默认规则一旦改乱全板的DRC结果都会跟着变。5. 和间距规则一起配的“兄弟选项”5.1 Polygon Connect Style决定铜皮怎么连间距只是第一步铜皮跟焊盘怎么连同样会影响DRC结果和生产质量。在Design → Rules → Plane → Polygon Connect Style里可以选择实心连接或者十字花连接。电源板大电流焊盘通常用实心连接散热好小信号焊盘用十字花防止焊接时热量被铜皮快速抽走。这里的连接条宽度会直接影响铺铜和邻近对象的间距表现所以要跟Clearance_Polygon_All一起检查。5.2 Repour设置影响你改完规则之后的效率铺铜属性里的Repour Polygons有三个选项Always、Threshold、Never。Always适合小板子每次规则修改后自动重灌方便看效果Threshold适合中等复杂度改动超过阈值才重灌Never适合复杂板全部手动控制。我的习惯是复杂板Never自己掌握重灌时机改完规则统一Repour All不然每次拖动都在自动重算操作会卡到怀疑人生。5.3 同网络间距豁免别忽略铺铜和同网络对象之间其实也存在间距规则。很多时候你希望一个网络上的铜皮和焊盘可以靠得很近甚至直接相连这时需要在Clearance规则里设置Same Net Only的豁免或者明确Ignore Nets。AD里默认对同一网络的间距有约束如果没处理好DRC也会报“same net clearance”错误。通常我会在铺铜规则里指定忽略电源网络的两个同名焊盘让它们正常相连而不是让DRC拦住纯属合理的连接。6. 实操总结与经验速查表6.1 铺铜间距常用参数推荐下面这组参数是我多个项目验证过的起步值适合大多数两层到四层板场景铺铜间距推荐备注常规MCU/低速数字板0.3mm密度高可降到0.254mm小封装器件局部区域0.2mm单独建局部规则高压区310V母线按安规计算通常不小于5mm配合开槽不靠缩小间距EMC敏感开关节点区0.5mm以上或禁止铺铜避免大面积铜皮形成天线包地铜皮与信号线0.3mm到0.5mm地过孔间距3mm左右6.2 四步固定操作流程铺铜间距处理我自己的固定流程是先建规则再调优先级然后重灌铜皮最后跑DRC。四步缺一不可顺序也不能乱。很多人建完规则忘了重灌铺铜以为DRC会自动刷新结果报错还在就误以为规则没生效。AD19里规则修改不会自动触发铜皮重建务必手动Repour All。6.3 个人体会画了这些年板子最大的体会是铺铜间距不是一个“能过DRC就行”的数字它背后是加工能力、电气安全和电磁兼容的综合平衡。我现在基本把铺铜相关规则做成了模板每个新项目直接导入只修改高压和特殊器件部分能省很多时间。你没看错规则这种“后台”配置其实是画板效率最高的隐形加速器。如果已经在AD19上被铺铜间距折磨过按上面这条路重新设置一次再重灌铜皮跑一遍DRC你会立刻感受到板和板之间的差距在哪里。
返回列表