EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 nuiga 于 2021-9-6 10:49 编辑
3 U5 Z3 p e' i: S; ]: m; x* @- z' x( c# N# f# T5 j
长期使用protel作PCB设计,我们总会积累一个庞大的经过实践检验的Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头痛。这里,我们将使用orcad Layout,和Layout2allegro来完成这项工作。步骤如下a)~i): 在Protel中将PCB封装放置(可以一次将所有需要转换的全部放置上来)到一张空的PCB中,并将这个PCB文件用Protel PCB 2.8 ASCII的格式导出(export);
( E% `, w" G; [: G6 P/ jb) 使用Orcad Layout导入(import)这个Protel PCB 2.8 ASCII文件并保存(.max);
% E# }, |1 i% zc) 使用Layout2allegro将生成的Layout .max文件转化为Allegro的.brd文件;0 X/ }- G, @6 h8 f
d) 在Allegro里新生成的.brd文件打开,选择顶层菜单的Tools>padstack>Modify Design Padstack,此时会在OpTIons标签页里面看见当前pad的名称和数量(从24.pad开始逐一增加)。逐一选择一种,点选”Edit”,激活Padstack Designer对选中的.pad进行编辑。
3 d0 P! s4 @9 E) v" |e) 对于表贴pad,首先查看Layers标签页,检查此Pad是否已经存在库中或可以用库中已经存在的.pad替换(差别在1/10以内即可考虑),如果不能那么:
! P( H, s' V5 Q3 x, H0 `① Parameters标签页中Type选项由”Blind/Buried”改为”Single项”;" c0 K0 X, M# j3 l3 {6 i
② Unit 部份:Units 选择Mils,Decimal places 输入0,表示使用单位为mil,
3 p* m% f5 X1 i ?: C小数点后没有小数,即为整数;
O) f" n0 a7 O) f& }③ 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三层即可)/ `& g6 ?: P. S, z* g1 u
④ 按照.pad文件的命名格式对新建立的这个pad进行保存,保存在环境变量里设置的allegro识别的路径内;
5 G8 d, i& Q3 F⑤ 选择顶层菜单的Tools> Padstack>Replace,点选刚刚修改的Pad,此时在OpTIons标签页的Old选项里面里会出现未改之前的Pad名称;再点击New选项后面的按钮,选择新建立的Pad,最后点击下方的Replace按钮,完成对此Pad的更新。4 E! _3 w# s1 B/ I7 K
对于过孔的pad,首先查看Layers标签页,检查此Pad是否已经存在库中或可以用库中已经存在的.pad替换(差别在1/10以内即可考虑),如果不能那么: [color=rgb(51, 51, 51) !important]① 确认Parameters标签页中Type选项为”Through”(或者定义为”Blind/Buried”视设计需要而定); [color=rgb(51, 51, 51) !important]② Unit 部份:Units 选择Mils,Decimal places 输入0,表示使用单位为mil,小数点后没有小数,即为整数;
5 w7 E% V" q9 t- ]7 u6 a% E③ 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层)( }+ ^; O8 H8 H# m) c6 m" J
④ 按照.pad文件的命名格式对新建立的这个pad进行保存,保存在环境变量里面设置的allegro识别的路径内;
* X5 y+ D% D7 s3 F; h$ Y* b⑤ 选择顶层菜单的Tools> Padstack>Replace,点选刚刚修改的Pad,此时在Options标签页的Old选项里面里会出现未改之前的Pad名称;再点击New选项后面的按钮,选择新建立的Pad,最后点击下方的Replace按钮,完成对此Pad的更新。
; e& ]7 j% ]# b1 \: F( Rf) 按照上面(e)项的方式将所有pad替换完成;9 ^/ b, ?0 B5 t
注:由于allegro每生成一次库文件的时候,其.pad文件的名称都是从24.pad开始依次增加直至所有的pad输出完毕。如果进行2次或多次库文件生成操作,后面的操作产生的.pad文件(从24.pad开始的)会覆盖前面的.pad文件从而导致在调用前面生成的库文件.dra时出现焊盘被更换的情况,所以在导出之后需要从.dra文件中重新建立.pad文件并将.dra中的pad用新生成的.pad文件replace才能保证库的正确使用!
$ y! M' S* `7 W/ U6 vg) 接下来,我们使用Allegro的Export->libraries功能将封装库.dra、.psm等,焊盘库.pad输出出来,再经过h)操作,将ref等加上就完成了Protel封装库到Allegro转化;
. W, S2 @+ X/ b8 }& ah) 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”;9 ]0 S8 c0 f1 @7 R& l& M! X8 y7 K% r
i) File>Save as按照元器件命名规则生成.dra文件并保存至allegro元件库目录下;
) G- {$ w. C' d. P; P% Uj) File>Create Symbol生成.psm文件并保存至.dra的同一目录下。
6 F+ Q5 T W7 E7 N) G至此Protel元器件导入Allegro的过程全部结束,在allegro里面可以对新生成的库文件进行调用。在Allegro中通过.pad文件组织.dra文件,通过.dra文件生成.psm等文件后才能 对元器件进行调用,所以在元件的使用过程中要注意各个部分的对应关系避免出现.pad的错误调用等不匹配现象的发生。
+ ]! e; E3 b% r ?, Y |