请选择 进入手机版 | 继续访问电脑版

环信

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: mmap uikit gcc
查看: 241|回复: 0

Protel 封装库的转化

[复制链接]

42

主题

68

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2015-10-3 16:04:07 | 显示全部楼层 |阅读模式
长期使用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的错误调用等不匹配现象的发生。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|环信 Glofty.com ( 粤ICP备15084637号 )

GMT+8, 2017-2-28 15:51 , Processed in 0.218947 second(s), 22 queries .

快速回复 返回顶部 返回列表