KiCad EDA 中文论坛
直播中

jf_32603368

5年用户 114经验值
擅长:控制/MCU
私信 关注
[经验]

KiCad中的Edge.Cut与Margin层

经常看到小伙伴们询问KiCad中的Margin层有什么用,和板框层Edge.Cut有什么区别?虽然实际实际中可以完全忽略Margin层,但理解它并合理的加以使用,可以为设计带来一定的便利。


Edge.Cuts板框层在介绍“Margin”层之前我们先来复习下“Edge.Cuts”板框层。KiCAD将 "Edge.Cuts"层上的封闭图形(直线、圆圈等)视为电路板的物理边缘。敷铜算法在到达“Edge.Cuts”上的图形时将停止敷铜。最新的推挤算法布线器不允许导线穿过“Edge.Cuts”层上的边框。“Edge.Cuts”的目的是为了满足电路板制造商的要求,以确定电路板的物理轮廓。有些板厂要求板框显示在每一层的Gerber文件中;有些板厂则要求板框只出现在一个单独的Gerber文件中,独立展示。(KiCAD的 "绘图 "菜单有支持这两种方法的选项。) 一些板厂希望在Edge.Cut层上定义所有的内部切口、槽等;有些板厂则可能希望在一个单独的文件中提供这一信息。

Margin层定义
KiCAD中的 "Margin" 层是一个没有精确定义的技术层(工艺层)。我想说它根本没有真正定义,但这可能不完全正确。根据开发者邮件组及论坛的信息,“Margin”层最初是用来定义从电路板的物理边缘所需的缩进区域(setback/pullback),区域中不允许有元件、布线或其它电气对象。如下图所示,黄色图形为板框层,粉色图形为Margin层,黄色与粉色线条的中间区域就是缩进区域(setback area),区域中不允许出现铜对象。这与板厂的制造工艺相关:板厂不会把铜对象(焊盘或布线)放在离边缘太近的地方。通常,缩进的要求大于铜与铜之间的最小间距。
说到这儿聪明的小伙伴肯定会联想到一个类似的设计约束:铜到板边间隙。这不是和缩进区域起的作用差不多吗?的确,这也是为什么之前说“Margin”层未被准确定义的原因之一。
我们先不纠结定义,看一下板框层和Margin层的实现。


板框层与Margin层的实现
板框层的实现与作用板框层(Edge.Cut)的实现非常好理解。如果将板框层设为活动层,然后使用“图形”对象在板框层中绘制封闭的图形,即完成了板框的定义:

注意:板框层上只允许摆放非电气的图形对象,KiCad限制了电气对象在板框层上的摆放。如果在板框层的内部放置图形对象,则视为对PCB的开槽/开孔。如下图所示,在板框层上绘制了一个圆及一个矩形后在2D和3D视图中的效果:


Margin层的实现与作用我们把当前的活动层设为“Margin”层,然后绘制同样的图形:
这时切换到3D环境中看不出任何变化:

这时,如果按快捷键B,将敷铜区域重新填充,会发现Margin层中图形所在区域的敷铜消失了:
在3D环境下查看,和2D情况相同。但却只是缺少了部分敷铜,和Edge.Cut层的开槽是完全不一样。

您可能又会联想到,这一效果和“规则区域”的实现类似:

的确如此,但“规则区域”可以有更多的配置,比如规则作用在哪些层?又作用在哪些对象(布线/过孔/焊盘/敷铜/封装)?而对于Margin层来讲,其上的绘制的图形将作用在所有的电气层,如果有对象在图形范围中,将直接触发DRC报错!

DRC的行为
在对板框层及Margin层DRC的处理上,KiCad做得比较粗糙。它的处理原则是:Margin层等同于板框层。怎么理解?以下图为例,黄色是板框层,粉色是Margin层。
当板框层或Margin层已经存在的情况下,布线器会禁止布线穿越这两层:
如果我们把一个过孔直接放在以下位置,会得到Margin层和Edge层分别报出的“电路板边缘间隙违规”错误:


同样的,如果我们依次将Margin层和板框层设为活动层,分别在存在铜对象的位置摆放一个矩形,同样可以得到分别针对Margin层和板框层的“电路板边缘间隙”违规:


总结
Margin层的定义与作用并不十分精确。由于“电路板边缘间隙”规则的存在,绝大部分的设计只需要用到板框层(Edge.Cut),而完全没必要使用Margin层。但在某些应用场合,使用Margin层,结合DRC的方式,可以快速判断出某一区域内是否存在不必要的电气对象。当然,用“规则区域”的方式也可以更准确地实现类似的效果。
关注“KiCad”公众号,获取更多咨询!


更多回帖

发帖
×
20
完善资料,
赚取积分