Altium Designer软件,姑且称为AD软件,自和PROTEL99合并之后,经过多次升级,有各种不同版本,在进行导入Allegro电路板PCB文件(后缀brd )时,会产生很多问题,导入不成功的情况有很多。
有时即使导入成功,也有好多问题,比如设计规则没有导入。AD的PCB文件(.PcbDoc)包含设计规则,Allegro文件(.brd)也应该包含设计规则,导入后不兼容。从导入后的PCB文件生成封装库,库里面的元件乱,不但包含元件的基本元素如Pad和Outline,还有很多不必要的东西,甚至还有布线和via。仍然需要整理。并且两个软件不同版本都会出现格式不兼容。
现在整理分享一些导入成功的经验技巧,给大家提供一些借鉴,不见得适合所有版本文件的导入,只是在AD15版本中导入的一些经验。
一,先从几个常见问答开始
先来回答一些常见的问题:
Q:安装了Altium Designer,就可以导入Allegro的PCB文件吗?
A:未必。如果是*.brd格式的PCB,则必须要在同一台电脑上安装Cadence套件才可以;如果是已经转换过的*.alg格式,则可以直接导入。
Q:没有安装Allegro可以导入brd文件吗?
A:不可以。不过可以在安装Cadence的电脑上先用extracta转换成alg格式的文件,再进行导入。
Q:导入器支持哪些Allegro的版本?
A:支持15.2及16.x,目前最新的AD19支持部分的17.2文件。
Q:转换的准确率如何?
A:90%左右。基本的器件、走线、网络一般都不会有问题,但对Polygon、异形焊盘及一些特殊对象会不太准确。记住,任何的格式转换都必然有不小的后续整理工作。
二,准备工作
正式转换前,还需要确认一下准备工作是否就绪。AD需要安装全功能版本的,确认如下图功能正常。
三,关于安装Cadence套件
导入的过程其实是分为两个步骤:
通过Cadence的extracta.exe工具将二进制的brd文件转换成ASCII格式的alg文件。
AD软件对alg文件进行解析并生成最终的pcbdoc文件。
由于extracta.exe是Cadence提供的工具,因此必须安装Cadence的套件。不要尝试只拷贝一个extracta.exe,这完全无效,因为extracta还会调用其他的dll,因此最省事儿的方法是直接安装一个Cadence的套件。
需要安装Cadence套件套件并不一定是专业版的Allegro,也可以是完全免费的版本,安装免费版的方法有几种,度娘哪里一般都能找到的。 安装完成后也不需要连接任何的License。目的就一个,装Cadence就是为了调用extracta的转换功能。
设置环境变量
为了确保Altium可以正确找到extracta工具,还需要设置两个环境变量。
右键“我的电脑”,在属性中找到“高级系统设置”,并点击“环境变量”:


如果此时弹出其它信息框,那肯定是有个问题,请确认Cadence套件是否安装,环境变量设置是否正确。
如果此步正常,对了恭喜你,基本上不会有问题了,一直NEXT即可。



五.清理工作
转换完成并不意味着万事大吉,还有许多清理工作需要做。
以下是建议的检查清单:
物理检查:
查看板子外形及切割槽的外形。前文中提到过,异形的焊盘在转换过程中可能发生错误。
器件的封装及尺寸是否完全一致
电气检查:
主要检查网络是否正确
规则检查:
是否所有规则都被正确导入?
DRC检查
检查Polgon的设置
热焊盘,是否直连
检查电源平面的设置
阻焊、助焊的规则
Via Tenting规则
测试点的分配
电源检查:
电源网络
电源平面
铺铜Polygon
文档检查:
层
字符串
图形标识等
PCB的报告
器件/网络的数量是否与原图一致
是否所有的网络都完成了连接
六.小结
掌握了关键的结点发现Allegro的PCB转成Altium也不是那么麻烦,且结果完全可以接受。问题是,既然Altium可以导入Allegro的PCB,那Allegro可以导入Altium的PCB吗?
答案是肯定!16.6版本后,Cadence为Allegro增加了一个"Altium to Allegro PCB Translator"。只要将AD的文件存成ASCII格式,就可以用这个转换器转成Allegro的brd文件。
唯一的问题是:Altium的ASCII文件是很多年前的版本,貌似从未进行更新(从保存时候的提示里可以看到)。这也就意味这新版本AD中支持的元素和功能在ASCII文件中并未体现,如果这些信息的记录发生了偏差,就有可能导致转换后的PCB文件出现偏差。当然,基本的器件、网络及导线连接应该是没有问题的(小编没有亲手验证,缺MONEY)。
另一个非常讨厌的事情是,Cadence的所有模块都要收钱,这个也不例外!乞丐版本的套件居然还没有这个转换器!虽然Cadence在很多专业的领域要强于Altium,但在模块收费这个环节能不能学学人家Altium:一个授权,全模块!退一步讲,能不能把一些常用的、好用的模块免费开放?