一个电路设计:从原理图到 PCB 板的绘制基于 orcad(备忘)
 
(原理图中的如何搜索放置元器件和连接元器件和应用全局的电源网络,生成材料清单)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

PCB图中如何制定板子的需要比如线宽和spacing,指定模板)

 

原理图如下图所示:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

这是一个基本的电路:

 

包括一个有源的元件(运放)和几个无源的元器件(比如电阻和电容),一个插座提供双电源和信号的输入输出的接口。直插元件包括连接器和供电滤波电容,贴片元件包括放大器,旁路电容以及增益电阻。
当根据实际要求设计电路之后,最好制作一个元器件清单,包括连接器(插针插座),在常用的元器件目录中找到你常用的喜欢的元件并且下载元器件数据手册,然后存放到一个专用的文件夹中。
有必要建立一个表格来记录详细的元器件名称(实际中能够买到的,没有停产的)和对应的封装,当PCB板生产出来的时候,你买到的元器件能够对应的上。在整个设计过程中你可以添加或者修改一些信息文档比如元器件的供电电压功耗等等特殊的要求。当在调试的过程中如果出现错误,你就可以很快的知道是那些地方出现了错误。下图是这个电路用到的
元器件清单:
这些都做好之后,就可以开始原理图的绘制:
首先建立一个工程(怎样建立一个工程,工程的设置),然后绘制原理图:
选中PC Board Wizard 这个选项。选项Analog or Mixed A/D 用来建立PSpice仿真工程的。
然后选择一个合适的地方存储你的工程。在下一步中不要选择enable project simulation。然后点击NEXT.
然后在下一步中,添加CONNECTOR,DIscrete,和OPAmp元件库。

 

在放置元件之前,需要先将place grid 选中(选中了就是灰色的,如果不选中的话,放置的元件将会不能连上wire,因为元件的管脚没有放置在grid上,但是wire一般都是根据grid进行连接的)。然后是放置元件,放置元件,需要到库中寻找。
就需要对绘图的软件的库文件有一些了解(库文件的特点以及分布特点)。当放置某些元器件的时候,如果没有,还需要自己根据datasheet建立自己的库文件(怎样建立库文件)。
原理图的最终效果图如下:
有源元件一般都有电源引脚也是接电源的那个供电的引脚一般是VCC之类的,这些引脚有几种情况,比如:这个引脚(Pin)定义的类型为power类型,但是这个Pin是隐藏的,不可见的,或者是一个power类型的,但是可见的。或者是这个Pin的类型是(passive或者input等),一般是可见的。可见的意思是说这个Pin对于连接导线的工具(wire)来说说可见的,并不是针对的用户,不过一般情况下,一个不可见的Pin对于用户来说一般也是不可见的。对于数字元件来说,一般是不可见的power类型的引脚。但是对于模拟器件,尤其是放大器,通常一个引脚要么是可见的power类型的引脚,要么是可见的非power类型的引脚。
       如果一个元件的供电引脚是一个power类型的引脚而且是不可见的,你不能直接的将它连接到一个wirenet)上。
一个不可见的power类型的pin是一个net而且是全局的。可以通过取相同的名字将一个元件的power类型的pin连接到一个power symbol。为了建立连接你需要在原理图上放置一个power symbol (全局的)。Power Symbol 一直是可见的并且wired 到一个板子接口的插座上(connect)上,或者是一个仿真的供电电源上(PSpice power)。可以修改power pin的名称或者power symbol的名称,使它们属于同一个网络
如果一个供电引脚是power类型的pin ,而且是可见的,可以直接的用wires 连接上,也可以应用power类型的pin的全局的属性应用power symbols 。如果应用全局特性名字应该一样,如果是直接连接就不用考虑名字的改变了。如果你应用一个有多个part的封装的时(比如一个有四个放大器,共享powerpin ),所有在放置在原理图中的属于这个封装中的part,必须让他们的电源供电引脚以相同的方式连接。要么都是全局的,要么全都是通过wire连接的。
如果一个元件的供电引脚不是一个power类型的引脚(pin),你必须应用一个wire去连接那个pin到其他的物体,比如一个power symbol 或者一个板子的接口(connect)。如果一个放置了多于一个part从一个有多个part的封装中(而且这个封装的供电引脚不是power类型的),只需其中一个part 的供电引脚连接,(当然你也可以将所有的供电引脚都连上),
(通过看第七章了解一下更多关于pin类型的信息)
Zero-length power pins line-length power pins 对于wire都是可见的,但是对于用户来说zero-length pins 是不可见的。
放置power symbol(比如vccgnd等等)。他就是常见的电路中的各种电源符号。
当在原理图上修改一个元件的封装的时候(也可以对一个元件的单个的引脚进行单独的操作),design cache part library 之间的连接就被打破了,在本章的最后详细的讲述细节在管理design cache方面。(关于design cacheCleanup cache 移除从design cache 移除不用的元件。)。
PCB设计做好准备:
当所有的元件之间的连接都完成之后,下一步就是准备制作一个LAYOUT netlist了。

 

(1)       保证所有的元件的封装都安排上了
(2)       给相关的元件分组
(3)       执行一次annotation
(4)       清除design cache
(5)       在原理图中执行一次DRC
(6)       生成网络表
Grouping related Components

可以将同一部分的电路(比如运放和他的引脚上的那个滤波电容)作为一个组(group),这样生成网络表的时候,导入PCB,可以使在PCB中放置元件更加的容易,分组号信息将在原理图中安排并且导入到Layout中去。
执行annotate,通过软件制动对元件设置标号。
并且为每个元件指定PCB封装。
绘制完毕原理图的时候,执行一次原理图的DRC检查,看一下你的设计上并不是遵守设计规则。如果没有错误,就生成网络表netlist
不要关闭原理图工程,以便原理图与PCB图之间进行交流。
然后开始进行PCB板的设计:
首先要分析一下板子的需求,根据设计中用到的元件的类型(封装和安装类型),得出板层的层数,走线的宽度和布线的间隔的需要。
设计中用到了贴片和直插元件还有8个脚的SOIC元件。设计的需要在下图中列了出来。
这个图显示了板子的主要需求。
以为至少需要两个电源和一个ground电源层,而且至少需要两个布线层。(除非跳线),那就需要5层了,因为大多数的多层板是由双层板的内核叠加而成,所以只可能得到偶数成的多层板。我们可以应用那个多出来的层作为一个额外的ground电源层,有很多的电源层的堆叠方法,(第6章中有介绍)。下图为设计的板层叠加图,这样可以表明两个不同的方法来定义电源层。(一般的PCB的设计时候的板子的层的分配情况)

 

走线的宽度决定于两个设计限制,(走线的宽度与电流的大小以及本身的阻抗的关系)第一个是需要的电流大小,第二个是走线的阻抗。通过datasheet我们可以知道,UA741的短路输出电流为40ma,为安全,设置为100Ma 应用阻抗为1欧姆的铜板作为板层,通过第六章中的方程17或者第六章中的图表,最小的走线宽度是1.3mils对于inner layers 0.5mils 对于outer layers 。所有的工艺图在9-4中,都比6mils要宽可以应用任意的工艺图。
在第6章中你将会看到6mil的走线可以通过大约300ma的电流在内部的走线中,和大约600ma的电流在外部的traces上。
在这个例子中,我们指定所有的信号都是非常低的频率(小于20khz)。所以走线的阻抗是不用考虑了。
决定走线间的间隔
那个运放需要双电源供电,可以高达正负15v(输入输出信号必须在这个范围之间),那么两个走线之间最大的压差就是30v,所以走线的空间间隔必须能够达到这个要求。如果为了安全起见,要用31—50v的标准,而且还要用到soldermask(阻焊剂),通过第6章的6-8,走线的空间间隔必须是4mil在内部层上,5mils 在外部层上。
当你第一次打开一个设计的时候,Layout将会问你需要那个技术工艺文件,工艺图定义了板子的结构,并且设置了板子对于走线宽度,布线空间的要求(比如走线与走线之间,走线与焊盘之间),默认的gridspadstack,默认的颜色等等。一个完整的技术文档默认值设置以及特性在附录a中有介绍。

 

导入网络表到layout中去,
Zoom all
设置板子并且制作一个板子的outline

在布板子之前第一个步骤就是制作板子的outline和添加安装孔,这样板子的范围可以知道。首先要关闭DRC box 通过切换Online  DRC DRC的作用)按钮,然后画一个板子的外框。
选择Board outline 绘制Board outline的方法)在 Global layer上。从00开始向左在向上在向右,在向下。
Board outline 占据很多种obstacleobstacle的作用及其分类用法)的属性,包括place outlinesroute keep-outs,和anti-copper。这个board outline可以提醒你当元件或者走线离板子的边沿太近了。它同时还可以移除铺铜从电源层,这样导体就不会暴露在板子的边沿上了。移除的多少由outline的宽度决定。
添加安装孔,

下一步就是在板子上安装装配孔。这个必须在把任何元件移入board outline中之前完成。安装装配孔的时候,(AUTOECO的作用)要选中Not in Netlist ,防止这个安装孔被移除当运行ANTOECO的时候,可以将一个装配孔与其他的所有的层中的copper孤立起来,如果它是一个镀金属的安装孔,可以将它连接到一个网络上。(比如grounp plane)。具体的方法是:选中PIN tool ,然后ctrl+left click那个安装孔(padstack),右击,然后选择properties显示modify connectioons。(安装孔或者 pin或者 via都属于焊盘)。
选择你想附加到的net或者plane
安装孔在layout中,默认的都是plated的。要想制作一个nonplated的,就要切换PIN TOOL ,然后选择安装孔中的padstack(用ctrl+left-click),切换到VIEW SPREADSHEET
然后右击选中PROPERTIES .选择NON-PLATED选项。
需要用一个单独的drill file 叫做 thruhole.nptplated througth-holes被改为thruhole.tap),NONPLATED HOLES 在板子制作的最后阶段进行加工,在最后阶段没有plating 工序了。
看第8章,找到其他的设计安装孔的方法,索引E是一些标准的机器screwdrill 孔的sizes
添加尺寸标度,(不同的对象在不同的层上,整理一下)

可以将尺寸标度作为文档使用,也可以作为暂时的标度,指导你去标记安装孔的位置,和连接。尺寸可以放在assembly或者comment layers上。(比如NOTES LAYER)。当对当前的布局满意的时候。可以删除掉文档层或临时的尺寸标注。
添加尺寸标注需要三个过程,分别是tools—Dismension ---指定snap setting --------指定尺寸的类型----放置尺寸。
gridtype都设置了,你不必在去设置了。Absolute dismension 或者 relative dismension。当尺寸标注完成的时候,line 变成一个简单的obstacle,距离数字变成一个简单的文本text,你可以移动他们,当时不会有任何的改变。
放置parts

放置元件布局是一个布局艺术和布局科学。你的板子的最终布局,决定了你以后的板子的机械性能和电器性能。机械性能包括以后的手工的装配和焊接。以及板子的物理大小,形状,等等,电器 性能包括信号的流动,热量控制,信号完整性,电磁兼容。通常情况下,这些因素都很重要,而且有时候相互的矛盾。这些在第456章中都有详细的解释。
刚开始的时候,元件都被放置在原点的左边。第一步是去寻找某个元件,然后将它放到board outline中。有一些好的方法,帮助你在移动的过程中,使画面看起来更加的简洁。
首先是先关闭装配层(layers)(AST ASB),然后是关闭nest(飞线)。

关闭装配层(layers)的方法是选中AST层,点击“—”键,将这个层关闭。如果你想打开这个层,你可以在按一次“—”或者直接选中AST层在layers list中,
有两中方法去关闭飞线,第一种是去切换RECONNECT button 这样只是将nets变得不可见了。可以通过切换spreadsheets选择Nets。使某些nets能与不能。
在放置元件之前最好先调整放置格点,option---system setting ,改变 place grid xy
50 mil 或者(25 mils 看一下IPC的建议)。
你可以手工的选择一个元件,左击远近,移动鼠标,然后在合适的位置再左击,或者同“R”快捷键,使他旋转,或者按下“T”快捷键,将元件放在板子的另一面。
也可以通过Find/GO命令。
也可以将一个元件的snapcursor,显示一个
选择元件的方法,

先选中电源网络,其他的网络都取消了(暂时不用使能了),将放大器的电阻放在放大器周围这样能够使信号流的更远。

当元器件放到预期的位置之后可以用,text 工具将(U1,J1)等等放置到合适的位置。

便于阅读,

在进行设置layers和布线之前,先进性一下DRC检查。看一下有没有大的错误。

 

在大型的电路中,找到特定的nets是个不小的挑战。可以通过原理图与layout的交互,进行nets的选择,快速选择。

设置layers,将netslayers联系起来。

一旦将元器件放置完毕,第二部就是进行layers的设置了。这个设计我们需要六层---两个电源层,两个地层,两个布线层。

有两种方法添加电源层。一种方法就是转变一个布线层到一个电源层中去。通过一个当前的电源层生成一个新的电源层。层的名字没有必要和nets的网络相同,但是相同了会很方便。

只用改变一下层的类型就行了,不要改变层的NICKNAME.层的nickname 和一个模板文件有联系。

用第二种方法添加一个GND plane

下一步是要安排他们各自的电源与地的网络到相应的电源层中去。

指定vias fanouts。你可以指定那个via用来fanouts,那个via用来为特定的nets

欲布线板子

    

powerground nets布线

将其他的nets disable。将powerground nets 到他们指定的planes中去。

每一个连接到plane layerspin 将会有一个thermal relief 包围着这个,贴片元件没有说因为它没有路径到planes中去,下一步就是提供路径到plans

FANNING OUT POWER AND GROUND

       一般情况下,建议将powerground分开来fannout一般是groundfanout。可以通过自动的fanout,但是power可能需要手工的fanout

可以改变一个nets的颜色。来改变一个thermals的颜色。

手工的布线的fanout

Lock traces

要想使一个nets被布线可以将其disable,防止一个traceunrouted,可以lock一个trace

在板子自动的布线之前,执行一次DRC检查。

在电源层上的Pads实际上是clearances

自动的布线

powerground连接和其他的关键的走线已经欲布置好了之后,所有的错误都被排除了。你可以自动布线来布剩下的板子。在自动布线之前一定要记得去disablelock groundpower nets ,并且使能signal nets 利用NETS Spreadsheet

控制那个route box 自动布线与DRCbox的关系

自动布线器可以在DRC box 定义的区域进行布线。你有选择告诉自动布线器去为整个板子布线或者仅仅在DRCbox 定义的区域中布线。你可以指定DRC的大小

运行autorouter

当自动布线完成之后,必须检查错误的地方,比如锐角。长的平行的走线和坏的via位置。第6章讨论了几个和其他的布线问题。这个时候可以执行一下DRC,看看有没有新的问题出现。可能需要移动或者取消一些布线应用手工的布线工具。

对布线进行统计。

看看是不是100%的布通了。

同步PCB设计到captureback annotation)。

 

Postprocess