![Allegro公司授权中国代理商,24小时提供Allegro芯片的最新报价](http://www.algrel.com/images/Allegro-index.jpg)
![](http://www.algrel.com/images/news/news-5.jpg)
在PCB抄板、PCB在设计过程中,由于不同软件平台之间的数据或文件格式不同,平台或文件格式的转换来转换平台或文件格式。本文将从PROTEL到ALLEGRO转换技巧。
南皇电子专注于整合中国优质电子Allegro代理商国内领先的现货资源,提供合理的行业价格、战略备货、快速交付控制Allegro芯片供应商,轻松满足您的需求Allegro芯片采购需求.(http://www.algrel.com/)
1. Protel 原理图到Cadence Design Systems, Inc. Capture CIS
在Protel我们可以利用原理图的转换Protel DXP SP实现2的新功能。通过这个功能,我们可以直接实现它Protel将原理图转化为Capture CIS中。
在这里,我们只提出一些通过实践总结的注意事项。
1) Protel DXP在输出Capture DSN在文件中,没有输出包装信息Capture我们会看到所有元件PCB Footprint属性是空的。这就需要我们手工为元件添加封装信息,这也是整个转化过程中最耗时的工作。注意保持和添加包装信息Protel PCB设计中的包装一致性,Cadence限制封装命名。例如,电阻,在Protel中的封装为AXIAL0.4.在后面介绍的封装库转换中,将修改为AXIAL04,这是由于Cadence封装名称中不允许出现“.”;再比如DB9接头插件包装在Protel中为DB9RA/F,将会被改为DB9RAF。因此我们在Capture在向元件添加包装信息时,应考虑这些命名的变化。
2) 在转换过程中藏管脚或管脚号在转换过程中会丢失,需要在转换过程中丢失Capture添加使用库编辑的方法。电阻电容等离散器件通常容易丢失管脚号的设备。
3) 在层次化设计中,模块之间连接的总线需要在Capture命名。即使在Protel在父亲的设计中,这样的总线已经被命名了,还是要在Capture重新开始,以确保连接。
4) 对于包装中多个部件的设备,请注意修改其位数。例如,74ls00,在protel其中两扇门,位号为U8A,U8B。这些信息在转换过程中会丢失,需要重新添加。
基本注意以上几点,借助上述几点Protel DXP,我们就可以将Protel将原理图转化为Capture中。进一步推广,这也是现有的Protel转换原理图符号库Capture它提供了一种方式。
2. Protel 封装库的转化
长期使用Protel作PCB设计,我们总是积累一个巨大的实践测试Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头疼。在这里,我们将使用它Orcad Layout,和免费的Cadence工具Layout2allegro完成这项工作。
1) 在Protel中将PCB把封装放在空的地方PCB中将这一点PCB文件用Protel PCB 2.8 ASCII格式输出;
2) 使用Orcad Layout导入这个Protel PCB 2.8 ASCII文件;
3) 使用Layout2allegro将生成的Layout MAX文件转化为Allegro的BRD文件;
4) 接下来,我们使用它Allegro的Export功能将包装库和焊盘库输出Protel封装库到Allegro转化。
4. Protel PCB到Allegro的转化
有了前两步的基础,我们就可以了Protel PCB到Allegro转换。这个转换过程更准确地说是一个设计重现过程,我们将在Allegro中重现Protel PCB布局及布线。
1) 将第二步Capture生成的Allegro格式网表传输到Allegro BRD作为我们重现工作的起点;
2) 首先要重现设备布局。Protel中输出Place Pick该文件包含完整的设备位置、旋转角度和放置层信息。我们可以通过简单的手动修改将其转换为Allegro的Placement文件。在Allegro中导入这个Placement文件,我们可以得到布局。
3) 使用布线信息恢复Specctra首先,从Protel中输出包含布线信息Specctra DSN文件DSN文件要注意以下两点:
4) Protel中层命名与Allegro区别在于使用文本编辑器进行适当的修改,如Protel中顶层底层分别为Toplayer和Bottomlayer,而在Allegro这两层曾经被称为TOP和BOTTOM;
5) 注意在Specctra查看孔的定义并添加到中间Allegro在规则中allegro中定义过孔从Specctra可使用中输出布线信息session, wires, 和route建议使用文件route然后将布线信息导入我们并重现布局Allegro PCB中,就Allegro MicroSystems一级代理完成了我们的Protel PCB到Allegro BRD转化工作。
Protel到Allegro转化的方法
当今IT随着行业的快速发展,对硬件设备的要求越来越高。硬件设计师面临着如何设计高速高密度PCB难题。俗话说,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的原因PCB然后选择设计工具Cadence公司提供的高性能PCB EDA软件的原因。
但这种变化必然会带来这样或那样的问题。由于早期接触和使用,国内Protel有很多用户在选择Cadence高速PCB在解决方案的同时,他们都面临着如何处理手头Protel设计移植到Cadence PCB软件设计中的问题。
这个过程中遇到的问题大致可以分为两种:一是设计不是很复杂,设计师只想借助Cadence CCT强大的自动布线功能完成布线工作;第二,设计复杂。设计师需要使用信噪分析工具来模拟设计信噪,并设置线网的布线拓扑结构。
对于第一种情况,要做的转化工作相对简单,可以使用Protel或Cadence提供的Protel到CCT转换工具来完成这项工作。对于第二种情况,要做的工作比较复杂,下面简单介绍一下这种转换方法。
Cadence信噪分析工具的分析对象是Cadence Allegro的brd文件,而Allegro可读入符合其要求的第三方网表,Protel输出的Telexis网表格式满足Allegro对第三方网表的要求可以Protel文件注入Allegro。
请注意两点。首先,Allegro第三方网表在$PACKAGE段不允许有“.”;其次,在Protel中,我们用BasName[0:N]表示总线的形式,使用BasName[x]在总线中表示一个信号,Allegro第三方网表总线中信号的表示是Bas NameX,读者可以直接修改Protel输出的Telexis解决这些问题的方法。
Allegro在注入第三方网表时,还需要各类设备的设备描述文件Device.txt其格式如下:
Package: package type
Class: classtype
Pincount: total pinnumber
Pinused: ...
常用的是PACKAGE,CLASS,PINCOUNT这几项。PACKAGE描述了设备的包装,但是Allegro将网表注入网表时使用PACKAGE忽略设备描述文件中的这一项。CLASS确定设备分折,确定设备类型,Cadence将器件分为IC,IO,DISCRETE三类。PINCOUNT说明设备的管脚数量。对于大多数设备,Device.txt这三个项目就足够了。
我们可以使用第三方网表和设备描述文件Protel中原理图设计以网表的形式代入Cadence PCB在设计软件中,设计师可以使用它Cadence PCB高速高密度软件PCB完成自己的强大功能。
如果已经在Protel作了PCB布局工作,Allegro的script功能可以将Protcl中的布局在Allegro中重现。在Protel设计师可以输出一个Place Pick该文件包含每个设备的位置、旋转角度和位置PCB顶层或底层等信息可以通过本文件轻松生成Allegro的script文件,在Allegro中执行这个script就能够重现Protel中间的布局,以下是完成Place Pick文件到Allegro Script文件转化的C 代码,笔者用了这个代码,用了几分钟就把一个用户有800多个PCB板布局在Allegro重现出来。
FILE *fp1, *fp2;
::AfxMessageBox(hello);
fp1=fopen(pick.txt, rt);
if (fp1==NULL) ::AfxMessageBox(Can not open the file!!!);
fp2=fopen(place.txt,wt);
if (fp2==NULL) ::AfxMessageBox(Can not create the file!!!);
char refdes[5], Pattern[5];
float midx,midy,refx,refy,padx,pady,rotation;
char tb[1];
char tmp='';
fprintf(fp2,%sn, # Allegro script);
fprintf(fp2,%sn, version 13.6);
fprintf(fp2,%sn, place refdes);
while (!feof(fp1)) {
fscanf(fp1,%s, refdes);
fscanf(fp1,%s, Pattern);
fscanf(fp1,%f, midx);
fscanf(fp1,%f, midy);
fscanf(fp1,%f, refx);
fscanf(fp1,%f, refy);
fscanf(fp1,%f, padx);
fscanf(fp1,%f, pady);
fscanf(fp1,%s, tb);
fscanf(fp1,%f, rotation);
fprintf(fp2, fillin %c%s%c n,tmp,refdes,tmp);
if (rotation!=0) {
fprintf(fp2, rotaten);
fprintf(fp2, iangle %fn, rotation);
};
char yy=tb[0];
if (yy!='T') fprintf(fp2, pop mirrorn);
fprintf(fp2, pick %f %f n, padx,pady);
fprintf(fp2, next n);
};
fprintf(fp2, done);
fclose(fp1);
fclose(fp2);
3. 使用的工具
a) Protel DXP SP2
b) Cadence Design Systems, Inc. Capture CIS
c) Cadence Design Systems, Inc. Orcad Layout
d) Cadence Design Systems, Inc. Layout2allegro
e) Cadence Design Systems, Inc. Allegro
f) Cadence Design Systems, Inc. Specctra
![Allegro代理商-Allegro MicroSystems电机驱动芯片Allegro代理商](http://www.algrel.com/images/bot.jpg)