Protel封装库至Allegro的转化---网上找的解决方案,个人未解决,请实现的大侠指点下
2019-07-14 10:00发布
生成海报
我做的过程中出现的错误:pcb中,转换的footprint无法导入pcb。一开始以为是路径没设对,检查后没问题。结果是,footprint没有添加索引信息。打开封装,
layout——lable----Assemble top 元件中心处放置ref。
layout——lable----Silkscreen top 第一引脚处放置ref
还出现pcb放置元件的时候,出现pins does not match(好像是这样的),检查footprint和原理图中的引脚数是否一致。(也有可能footprint中 1A,2B.而在原理图中1,2,把1A,2B改为1,2.就ok)
%%%%%%%%%%%%%%%%%
Protel 封装库的转化:
长期使用Protel作PCB设计,我们总会积累一个庞大的经过实践检验的Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头痛。这里,我们将使用Orcad Layout,和Layout2allegro来完成这项工作。步骤如下a)~i):
a) 在Protel中将PCB封装放置(可以一次将所有需要转换的全部放置上来)到一张空的PCB中,并将这个PCB文件用Protel PCB 2.8 ASCII的格式导出(export);
b) 使用Orcad Layout导入(import)这个Protel PCB 2.8 ASCII文件并保存(.max);
c) 使用Layout2allegro将生成的Layout .max文件转化为Allegro的.brd文件;
d) 在Allegro里新生成的.brd文件打开,选择顶层菜单的Tools>Padstack>Modify Design Padstack,此时会在Options标签页里面看见当前pad的名称和数量(从24.pad开始逐一增加)。逐一选择一种,点选”Edit”,激活Padstack Designer对选中的.pad进行编辑。
e) 对于表贴pad,首先查看Layers标签页,检查此Pad是否已经存在库中或可以用库中已经存在的.pad替换(差别在1/10以内即可考虑),如果不能那么:
① Parameters标签页中Type选项由”Blind/Buried”改为”Single项”;
② Unit 部份:Units 选择Mils,Decimal places 输入0,表示使用单位为mil,
小数点后没有小数,即为整数;
③ Layers标签页中,删除Top~Bottom之间除Default Internal层之外其他的所有层;调整顶层的Regular Pad、Thermal Relief(比Regular Pad大6Mil) 、Anti Pad(比Regular Pad大6Mil);Soldermask_Top层的Regular Pad(比Top层Regular Pad大6Mil);Pastemask_Top层的Regular Pad(同Top层Regular Pad),确认其他不用层的数据为”Null”;(对于表贴pad,只需要设置Top、Soldermask_Top和Pastermask_Top三层即可)
④ 按照.pad文件的命名格式对新建立的这个pad进行保存,保存在环境变量里设置的allegro识别的路径内;
⑤ 选择顶层菜单的Tools> Padstack>Replace,点选刚刚修改的Pad,此时在Options标签页的Old选项里面里会出现未改之前的Pad名称;再点击New选项后面的按钮,选择新建立的Pad,最后点击下方的Replace按钮,完成对此Pad的更新。
对于过孔的pad,首先查看Layers标签页,检查此Pad是否已经存在库中或可以用库中已经存在的.pad替换(差别在1/10以内即可考虑),如果不能那么:
① 确认Parameters标签页中Type选项为”Through”(或者定义为”Blind/Buried”视设计需要而定);
② Unit 部份:Units 选择Mils,Decimal places 输入0,表示使用单位为mil,小数点后没有小数,即为整数;
③ Layers标签页中,删除Top~Bottom之间除Default Internal层之外其他的所有层;调整顶层的Regular Pad、Thermal Relief(比Regular Pad大10Mil) 、Anti Pad(比Regular Pad大10Mil);复制Top层信息并且Copy to all ,即可设定Top、Default Internal和Bottom这3层;调整Soldermask_Top层的Regular Pad(比Top层Regular Pad大6Mil)并复制到Soldermask_Bottom层;(对于过孔pad,不需要设置Pastermask_Top层)
④ 按照.pad文件的命名格式对新建立的这个pad进行保存,保存在环境变量里面设置的allegro识别的路径内;
⑤ 选择顶层菜单的Tools> Padstack>Replace,点选刚刚修改的Pad,此时在Options标签页的Old选项里面里会出现未改之前的Pad名称;再点击New选项后面的按钮,选择新建立的Pad,最后点击下方的Replace按钮,完成对此Pad的更新。
f) 按照上面(e)项的方式将所有pad替换完成;
注:由于allegro每生成一次库文件的时候,其.pad文件的名称都是从24.pad开始依次增加直至所有的pad输出完毕。如果进行2次或多次库文件生成操作,后面的操作产生的.pad文件(从24.pad开始的)会覆盖前面的.pad文件从而导致在调用前面生成的库文件.dra时出现焊盘被更换的情况,所以在导出之后需要从.dra文件中重新建立.pad文件并将.dra中的pad用新生成的.pad文件replace才能保证库的正确使用!
g) 接下来,我们使用Allegro的Export->libraries功能将封装库.dra、.psm等,焊盘库.pad输出出来,再经过h)操作,将ref等加上就完成了Protel封装库到Allegro转化;
h) Protel中的”Designator”转换为allegro里Components 下Ref Des的Silkscreen_Top和Display_Top这2层;”Comment”转换为Geometry下Part Geometry的Silkscreen_Top和Display_Top这2层。此时将2个”Designator”与2个”Comment”删除,并在Ref Des的Silkscreen_Top层添加”REF”,在Device Type的Silkscreen_Top层添加”DEV”;
i) File>Save as按照元器件命名规则生成.dra文件并保存至allegro元件库目录下;
j) File>Create Symbol生成.psm文件并保存至.dra的同一目录下。
至此Protel元器件导入Allegro的过程全部结束,在allegro里面可以对新生成的库文件进行调用。在Allegro中通过.pad文件组织.dra文件,通过.dra文件生成.psm等文件后才能
对元器件进行调用,所以在元件的使用过程中要注意各个部分的对应关系避免出现.pad的错误调用等不匹配现象的发生。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮