Altium DesignerQuery引擎应用
2022-03-14徐建春
徐建春
(特灵科技亚太工程技术中心,上海,200051)
0 引言
我们在应用Altium Designer进行电子产品设计的过程中,经常需要对特定对象进行修改工作,这些特定对象往往有成百上千个,如果一个个进行手工修改,繁琐且费时费力。
Altium Designer提供强大的Query引擎帮助我们解决上述问题,Query 引擎采用专门的语言,按照一定的语法结构在Query对话框中输入后,可以帮助我们快速地找到成百上千个特定对象,并且可以结合Inspector工具进行批量修改。Query引擎另外一个重要应用领域是在Altium Designer电路设计和电路板设计中制定设计规则,一个准确,有效的设计规则可以帮助设计者更快更好地进行电子产品设计,减少出错。
Altium Designer Query引擎包罗万象,内容十分广泛,实际上囊括了设计中的所有对象。本文由于篇幅有限,只能抛砖引玉,分享几个在工作中比较常用的应用案例。
1 Altium Designer Query引擎简介
对于一般用户来说,Altium Designer Query引擎可以分成电路Query部分、电路板Query部分和元器件符号库Query部分。电路Query可以分成Fields(域), Μembership(会员),Object Type(对象类型)等三个部分。电路板Query可以分成Attribute (属性),Fields(域), Layer(层),Μembership(会员),Object Type(对象类型),Parameters(参数)等六个部分。元器件符号库Query部分不在本文讨论范围,所以就不多描述。实际上这些部分包括了电路设计和电路板设计中的所有对象。
2 Altium Designer Query引擎实际应用
2.1 在电路图中应用
2.1.1 电阻符号引脚改变长度
有的元器件库中的器件比如电阻符号引脚很长,这样会导致电路图绘制比较麻烦。我们可以用Query一次性把这些器件都找到,然后利用Inspector工具把这些器件长引脚改短。如图1所示是从笔者公司元器件库中拖出来的电阻,可以看到电阻引脚很长。
图1 从库取出电阻以及半导体器件
我们可以在Altium Sch Filter面板中输入如下语句:
InPart('R*') && PinLength ='30'
这句语句的意思是要查找所有标号是R开头的器件,并且引脚长度是30的,实际表示长度是300个密尔。
R*的意思是所有标号是R开头的器件,R后面的数字不限位数,可以是R1,也可以是R9999。如果在语句中输入的是R?,R后面的数字只能有一位,表示R0~R9。
PinLength表示电路符号的引脚长度。
点击Sch Filter面板中的Apply,可以在电路图中找到所有符合条件的电阻。
如图2所示,符合条件的器件会高亮显示,不符合条件的器件会变灰。
图2 查找到的电阻
接下去是修改,我们可以应用Sch Inspector把引脚长度参数改成15,这样可以一次性把符合条件的电阻引脚长度改短,如图3所示。
从图3可以看出,电阻的引脚已经被改短了,但是不符合条件的半导体开关管的引脚长度保持不变,因为半导体开关管的器件标号是Q开头的,不符合查询条件。
图3 引脚改短的电阻
2.1.2 把电路图的版本由F改成G
在电子产品设计中,我们经常需要修改电路图的版本号。对于有很多张电路图的设计项目,如果我们对每张电路图的版本号一张张进行手动修改,就会十分得繁琐。为了节省时间,这里我们可以采用Query进行批量修改。
首先我们需要把所有需要修改版本号的电路图都打开,并且把修改范围限定在所有打开的文件上。
然后我们在Altium Sch Filter面板中输入如下语句:
Font='Arial, 26'&&StringText='F'
这句话表示要查找字体是Arial, 字体大小是26,并且字符是'F'的所有文字。
查找到的版本'F', 如图4所示。
图4 查找版本号'F’
接下去是修改,我们可以应用Sch Inspector把'F'改成'G'。
由图5可见,电路图的版本号由'F'版本变成了'G'版本。
图5 所有电路图版本号一起修改成'G'
2.2 在电路板设计中应用
2.2.1 需要把顶层网络名为R_24VAC的布线改粗
在电路板设计中,我们经常需要把一些线路加粗,如果进行手动修改,那么就需要把这些布线一段段地打开属性对话框,然后修改每一段布线的宽度,整个操作十分繁琐和浪费时间。这里我们同样可以应用Altium Query功能进行批量修改。
我们可以在Altium Pcb Filter面板中输入如下语句:
InNet('R_24VAC') AND IsTrack AND OnTopLayer
这句话表示要查找网络名为R_24VAC的布线,并且该布线位于电路板顶层。
其中InNet('R_24VAC')表示名为R_24VAC的网络,IsTrack表示是布线,OnTopLayer表示位于顶层,并且这3个条件是与的关系。
点击APPLY就能找到位于电路板顶层的R_24VAC布线。
图6高亮显示的就是网络名为R_24VAC的顶层布线,可以看出这些高亮布线有的粗一点,有的细一点,高亮显示表示被查找到了。
图6 找到顶层R_24VAC的布线
找到了以后就很简单,可以直接在PCB Inspector中改成80密尔。
图7高亮显示的是网络名为R_24VAC的顶层布线改成了80密尔,这样我们就实现了一次性加粗位于顶层的R_24VAC多段布线。
图7 加粗后的布线
2.2.2 制定底层贴片元件和通孔元件距离的设计规则
Query的一个重要应用场合就是PCB 设计规则的制定,下面举一个例子来描述是如何运用Query制定设计规则的。
我们在双面板的设计中,经常需要在电路板正反面都贴上元器件,这就叫双面回流焊的工艺。为了保证双面回流焊的生产制造工艺,需要对底层贴片元件制定一个设计规则:底层贴片元件和通孔元器件焊盘的距离要保证>4毫米。
那么如何保证呢?一种方法是在设计的过程中,时刻注意保持4毫米的间距。但是更好的办法是制定一个设计规则让Altium在线规则检查时刻提醒设计者,有没有保证4毫米的间距。
我们可以这样制定这个设计规则:
第一步要找到所有的通孔焊盘。我们可以在Altium Designer 设计规则制定面板中输入如下语句:
Where The First Object Μatches: IsThurPin
这句语句的意思是要找到所有通孔元器件焊盘。
可以用Test Queries进行验证,当点击Apply, 图8显示示例电路板底层元件的所有通孔焊盘都找到了,因为其他焊盘都被反白隐藏。
图8 选中所有通孔焊盘
第二步要找到所有底层元器件的贴片焊盘,但是测试点除外,因为测试点不需要贴上元器件。
我们可以在Altium Designer 设计规则制定面板中输入如下语句:
Where The Second Object Μatches:IsSΜTPin AND NOT InComponent('TP*') AND OnBottomLayer
这句语句的意思是要找到所有位于底层的贴片焊盘,并且不属于元器件标号是TP开头的,因为TP*代表的是测试焊盘,测试焊盘也是属于贴片焊盘,如果不把测试焊盘排除出我们需要定位的范围,那么当测试焊盘和通孔焊盘之间距离小于4毫米时,就会导致误报错。
我们可以用Test Queries进行验证,当点击Apply,图9可见示例电路板的底层除测试点以外的所有贴片焊盘都找到了,同时其他器件焊盘都被反白隐藏了。
图9 找到底层除测试点以外的所有贴片焊盘
然后在规则中设置间距为4毫米即可。
规则设置好后,我们可以测试一下,打开在线DRC,当把一个贴片焊盘靠近通孔焊盘时,这个时候只要贴片焊盘和通孔焊盘间距小于4毫米(下图显示间距是3.797毫米,显然小于4毫米),Altium Designer在线设计规则检查就会自动变绿色报错,并且显示错误的原因。
图10显示说明设计规则已经制定成功了。
图10 设计规则测试
上述几个Query应用案例看似简单,但是十分实用,已经在实际工作中节省了大量时间。可见熟练掌握Query功能,不但可以帮助我们快速进行电路和电路板设计中的修改工作,减少重复劳动。还可以帮助我们制定好设计规则,一个有效设计规则可以大大减少产品设计中的出错概率。
3 结语
Altium Designer是一款功能强大的电子设计自动化软件,具有很多方便实用的功能,熟练掌握这些功能,可以极大地提高电子产品设计效率,减少不必要的重复劳动。希望大家努力研究Altium Designer,不断提高电子产品设计水平。