Protel封装库至Allegro的转化---网上找的解决方案,个人未解决,请实现的大侠指点下

2019-07-14 10:00发布

Protel封装库至Allegro的转化

我做的过程中出现的错误:pcb中,转换的footprint无法导入pcb。一开始以为是路径没设对,检查后没问题。结果是,footprint没有添加索引信息。打开封装, layout——lable----Assemble top 元件中心处放置ref layout——lable----Silkscreen top 第一引脚处放置ref 还出现pcb放置元件的时候,出现pins does not match(好像是这样的),检查footprint和原理图中的引脚数是否一致。(也有可能footprint 1A,2B.而在原理图中12,把1A,2B改为12.ok %%%%%%%%%%%%%%%%% Protel 封装库的转化:
长期使用ProtelPCB设计,我们总会积累一个庞大的经过实践检验的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 选择MilsDecimal places 输入0,表示使用单位为mil
小数点后没有小数,即为整数;
Layers标签页中,删除TopBottom之间除Default Internal层之外其他的所有层;调整顶层的Regular PadThermal Relief(比Regular Pad6Mil Anti Pad(比Regular Pad6Mil);Soldermask_Top层的Regular Pad(比TopRegular Pad6Mil);Pastemask_Top层的Regular Pad(同TopRegular Pad),确认其他不用层的数据为”Null”(对于表贴pad,只需要设置TopSoldermask_TopPastermask_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 选择MilsDecimal places 输入0,表示使用单位为mil,小数点后没有小数,即为整数;
Layers标签页中,删除TopBottom之间除Default Internal层之外其他的所有层;调整顶层的Regular PadThermal Relief(比Regular Pad10Mil Anti Pad(比Regular Pad10Mil);复制Top层信息并且Copy to all ,即可设定TopDefault InternalBottom3层;调整Soldermask_Top层的Regular Pad(比TopRegular Pad6Mil)并复制到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)
接下来,我们使用AllegroExport->libraries功能将封装库.dra.psm等,焊盘库.pad输出出来,再经过h)操作,将ref等加上就完成了Protel封装库到Allegro转化;
h) Protel
中的”Designator”转换为allegroComponents Ref DesSilkscreen_TopDisplay_Top2层;”Comment”转换为GeometryPart GeometrySilkscreen_TopDisplay_Top2层。此时将2”Designator”2”Comment”删除,并在Ref DesSilkscreen_Top层添加”REF”,在Device TypeSilkscreen_Top层添加”DEV”
i) File>Save as
按照元器件命名规则生成.dra文件并保存至allegro元件库目录下;
j) File>Create Symbol
生成.psm文件并保存至.dra的同一目录下。
至此Protel元器件导入Allegro的过程全部结束,在allegro里面可以对新生成的库文件进行调用。在Allegro中通过.pad文件组织.dra文件,通过.dra文件生成.psm等文件后才能
对元器件进行调用,所以在元件的使用过程中要注意各个部分的对应关系避免出现.pad的错误调用等不匹配现象的发生。