1. 项目概述:Keep-Out Layer远不止画个边框那么简单
做PCB设计这些年,我见过太多工程师把Keep-Out Layer当成“画板框用的那一层”,甚至有些做了两三年的Layout工程师,谈起Keep-Out Layer还是那句:“不就是限制布线范围嘛,画个框就完事了。”说实话,这种理解不算错,但离“把这一层用明白”还差得很远。
Keep-Out Layer,字面意思就是“禁止进入层”。它定义的是PCB上物理上不允许布置任何对象(走线、铜皮、过孔、器件丝印等)的区域。在Altium Designer、Cadence Allegro、PADS等主流EDA工具里,它都有对应的独立图层,只是叫法略不同——AD里直接叫Keep-Out Layer,Allegro里叫Route Keepout(还有Package Keepout)、PADS里叫Keepout。但不管名字怎么变,它的核心价值就一条:用明确的物理边界告诉EDA工具“哪里绝对不能放东西”。
这篇文章我会从Keep-Out Layer的本质讲起,带你把它的三个层次吃透:第一层是机械结构层面的板框与安装约束,第二层是电气规则层面的安全间距与隔离约束,第三层是制造工艺层面的可加工性约束。每一层我都会结合实操案例讲清楚“为什么这么做”“不这么做会出什么事”,最后会把我在项目里踩过的坑和排查方法一并分享出来。
文章适合正在做PCB设计的硬件工程师、Layout工程师,以及想系统理解PCB设计底层逻辑的电子爱好者。哪怕你刚入门,只要对照文章里的思路去检查你自己的板子,收获一定比单纯“画个边框”要大得多。
2. 核心思路:把Keep-Out Layer当成设计约束的“翻译官”
2.1 机械层与电气层之间的桥梁
很多工程师分不清Keep-Out Layer和机械层的关系,这俩确实容易混淆,但搞不清楚会在实际项目中吃大亏。
机械层(Mechanical Layer)在EDA工具里通常是一组层,比如Mech1、Mech2……它用来表达板卡的物理尺寸、安装孔位置、器件高度限制、装配说明等信息。这些信息是给结构工程师、装配工人或者3D模型看的,它更多的是“描述性”的——告诉你板子长什么样。
而Keep-Out Layer是“约束性”的——它告诉EDA工具和设计者:哪些区域禁止布线、禁止放置器件、禁止铺铜。它的本质功能是把机械层的物理边界和结构需求,“翻译”成电气设计工具能理解并强制执行的规则。
打个生活化的比方:机械层像一张户型图,标了墙在哪、门在哪、窗在哪;Keep-Out Layer则像地面上的警戒线,明确告诉你哪里不能摆家具、哪里不能走人。户型图是给人看的,警戒线是让人必须遵守的——两者配合才能保证整个空间既合理又安全。
所以在实际设计流程中,正确的做法是:结构工程师给出DXF格式的结构图 → PCB工程师把结构图导入到机械层 → 再从机械层提取板框和关键禁布区域 → 在Keep-Out Layer上画出对应的禁布边界 → 检查无误后才开始器件布局和布线。这个流程缺一步,后期都可能要返工。
2.2 Keep-Out Layer的三种核心约束角色
如果只用一个词概括Keep-Out Layer在设计中的角色,我会选择“约束表达器”。它承担着三类约束的落地任务:
第一类:物理结构约束。包括板卡外形边界、安装孔周边的禁布区域、板边器件禁放区域(一般距离板边3~5mm不放器件)、结构件干涉区域(比如螺丝柱下方、外壳凸起对应的背面区域)等。这部分的Keep-Out通常直接来源于结构图纸,是刚性的、不可协商的约束。
第二类:电气性能约束。包括高压区域的安全距离禁布、高频电路的天线净空区、敏感模拟电路附近的禁布保护带、隔离带等。这类Keep-Out是我认为最体现“艺术”的部分——它不是机械地照搬规则,而是需要根据电路工作电压、信号频率、电流大小等因素综合判断边界应该画在哪里、画多大。
第三类:制造工艺约束。包括拼板边的工艺边禁布区、V-cut槽两侧的禁布区、金手指区域的挖铜区、散热器下方的器件禁放区等。这些约束是为了保证PCB能顺利加工、装配和测试,违反了它,板子画得再漂亮也出不了货。
2.3 为什么不能用其他层替代Keep-Out Layer
有人可能会问:“我在机械层画个圈,然后自己心里记住别往那里放东西,不也一样吗?”这个问题我年轻时也问过自己,直到有一次因为在机械层画了安装孔禁布区而忘了在Keep-Out层同步,结果器件被放到了安装孔正下方,被结构工程师一顿数落之后,我就再也不敢这么干了。
关键原因有三个:
第一,DRC(设计规则检查)不认识机械层。EDA工具只会在Keep-Out Layer、禁止布线层这类具备“约束语义”的层上执行规则检查。如果你只在机械层画禁布区域,理论上没有任何错误——工具根本不会把它当约束处理,器件依然可以“合法”地放在那里。
第二,Keep-Out Layer是实现自动化设计的前提。无论是交互式布线还是自动布线器,它们判断“哪里能走线”时,Keep-Out Layer是核心依据之一。没有Keep-Out约束,自动布线就会把线走到结构禁区内,后面全靠人肉检查,效率极低。
第三,团队协作需要统一的“约束语言”。在一个团队里,结构、硬件、Layout工程师之间需要一套大家都能读懂、EDA工具能直接验证的公共语言。Keep-Out Layer就是这套语言的载体——每个人打开PCB文件,看这一层的图形,就知道哪些地方是红线,不可触碰。
3. 实操指南:从结构到电气,把Keep-Out Layer用好
3.1 板框与安装约束:第一步是“画对边界”
板框是Keep-Out Layer最基本的存在形式,但它也有很多容易被忽视的细节。
标准流程是这样的:拿到结构工程师提供的DXF文件后,先导入到机械层,确认1:1比例无误,然后量取板卡外轮廓,在Keep-Out Layer上用Line或Track把轮廓描出来。注意,很多人习惯用2D Line来画Keep-Out,这在AD里没有问题,但如果你用Allegro,画Keep-Out一般推荐用Shape或者根据需要设置线宽——因为这些工具对“闭合多段线”和“开放线”的处理逻辑不同。
画板框时最容易犯的错误有三个:
- 没有闭合。Keep-Out边界必须闭合,否则DRC无法正确判断哪个区域是内部、哪个是外部,跑规则检查时会出现莫名其妙的错误。
- 线宽不统一。有些工程师为了省事,画到一半用了不同线宽的线去连,结果在某个拐角出现了一个极小的开口或重叠区域,Gerber出来之后板厂打电话来确认,来回折腾两天。
- 遗漏板框倒角。高速信号板卡或者需要插拔的板卡,板框四角一般要加倒角(常见R1~R2mm),避免应力集中导致板角开裂,同时方便装配。如果你只画直角,板厂一般会按直角加工,到装配环节才暴露问题。
弄完板框后,紧接着就是安装孔的禁布区。安装孔周围一般要画一个比孔直径大2~3mm的圆形Keep-Out,禁止器件、走线和铺铜进入。这个区域的半径怎么定?主要看安装孔的类型:如果是普通螺丝孔,Keep-Out半径取孔径+1.5mm比较稳妥;如果是需要绝缘垫片的安装孔,往往还得再加大到孔径+3mm以上,同时在机械层额外标注绝缘要求。
3.2 结构干涉区:三维空间里也要“禁止进入”
很多工程师画Keep-Out只看二维平面,忽略了器件高度带来的三维干涉问题。我在一个电源项目中就遇到过这种情况:板子正面的电感高度有12mm,而外壳上部正好在电感对应位置有一根加强筋,垂直净空只有8mm。结果样机组装时电感直接顶在外壳上,板子都装不进去。
正确的做法是:拿到结构图后,不仅要看板框边界,还要仔细核对每个结构件(螺丝柱、外壳凸起、散热器、连接器开窗)在PCB上的投影区域。凡是有垂直空间冲突的位置,都要在Keep-Out Layer上画禁布区,同时配合机械层的高度标注。
这里有个实用技巧:在AD里可以用3D模式配合Mech层的高度属性做可视化检查,Allegro可以在约束管理器里设置Package Keepout的高度限制(Dfa Package Constraint里的Placement Height)。在用Package Keepout时,不仅要画水平禁布范围,还要在属性里填上最大允许器件高度——这样DRC就能直接检查出“这个区域不能放高于X mm的器件”。这个功能很多工程师没用过,强烈安利,谁用谁知道。
另外结构干涉区还要考虑生产测试因素。ICT(在线测试)治具的探针、FCT(功能测试)的压棒在板子上方都有投影位置,这些位置一般会标注“此区域禁止放置高度超过Xmm的器件”。这类约束我建议直接并入结构干涉Keep-Out,别另建一层表达,不然检查的时候容易漏。
3.3 电气隔离:让电压和信号“各走各的路”
Keep-Out Layer在电气隔离上的应用,是它“艺术性”的最高体现。这里我展开讲四个典型场景。
场景一:高压爬电距离与安全间距。开关电源的初级侧和次级侧之间,或者强电电路与弱电控制电路之间,通常需要满足一定的爬电距离(Creepage Distance)和电气间隙(Clearance)。爬电距离是沿绝缘表面测量的最短路径,电气间隙是空间直线距离。根据IEC 60950/62368等标准,不同工作电压、污染等级、材料组别对应不同的距离要求。
用手算的方式保证爬电距离当然可以,但效率很低。更工程化的做法是:先在Keep-Out Layer上沿着隔离边界画一条禁布带,带宽等于要求的爬电距离+余量(比如AC-DC电源一般在初、次级之间留6mm以上的爬电距离,这时禁布带宽度直接取6mm,两侧再各留1mm余量)。这样布局布线阶段,工具会强制所有走线、器件远离这条隔离带,从源头避免“爬电距离不够”的隐患。
场景二:屏蔽与敏感电路的保护带。混合信号板上,数字电路的高频噪声很容易耦合进模拟电路。一种有效的做法是在模拟区和数字区之间画一条Keep-Out带,禁止任何铜箔穿过,只在特定位置用磁珠或0欧电阻跨接信号。同时模拟敏感区域周围还可以画一圈禁布区,配合地平面分割形成隔离屏障。
注意Keep-Out带不只是“走线不能穿过去”,铺铜也要避开——很多工程师忘了在灌铜规则里排除Keep-Out区域,结果走线确实绕开了,但铺铜把两边的地平面连起来了,隔离效果大打折扣。每个EDA工具都支持在铺铜/灌铜时勾选“Remove Islands / Keep-Out clearance”,务必确认这个选项生效。
场景三:射频天线的净空区。带有蓝牙、WiFi、GPS等无线模块的板卡,天线下方和周围必须保证“净空”——也就是不能有铺铜、走线、器件,否则天线性能会严重劣化。这块Keep-Out通常直接依照天线厂商提供的参考设计:一部分是天线本体下方的净空(往往要求所有层都不能有铜),一部分是天线周围的无器件区(可以走线但要避开主要辐射方向)。
这种净空区的Keep-Out要特别留意“所有层生效”这一点。如果只在顶层画了Keep-Out,而底层还在天线下方铺了完整地平面,那天线照样被影响。AD里Keep-Out默认对所有层生效(Design Rules里的Clearance规则),但Allegro里Route Keepout默认是TOP/BOTTOM都影响,也要你确认多层设置。检查方法很简单:看GERBER或者用3D视图,从侧面看每一层在天线对应区域是不是都没有铜。
场景四:罗氏线圈(Rogowski Coil)PCB设计的特殊Keep-Out。最近经常有做电流传感器的朋友问到PCB罗氏线圈设计——匀称绕制的PCB线圈通过测量磁场变化来间接测电流,对线圈区域的寄生参数和涡流极其敏感。罗氏线圈绕组区域的正下方和正上方,应设置严格的Keep-Out区,禁止铺铜和走线穿过,否则铜箔引入的涡流会直接影响测量精度。另外罗氏线圈的回流路径布线必须从线圈外部走线,不能让信号线穿越线圈绕组的感应区域。这类设计里Keep-Out Layer不是简单“画个框”,而是与电磁场仿真结果严格对应的约束表达,用得好就是“性能分水岭”。
3.4 制造与装配工艺:Keep-Out的另一重保障
制造端的Keep-Out约束容易被经验少的工程师忽视,但它直接关系到板子的可制造性与直通率。
比如工艺边(Tooling Bar)。拼板时在板边预留5mm宽的工艺边,用于SMT产线传送和定位。如果你在主板上画器件,器件离板边太近,拼板后器件就会撞到工艺边区域,贴片时吸嘴或回流焊轨道就可能碰到器件。解决思路是在主板四边里靠近工艺边的那一侧画禁布区——器件边缘到板边距离至少3mm,推荐5mm。
再比如V-cut(V形槽)分割。采用V-cut的拼板,在切割线两侧约0.5~1mm范围内禁止走线和铺铜,否则切割应力可能撕裂铜箔,严重的还会导致内层短路。这个Keep-Out通常由板厂在加工说明里提出,但成熟的设计者会在设计阶段直接加进Keep-Out Layer,避免打样后才发现问题。
还有金手指和半孔板。金手指区域如果铺铜不完整或者表面处理不均匀,插拔磨损后容易氧化失效,因此金手指前端通常要挖掉一层阻焊,并在金手指根部画禁布区防止走线靠近。半孔板(邮票孔)的外缘也会有Keep-Out要求,保证铣刀切割时不会伤及内层走线。
4. 从教训到排查:Keep-Out Layer设计错误的完整复盘
4.1 那些让我印象深刻的翻车案例
做设计十年,Keep-Out相关的坑我踩过不少。挑两个最有代表性的,说给你听。
案例一:结构干涉带来的“整板重投”。一款便携式仪表的控制板,结构工程师在DXF里标注了一个异形禁布区——外壳内部有一个凸起的电池仓压片,正好压在板子左上角。我导入DXF后,在机械层画了禁布区示意图,但当时想着“反正图纸上标注了,我手动避开就行”,没有同步在Keep-Out Layer画。布局阶段也确实手动避开了那个位置,一切顺利。结果在评审时为了优化走线,不小心把一个去耦电容挪到了禁布区内,全局DRC没报错(因为机械层不参与DRC),板子发出去了。结构装配当天现场反馈:电池仓压片顶上去了,电容焊盘被压变形,整批板子报废重投。那个项目让我彻底明白了:凡是你希望EDA工具帮你守住的边界,就必须画在具有约束语义的层上,否则等于没画。
案例二:灌铜没避开Keep-Out,高压隔离失效。一个三相电能表项目,强电区(220V)和计量芯片的弱电区之间要求6mm安全间距。我在Keep-Out Layer上画了一条6mm宽的隔离带,走线确实没有穿过它。结果测试时爬电测试没过——打耐压时沿板面发生拉弧。查了半天才发现:铺铜时我用的灌铜区域框是从板框内缩的,没有单独排除Keep-Out隔离带,结果底层的地铜箔在隔离带下方“绕了底”——表面走线保持了6mm,但铺铜只保持了1.8mm间距。表面看着清清白白,底下的铜箔早已越界。从那次以后,我每次灌铜完成后都会花几分钟做一层“目视巡检”,用高亮模式单独看每个铜箔层和Keep-Out的重叠情况。
4.2 Keep-Out设计自查清单
根据这些踩坑经验,我整理了一份自查清单,每次投板前都会过一遍:
| 检查项 | 检查方法 | 常见问题 |
|---|---|---|
| 板框Keep-Out闭合/线宽 | DRC规则“Un-connected”检查;视觉检查拐角 | 边界不闭合,DRC误判内外 |
| 安装孔禁布区半径 | 以安装孔中心为圆心画临时测量圆,对比Keep-Out边界 | 禁布区半径不足,螺丝头压到走线 |
| 结构干涉区同步性 | 机械层与Keep-Out层叠加显示,逐区域核对 | 只画了机械层,忘画Keep-Out层 |
| 高压隔离带宽度 | 用测量工具量隔离带最窄处 | 拐角处把Keep-Out带画窄了 |
| 铺铜与Keep-Out关系 | 灌铜后单独显示铜箔层,开启Keep-Out层对比 | 灌铜未排除Keep-Out,铜箔越界 |
| 关键净空区全层确认 | 逐层(Top/Bottom/内层)在3D或分层视图检查 | 只画了表层Keep-Out,内层铜皮未避让 |
| 板边器件间距 | DRC板边间距规则;3D视图检查器件与板边距离 | 器件离板边太近,拼板后干涉 |
| 工艺边/拼板切割线 | 对照板厂拼板图逐项确认 | V-cut两侧走线太近,切割损伤 |
4.3 快速排查技巧:让Keep-Out问题无处遁形
除了DRC和目视检查,还有几个我常用的高效排查手段。
技巧一:单独把所有Keep-Out区域“点亮”。在AD里用Shift+S在单层模式下显示Keep-Out层,配合透明显示所有其他层的铜箔(View Configuration里把其他层的透明度调到80%以上),可以快速扫一眼:铜箔和Keep-Out有没有不该有的重叠。Allegro里可以通过Color Dialog把其他层调暗,只用Etch和Keepout两个图层叠加显示。
技巧二:用DRC只跑与Keep-Out相关的规则。AD的Design Rule Check里可以单独勾选Clearance、Keepout等规则,把其他不相关的规则临时关掉,跑完后只查看涉及Keep-Out的报错,效率极高。Allegro则在约束管理器里生成针对Keepout的DRC报告。注意不要在检查完后忘了恢复其他规则,否则后续检查会漏项。
技巧三:用CAM工具做最终验证。在发出Gerber前,把Keep-Out层也输出到Gerber数据集里(有些工程师为了省事不导Keep-Out层,这在板厂审核时是巨大隐患),导入CAM350/ViewMate等工具里,可以把Keep-Out层和所有铜箔层叠加显示,铜箔是否越界一目了然。这个习惯让我避免了很多低级错误。
技巧四:模拟结构干涉——AD里的3D检查。有Step模型时,把外壳step导入,在3D模式下做一次全角度检查,观察Keep-Out区域是否有器件凸出。有时Keep-Out画了,但器件高度超出限制,这个检查能抓到这类问题。
4.4 DRC报错速查表
| 报错类型 | 可能原因 | 解决办法 |
|---|---|---|
| Keepout Object Between Track | 走线穿越了Keep-Out区域 | 移开走线,或确认Keep-Out是否误画 |
| Component Clearance Constraint | 器件离Keep-Out/板边过近 | 移动器件或调整禁布区域 |
| Minimum Solder Mask Sliver | 阻焊桥宽度不足,常与Keep-Out边缘相关 | 检查Keep-Out是否过于贴近焊盘/走线 |
| Copper to Keepout Spacing | 铺铜与Keep-Out间距不足 | 调整Clearance规则或重铺铜(记得选“排除Keep-Out”) |
| Un-Routed Net / Broken Net | Keep-Out区域切断了两段网络的连接路径 | 调整布线路径,或必要时给Keep-Out开“窗口”让特定网络通过 |
5. PCB设计秘籍:Keep-Out Layer的高阶用法
5.1 用Keep-Out管控回流路径
数字电路里信号的回流电流会沿着阻抗最小的路径流回源端,这个路径通常正对着信号走线的投影区域。如果你在信号层走了一根敏感的高速线,其正下方的地层最好保持连续完整——也就是地层在这个投影区域内不要有开槽或分割。
但有些情况下我们确实需要在地层上开槽(比如隔离、防串扰),这就需要用Keep-Out在特定层做精确控制。具体操作是:在需要禁止铺铜的层上画Keep-Out区域,然后在铺铜时排除它,这样这个区域的地铜箔就形成了一个精确的“窗口”。和直接在平面层用Shape切割相比,用Keep-Out管理的好处是DRC会自动检查附近走线和这个窗口的安全距离,省去了人工核对。
5.2 用Keep-Out Layer做EMC的“规划图”
做EMC设计时,Keep-Out Layer可以当作“干扰地图”来用:把干扰源(开关管、电感、晶振)周围圈出禁布区,把敏感器件(ADC、传感器、时钟电路)周围圈出保护区,把连接器和其他板卡的接口区圈出过渡区。这样从PCB的俯视图看,干扰源→过渡区→敏感区之间天然形成了分明的层次,再配合地平面分割、屏蔽罩等设计手段,EMC问题往往在布局阶段就解决了一大半。
5.3 在多层板中按层区分Keep-Out
高阶设计里Keep-Out不一定“所有层统一”。有些禁布区域只对特定层生效:比如天线净空区要求Top所有器件不能放、但内层不要铺铜;而有些机械干涉区只对表层或底层生效,中间层走线反而可以穿过。
AD和Allegro都支持按层画Keep-Out:在AD里直接切换到对应层再画Keep-Out图元即可;Allegro里Route Keepout有Top、Bottom、Internal层之分,Package Keepout也可以设置生效的层范围。使用“部分层Keep-Out”时要格外小心——在投板文件里看清楚每一层的Keep-Out都导出了吗?我见过有工程师只在顶层画了Keep-Out,底层就忘了画,结果底层走线跑进了天线的垂直投影区,整板无线性能崩盘。
5.4 在结构创新设计中活用Keep-Out
柔性板(FPC)和刚柔结合板(Rigid-Flex)领域,Keep-Out Layer同样很重要。柔性板的弯折区域禁止铺铜和走线,否则弯折时铜箔会断裂;刚柔板的过渡区(刚板和柔性板衔接处)也需要精确的Keep-Out控制,防止折弯应力传递给焊点。这些场景其实都是Keep-Out从“二维平面约束”走向“三维空间和力学约束”的体现。
6. 结语:画好Keep-Out Layer,是PCB设计的“纪律性”训练
说到底,Keep-Out Layer的本质是一种设计纪律。它把结构、电气、工艺三方面的约束翻译成EDA工具能理解和执行的语言,让设计不再依赖人的自觉,而是依赖系统性的规则检查。
如果你问我这些年最想分享什么心得,我会告诉你两件事:第一,Keep-Out Layer一定要画在“对”的层上,别拿机械层当Keep-Out用,这个便宜省不得;第二,画完之后一定要做“分层目视巡检”,尤其看铺铜和Keep-Out的关系,这个习惯救了我无数张板子。
最后再分享一个小技巧:每次拿到一块新的参考板或者评估板,第一件事先打开它的Keep-Out Layer看一遍,研究它的禁布区域是怎么规划的。看得多了,你对“哪里该禁、禁多大、为什么禁”的判断力会提升得非常快。Keep-Out画得好,板子不一定惊艳,但一定不会在装配和测试阶段给你“惊喜”。这,就是设计的底气。