标签归档:Altium Designer

在Altium Designer中制定走线与贯穿孔的间距规则

“走线与贯穿孔的间距”和“走线间距”在电路板设计中处于同样重要的位置。一家PCB制板厂家通常会将这两项作为其主要的生产能力指标公布出来。比如我经常使用的一家制板厂,允许6mil的最小走线间距,以及10mil的最小走线/贯穿孔间距。很多时候,你在设计PCB电路板的时候并不需要过多注意“走线与贯穿孔的间距”这个规则,尤其当这些贯穿孔都是导电孔,并且满足了最小孔环宽度(annular ring)。设想如果最小孔环宽度必须是5mil,再加上最小走线间距是6mil,相当于设定了铜走线到钻孔之见的间隔为最小11mil,已经大于了上面提到的10mil的例子。不过并非所有时候都是这样,当你需要在电路板上放置非导电贯穿孔(NPTH,Non-Plated Through Hole),用于定位接插件或者其他设备的时候,这些孔都没有孔环包围,于是CAD软件就直接使用走线间距(比如6mil)来监控孔与走线的间距(比如需要至少10mil),这样往往会造成制板厂家CAM检查不通过。

这篇文章里,我会探讨如何在Altium Designer这个软件里设定“走线与贯穿孔的间距”这个规则。遗憾的是,Altium Desinger里面直接对此进行直接设置的选项,它的“Design”->“Rule”有大量的规则设置菜单,却独缺这个功能。好在Altium Desinger并没有把路封死,我们任然可以通过其提供的“Advanced Query”方法来自定义规定物体A到物体B的间距。当然,如下图所示,这里的物体A就是指贯穿空(NPTH),B就是铜走线。在位于上方的“Full Query”中输入“(InPadClass(‘NPTH’))”,在下面输入“All”。

Altium Designer 设计规则的设定

Altium Designer 设计规则的设定

接下来,你得告诉软件,什么是“NPTH”,或者说那些孔被归到“NPTH”这个类别。在“Design”->“Classes”选项中,你可以在“Pad Classes”这个标签里手工创建一个新类(new class)并将其命名为“NPTH”。点击创建好的“NPTH”,在中间的“Non-Members”列表里会出现所以你设计图上的焊盘,接下来就很明白了,找到你需要的非导电贯穿孔,把他们加入到“Members”这个列表了。你就完成了对“NPTH”类的定义。

为新类挑选所属成员

为新类挑选所属成员

一个便捷的小技巧:当你在定义这些元器件组件的时候,把你想要的非导电贯穿孔的设计编号“Designator”设置为“-1”,这样你在“Non-Members”的正则表达式里面只需要输入“×–1”,就可以轻松筛选出所有这些被定义为“-1”的孔了。不然的话,在“Non-Members”的成千上百个成员里找到你需要的对象可不是件容易的事情。

上面两个步骤设定完毕以后,CAD软件就开始自动监控走线与贯穿孔的间距,保证不会违规。

Altium Designer生成gerber文件时的精度问题

最近向PCB工厂送出一块电路板设计,但是却被退回告知不符合最小走线间距要求。我使用该间PCB工厂已经有一段时间,对他们的各项指标十分 清楚。另外,我确定这块板子的设计肯定符合对方最小走线6mil的要求,因为我使用的Altium Designer的DRC(Design rule check)没有任何警告或者报错。为了进一步保证我的设计能满足对方的最小走线间距要求,我将最小间距提到了6.1mil,心想如果这样我的EDA软件 不报错,那板子再送过去应该肯定没有问题了吧。当然这个一提可是又花费了我不少功夫……

可是结果……还是说我的间距小于6mil,快把我逼疯了……

对方告诉我,我的设计里至少有50处最小走线间距违规,违规出显示实际间距为5.5mil或者5.7mil。这就让我起疑了,这些实际间距怎么才精 确到小数点后面一位呢?会不会gerber工程文件在输出的时候精度有问题?仔细检查了Altium Designer里各处gerber生成相关联的设置以后,终于真相大白:

PCB设计完成以后,你可以通过选择“File” -> “Fabrication Outputs” -> “Gerber files” 来调出CAM转换步骤的对话框,在这个对话框的第一个标签里,有一个Format(格式)的选项,就如其解释所说,选择“2:3”能精确到1mil(2表 示两位整数,3表示3位小数,1mil相当于一千分之一英尺,所以3位小数就是精确到0.001英尺,即1mil);“2:4”精确到0.1mil; “2:5”精确到0.01mil。显然,如果选择“2:3”作为输出格式,而设计精度要小于1mil,那小于1mil那部分小数位都被软件切割掉了。这就 意味着你的各种走线都被“移动”过了,况且你还不知道他们是怎么被切割的。这一移动毫无疑问就让我的设计超出了最小走线间距了。

Gerber_Setup

不过比较具有迷惑性的是,“Gerber Setup”并非是最终生成gerber工程文件的地方。这步只是将你的PCB设计转换成CAMtastic文件(CAM文件)。你可以把这个CAM过程 想象成一个成像过程,通过这个成像以后,你PCB设计中的各种netlist等关联信息都被移除,只剩下走线、丝印以及过孔等信息。所以你最后要做的,就 是将你的CAM逐层分解生成单独的gerber文件,这就是我们平时送到PCB工厂的文件。在生成之前,还有一个精度设置的地方,这既是我忽略并造成麻烦 的地方。

在CAMtastic窗口中,选择“Export”->“Gerber”出现下面的窗口:

Gerber_Export_Setting

要注意在“Settings”里面还有一个选择小数点位数的地方,这个才是最后要影响到你gerber精度的地方。确保你选择了和你自己PCB设计相吻合的精度。

选择高精度再次送出文件以后,没有再收到任何问题报告,电路板也顺利加工完毕。但是令人不解的是,为什么之前没有注意到这个高精度选项却也没有收到 任何PCB工厂的出错报告呢?后来才发觉,之前的PCB电路板的网格精度都没有低于1mil,而这次由于PCB密度很高,又不想提高PCB成本而选择更小 的走线/间距水平,所以将PCB的网格放到0.05mil,所以就出现了这样精度失真的问题。