摘要:从网络表定义的功能及装载网络表和元件的方法出发,归纳了网络表装载过程中经常出现的五种网络宏错误:未定义元件封装形式、PCB封装定义的名称不存在、没有找到元件、没有找到节点、网络已经存在,分析出错的可能原因并给出了解决方法。
关键词:装载网络表和元件;网络宏错误;错误原因;解决方法
0 引言
ProteI设计系统是世界上第一套将EDA技术导入Windows环境的EDA开发工具,它功能强大,界面友好,是当今最流行、最畅销的EDA(电子设计自动化)软件之一。一般来说,使用Protel软件进行电路板设计需要经过原理图设计(电路仿真)、生成网络表、规划PCB板、装入网络表、元件布局、元件布线等步骤。在载入网络表生成网络宏以及编辑网络宏时,常会出现一些网络宏错误,从而造成载入失败。如不解决这些错误,相应的宏操作则根本无法正常进行,这给后面PCB设计带来很多问题,导致设计工作无法顺利进行。本文主要阐述装入网络表和元件的两种方法及网络表载入时出现的各种典型错误信息产生的原因和解决的办法。
1 网络表定义及功能
网络表是设计电路板过程中所需的非常重要的文件,它是电路原理图设计和PCB板设计之间的桥梁,是生成PCB文件的灵魂。网络表顾名思义就是原理图中各元件之间的电气连接定义,是从图形化的原理图中提炼出来的元件网络连接的文字表达式。通过网络表的传递,在PCB板图中可以自动得到与原理图中完全相同的各元件之间的连接定义。
Protel软件可以产生几种格式的网络表来适应不同PCB设计工具。Protel原理图产生的以.net为后缀的网络表文件由两部分组成:第一部分:元件信息,描述原理图中元件的三大属性,元件的描述信息都在方括号中,第一行是元件标号,通常各类不同的元件由不同的字母开头。如R开头表示电阻,C开头的表示电容;第二行是该元件在PCB板中的封装形式;第三行是该元件的型号。对元件自身属性的描述,不同类型元件在元件型号中的表明方式不同,可以根据需要指出有效值的大小,也可以指出其芯片类型。如典型的Protel格式描述元件信息:
[ 元件定义开始
C1 元件标号
RB.2/.4 元件封装
22 元件注释、型号
] 元件定义结束
第二部分:元件连接信息,包含原理图中所有电气连接网络。网络信息都在圆括号中,其中第一行是网络名称,如果在原理图中的连线上定义了网络标号,则在网络表中以网络标号命名此网络,如果没有定义网络标号,则在生成网络表时由软件按顺序指定名称;第二行及后面各行是网络中的节点信息,节点信息包括元件标号和管脚序号,如U3—13指的是标号为U3元件的第13个引脚。在同一网络中的所有元件管脚均相连,即网络名可以为网络内任意管脚定义。典型的Protel格式元浸连接描述信息:
( 网络定义开始
NetCl_l 网络名称
Cl_l 元器件标号及管脚号
Q2_2 元器件标号及管脚号
R3_2 元器件标号及管脚号
) 网络定义结束
显然,这是以元件C1的l管脚命名的网络连接表NetCl_1,连接表中表示Cl的l管脚、Q2的2管脚、R3的2管脚是连接在一起的。
编辑好的网络表,在装载网络表之前,必须仔细检查两个地方:一、元件标号要避免重复;二、元件封装是否存在,以及封装信息是否正确、适合。
2 装入网络表与元件
网络表与元件的装入过程实际上就是将原理图设计的数据装入印刷电路板的设计系统PCB的过程,这个过程可以通过两种方法来实现。方法一:利用同步器从原理图文件中直接装入网络表和元件,必须先在原理图所在的同一个设计数据库中创建一个PEB文件,并预先装入所需的全部PCB元件库。方法二:利用网络表文件装入网络表和元件。PCB设计系统中数据的所有变化,都可以通过网络宏来完成。网络宏列表包括三列属性:N0列(用于显示转化网络表的步骤编号);Action列(用于显示转化网络表时将要执行的操作内容);Error列(用于显示转化网络表中出现的错误)。
在PCB制作中装入网络表时常常会由于各种原因产生错误,而软件本身提供的错误信息太过简单,往往只是简单的一句英文提示,让人理解不透,这给后面PCB设计带来很多问题,导致设计工作无法顺利进行。下面将从显示的各种典型宏错误,分析错误的可能原因,并给出相应的解决方案。
3 常见的网络宏出错信息、原因及处理方式
3.1 在原理图中未定义元件封装形式
错误描述:Footprint not found in Library
错误原因:(1)在电路原理图中,元件没有指定封装形式;(2)在PCB编辑器中没有添加含有所需封装元件的元件库;
处理方式:(1)打开网络表文件查看哪些元件未定义封装,并直接在网络表中对该元件增加封装,或者在原理图中找到相应的元件,双击该元件,在弹出的属性对话框中的Footprint栏中填入相应的元件封装;(2)在PCB编辑器中,执行菜单命令Design/Add/Remove Library…,在弹出的对话框中,指定所需的PCB元件库,将它添加到当前的PCB编辑器中。
3.2 PCB封装定义的名称不存在
错误描述:Footprint××not found in Librarv
错误原因:(1)PCB元件库中没有对应元件的封装图。如PCB Footprint.Lib中就没有小型发光二极管LED可用的元件封装;(2)原理图中将元件的封装形式写错了。如将极性电容Electrol的封装形式写作“RB0.2/0.4”。
处理方式:(1)编辑PCB Footprint.Lib文件,创建LED的元件封装,然后执行更新PCB命令;(2)返回原理图,仔细核对原理图中元件封装名称是否和PCB元件库中的名称一致。
3.3 没有找到元件
错误描述:Component not found
错误原因:Advpcb.ddb文件包内的PCB Footprint.Lib文件中包含了绝大多数元件封装,但如果原理图中某个元件封装形式特殊,PCB Footprint.Lib文件库找不到,需装入非常用元件封装库。
处理方式:在设计文件管理器窗口内,单击PCB文件图标,进入PCB编辑状态,通过“Add/Remove”命令装入相应元件封装库。
3.4 没有找到结点
错误描述:Node not found
误原因:(1)指定网络中多了并不存在的节点;(2)元件管脚名称和PCB库中封装的管脚名称不同;(3)原理图中给定的元件封装和对应的PCB封装名称不同。
处理方式:对于(1)、(3)可回到原理图中删除多余节点、将原理图中的元件封装修改成和对应的PCB封装名称一致。对于(2)由于原理图中元件库定义的元件管脚名称与PCB封装定义的管脚名称不同,导致装入错误。回到原理图库中重新编辑元件的封装,使元件管脚数与PCB中封装管脚数、管脚名一致或者直接编辑PCB库中元件的管脚名称,使之与原理图中一致;如Miscellaneous Devices.1ib库中的二极管和三极管,其管脚的定义与PCB库中相应封装的管脚的定义不一致而导致出错。如二极管中管脚定义为:A、K,若使用PCB通用库PCB Footpdnts.1ib封装Diode0.4、Diode0.7,而封装焊盘号定义却为:1、2,所以装入此元件时就会发生二极管连接关系丢失现象。解决办法:修改原理图库的管脚号或PCB库中的元件的焊盘号,使之相互对应。
3.5 网络已经存在
错误描述:Net already exists
错误原因:(1)某个宏操作试图添加的网络名与PCB网络表中已有的网络名重名;(2)原理图中隐藏的管脚信息网络点和其他网络点命名重复。
处理方式:对于(1)可打开原理图文件,对照原理图修改重复的网络名或删除多余的网络名;针对(2),可打开原理图文件,找到出错的网络连接点,然后打开元件属性对话框,选中其中的Hidden Pin,这时可观察到隐藏元件管脚信息网络点,然后调整与之相同的网络连接点,使其属于不同的节点即可。
4 结束语
网络表装入错误经常发生,主要是封装错误。发现错误后,应先浏览,在了解其发生的原因后才能迅速找到问题,错误的排除应抓住根源,这样才能快速有效的解决问题。同时需要在设计原理图和编辑PCB元件库时尽量规范、细心,以减少错误发生。