第5章PCB设计环境 PCB设计在整个Altium Designer的学习中属于重点中的重点,同时该部分的学习内容也是最繁多、难度最高的。Altium Designer PCB 设计在学习过程中可以参考本书中的一些推荐技巧,有助于掌握PCB的设计。 视频讲解 PCB图纸的编辑环境,可以用于PCB的设计,也可以用于封装库的设计。 5.1PCB环境整体介绍 打开任意一个PCB文件,可以看到其整体工作环境,在软件格局分布上,和上文中其他设计界面基本类似,主要分为主体工作区、菜单栏、停靠面板和底部的状态栏,如图51所示。 图51PCB工作环境 对于PCB的图纸界面(也可以称为编辑界面)和原理图的图纸界面功能类似,也有一个与之对应的Properties面板。在该面板下,可以对当前PCB图纸的参数进行设置,同时还可以添加针对PCB图纸的一些辅助对象,如Guide Manager等。 在图纸的顶部有一排快捷键命令,这些命令基本上在绘制PCB的时候会被使用到,如图52所示。 图52PCB快捷命令 在PCB图纸的底部,如图53所示,有一排特殊的切换选项,这个是Altium Designer的PCB层管理切换按钮,每一个按钮对应一个层。当选中该层时,对应的相关命令(如画线)则处于当前层。 图53层与层切换 5.2PCB图纸的Properties面板 与图纸相关的Properties面板,包含很多属性和信息,如Board Information等。 (1) Selection Filter 选中过滤器,同原理图编辑下的选择过滤器功能一致,当选择好需要选中的对象类型时,在PCB图纸中可以选择该类型的对象,否则无法选中,如图54所示。 (2) Snap Options 自动捕获选项。该部分用于配置PCB图纸中的光标自动捕获选项,其中包括All Layers(所有层)、Current Layer(当前层)和Off(关闭),如图55所示。 图54Selection Filter 图55Snap Options(捕获选项)  选择是否捕获到网格和向导,一般情况下,可以选择Snap To Grids(捕获到网格)和Snap To Guides(捕获到向导线)。向导线在下文中将会介绍。  切换自动捕获域,当选择Off时,自动捕获命令被关闭。因为PCB是由不同的层共同组成的,因此就可能不同层上出现相同类型的对象,例如Top Layer和Bottom Layer上都可以放置走线。当选择All Layers时,即使不在当前层,也可以自动捕获到中配置的对象,而选择Current Layer时,则只允许捕获到当前选中的层。  选择捕获的对象类型,包括Pads(焊盘)、Vias(过孔)等。 (3) Board Information 当前PCB图纸的基本信息,例如尺寸、顶层元器件个数等,如图56所示。 (4) Grid Manager 网格管理器,可用于配置网格的坐标系类型。Altium Designer支持添加直角坐标系和极坐标系两种坐标系。其中,极坐标系和直角坐标系的坐标原点重合。当不同的坐标系同时出现时,由坐标系的优先级对当前的坐标系进行约束,如图57所示。 图56Board Information(板子信息) 图57Grid Manager(栅格管理器) 操作说明: ① 当勾选Comp时,表示当摆放元器件的时候可以随坐标系网格的方向对元器件重新定位,在下文的布局章节中,将会有详细介绍。 ② 双击当前坐标系,可以对当前坐标系的基本信息进行配置,例如对Polar Grid Editor(极坐标系)的基本信息进行设置,如图58所示。 图58坐标系属性修改 图59Guide Manager(向导管理器) (5) Guide Manager 向导线管理器。支持添加辅助向导线,详情参看第7章布局相关内容,如图59所示。 (6) Units 单位切换,PCB图纸支持mm(公制)和mil(英制)两种单位。 5.3PCB层管理 5.3.1PCB层概念 很多初次学习PCB设计的同学对PCB层的概念不是很了解。PCB有层的概念,是由它的生产工艺决定的,下面看一下PCB各个层之间的关系。PCB的层示意图如图510所示。一块PCB是由不同的“层”拼装在一起而成的,不同“层”都有它们各自的用途和含义。 图510PCB层结构 在Altium Designer软件中,下面是几种常见的PCB层概念: (1) Top层: 也称为顶层,指的是导线铜皮所在的最顶层,与Bottom层对应; (2) Bottom层: 也称为底层,和Top层含义相同; (3) Mechanical 1层: 也称为机械1层,通常用作CNC切割线,例如板框、安装孔、V型槽等; (4) Top Overlay层: 也称丝印顶层,通常用于在PCB表面做标注使用,与Bottom Overlay层对应; (5) Bottom Overlay层: 也称丝印底层,与Top Overlay层对应; (6) Top Solder层: 顶层阻焊层,用于防止焊盘外的铜箔被上锡,也称为绝缘层,与Bottom Solder层相对应; (7) Bottom Solder层: 底层阻焊层,与Top Solder层相对应; (8) Top Paste层: 顶层助焊层,SMT贴片层,用于开钢网、做贴片使用,与Bottom Paste层对应; (9) Bottom Paste层: 底层助焊层,与Top Paste层对应; (10) 其他层,PCB的层种类很多,其他类型层的用途将在下文详述。 既然PCB是由一个一个“层”拼装在一起的,那么在设计的时候,就需要明确所设计的部分所属的具体层。 5.3.2层管理器 Layer&Colors: 管理层设置,此设置在主工作区内,其快捷操作指令是在底部的一行快捷命令,当单击其中的一个按钮之后,PCB主板将自动切换到对应的层。经过上文的介绍,我们对层的概念基本已经熟知,如果对层进行分组管理,将可以优化PCB设计思路,提高PCB设计效率,如图511所示。 图511PCB层切换 当我们将鼠标光标移动到其中一个层的按钮上之后,右键单击当前层按钮,可以弹出快捷菜单,如图512所示。快捷菜单的命令能使当前层显示(或隐藏)、高亮(或停止高亮),对于这些基本的概念,只需要在实际操作中,便可以知道具体的实际效果。 在平时的使用中,这些菜单命令使用得并不多见,比较常用的是管理层设置。经上文介绍,一块完整的PCB主板可以认为是由很多“层”叠合在一起而成,为了方便我们对PCB主板的设计,将不同类型的层归为一类,这样可以提高效率,例如将具有电气属性的层放在一起、将没有电气属性的层放在一起等。 在Altium Designer中,此软件默认帮我们设置了几种常见的层类型,在一般设计中,使用这些默认的层管理基本上能满足我们的设计需求。 打开层管理方式可以使用菜单设计→管理层设置,我们能够看到,其包括All Layers、Signal Layers等多种组合,读者可以尝试选中其中一种,看看主设计区域的变化。 另外一种快捷方式是在底部的层切换快捷按钮的前端,单击“LS”按钮,如图513所示,也可快速打开层管理的不同类型组合。这些类型是如何对PCB层进行管理的呢? 图512层管理选项 图513层分类 我们可以单击“LS”按钮前面的红色按钮,打开View Configuration(视图配置器),如图514所示,在该面板中,我们可以清晰地看到所有的层是按照分类进行管理的。根据层次关系,All Layers层管理了所有层,而其他子层则管理了具体的类型,这里以Signal And Plane Layers(信号和内电层)为例,其中包括了顶层和底层,以及中间两层信号层,对于很多同学在这里可能就有疑问了,为什么我们的PCB设计中只有两层。这里涉及层叠管理器方面的内容,下一节我们重点介绍层叠管理,但是这里需要明白的是,我们通常所说的PCB有几层,例如2层、4层、6层等,泛指当前的信号和电源层。 图514View Configuration 当我们单击不同层前面的“显示(隐藏)”(类似一个小眼睛的图标)按钮时,当前层进行状态切换。当然你还可以对层的颜色进行修改,但是不建议修改颜色,尽量使用系统默认设置。 在View Configuration的底部,还支持对当前选中层的属性设置,例如对层的名称设置,如图515所示。 图515修改单层信息 5.3.3视图选项 View Option(视图选项)可以认为是对层管理上的增强,它是为了方便对层的管理。对于整个PCB的设计而言,当层的数量比较多时会让设计人员感觉头昏眼花,因此会大大降低开发效率。如果我们可以很方便地对不同的层进行显示、隐藏、按照不同透明度进行显示,这样就可以很方便地进行操作。例如让所有的过孔显示或者隐藏,如图516所示。 图516View Configuration下的View Option 当关闭Vias的显示时,可以让所有的过孔全部隐藏,可以看到上下两图的不同状态。当在显示状态下,勾选“Draft”(草图)命令时,可以看到,内部处于空白状态,只有对象的边缘被显示,如图517所示。 图517关闭Vias显示 当调整Transparency(透明度)时,可以看到所调整对象的透明度发生明显变化,例如调整所有焊盘的透明度,如图518所示。 图518调节焊盘透明度 在层管理方面,不得不介绍的是一组快捷命令Shift+S,请读者务必记住这个快捷方式,那它到底有什么作用呢? 在所有层都显示的状态下,我们可以看到整体的状态是不同层被堆叠在一起,当在主工作区内按下Shift+S,此时可以进行层显示状态切换。当按下一次之后,当前选中层被高亮显示,其他层进行灰色显示。当再按下一次之后,其他层全部隐藏,只显示当前层。只显示当前层可以增强视觉体验度,以此提高设计效率。如图519和图520所示,分别是按下一次和两次的效果。 图519Shift+S按下一次后的显示效果图 图520Shift+S 按下第二次后的显示效果图 5.3.4层叠管理器 需要注意,层叠管理器和管理层不是一个概念。利用设计→层叠管理器命令打开层叠管理器设计。层叠管理器是对信号层和内电层进行管理,就是我们通常所述的四层板、六层板等。 我们可以为当前的PCB主板添加Layer或者Internal Plane,前者可以说成是信号层,后者可以说成是内电层(一种负片层设计思路,可以认为在一开始就覆好了一层铜皮,然后只需要进行不同形式的切割即可,通常情况下,用于大面积走电源和GND),如图521所示。 图521层叠管理器 虽然在层叠管理器中支持对层厚度的设计,但在实际加工生产过程中,这一设计并不被加工厂家所采用,因此即使设置了这一数据,也是不起作用的。在第12章层叠与阻抗中还会再次介绍。 5.3.5内层的分割处理 对于很多刚入门的同学,内电层的分割总让人捉摸不透,可以简单地理解为内电层是一块完整的铜皮,默认在设置好之后,它就是铺好的一块铜皮,只需要用“刀”画出不同的区域即可。这把“刀”实际上就是普通的绘图命令,这条线可以是圆形,可以是直线,也可以是其他任何一种绘图命令所画出的线。 通常情况下,GND网络数量较少,很少需要将GND网络进行切割,但VCC网络在一个PCB中可能出现的类型比较多,例如VCC3.3/VCC5.0等。 切割内层的操作步骤: ① 先确认需要分割出来的网络所经过的地方,然后规划好区域; ② 使用绘图命令,进行区域划分; ③ 切割的时候应当尽量使经过最多的相同的网络被划分在同一区域内,如果有少量网络确实无法被囊括在分割区域内,可以将其从其他层引到本区域上; ④ 一般切割好的负片(被划分出来的区域),不会直接被设定为想要的网络,这个时候只需要通过双击切割出来的负片,修改为对应的网络即可。 此处需要特别注意: 负片层的切割建议采用10mil线宽的绘图线进行处理,如果小于6mil,则认为无法很好地处理负片层的间距问题,如图522所示。 图522内层切割图 5.4快捷命令菜单栏 和上文所述类似,其功能与菜单栏中的放置菜单命令下的功能基本类似。像对齐、选择、筛选等命令已经介绍过,不同的地方只有放置元器件、走线和放置铜皮等,如图523所示。 图523PCB快捷命令 (1) 放置元器件,支持放置一个普通元器件和放置一个3D元器件体。通常情况下,如果PCB主板的设计结构非常简单,放置几个元器件就能完成设计,一般无须设计一个原理图。这种直接放置元器件的方式只适合于创建简单PCB,因此并非我们的学习重点。 (2) 放置布线,该部分是PCB设计的重点,我们将在第8章布线中详细介绍。 (3) 放置过孔和焊盘,这个也是属于PCB设计的重点,因此我们和布线一起,放到第8章中介绍。 图524标尺 (4) 放置铺铜,支持放置一块完整的铜皮和挖空铜皮,这里我们也放到第8章详细介绍。 (5) 放置禁止布线区域,同布线一起详细介绍。 (6) 尺寸标注,该功能类似AutoCAD等机械设计软件,可以对PCB主板进行尺寸标注,例如标注两点之间的距离,如图524所示。 标注方面,还支持角度标注、水平标注等方式,读者可自行测试。 放置自定义字符。在设计PCB主板时,往往需要为PCB主板添加一些常见的信息标识,例如板子的一些基本信息,如标题、作者等。这样就可以利用字符标识的方式,为其添加板子注解,一般可将字符设计为丝印层,如图525所示。 当添加好一个字符的时候,支持对其基本属性编辑,例如设置其位置、字符内容等,也可以调整丝印位置。 图525丝印效果 在Font Type一栏中,可以选择字体的来源,根据当前计算机中所安装的字体进行选择。设计不同的字体样式,如图526所示。 图526文本属性 图527基本绘图 (7) 放置线条,从命令菜单上可以看到支持的放置类型比较多,可以放置线条、圆弧、任意角度圆弧、填充和实心区域等。在实际应用中,可以用这些实体走线来完成不同的设计,例如板子的边框、大面积铜皮填充等,如图527所示。 5.5板框设计 5.5.1手动绘制板框 Altium Designer最新版本已经废弃将KeepOut层作为板子边框的设计方案了,而着重强调使用Mechanical 1(机械1层)作为PCB主板的设计板框、切割V形槽等。当然这也并不是必须要求Mechanical 1作为板子的边框,而是PCB板厂在进行导出Gerber文件时,会默认将Mechanical 1作为板框层,新版本设计的KeepOut则无法被导出。如果需要自定义使用其他层作为板子的边框层,在将设计文件提交给板厂时,应当着重明确地指明,哪一层作为切割层或者板子边框层,否则在加工中会出现分歧。为了避免这种分歧,建议使用Mechanical 1作为板子边框层。 调用绘制线命令,按照主板的尺寸绘制相应的边框,这里需要注意,此处是普通绘制线命令。 绘制完线之后,可以选择板子外框线,这个需要一个闭合的区域,然后执行“设计”→“板子形状”→“按照选择对象将板框区域重新定义”命令。如图528所示,黑色板框区域被创建。 图528板子边框与开槽孔 如果设计时还需要对板子进行开槽,如设置开孔区域,可以选择需要开孔的位置,利用转换命令将区域开孔,执行“工具”→“转换”→“以选中的元素建板子切割槽”命令,如图528箭头指向的地方。 板子边框区域被创建好之后,PCB主板会形成一个黑色区域,在该区域内可以修改坐标系类型、栅格大小,否则坐标系不显示。被挖空的地方将显示一个板子开孔,开孔的类型与所建立的区域边框一致。 5.5.2导入板框 上文对Altium Designer的导入功能已经有所提及,导入工程这一功能是Altium Designer下非常强大的一个功能。 在PCB设计时,PCB主板外观尺寸往往是由产品的外观所决定的,有的时候板子的外壳形状非常复杂,并且通常是由强大的三维建模软件来完成设计的,而PCB主板需要遵循这些外壳各部分尺寸的最终参数,如果参数不统一或者不匹配,则PCB主板无法完成产品装配任务。针对于一些特别复杂的PCB板框而言,直接利用Altium Designer完成板框设计往往心有余而力不足,此时便需要利用导入功能来导入CAD尺寸数据,完成板框的设计。 目前,在二维尺寸模型中,CAD的尺寸图被业内公认的是DXF、DWG等格式,Altium Designer可以支持这些标准文件格式的尺寸数据导入。 在导入之前,应当先由CAD软件创建或设计好相关的尺寸数据,建议采用公制mm为单位,并且在导入数据时,也应当采用公制mm为单位,以此保证导入尺寸比例的完整性。 ① 执行“文件”→“导入”→“DXF/DWG”命令,然后选择准备好的DXF或DWG格式的文件,并选择此文件,如图529所示。 图529DXF文件 ② 弹出“从AutoCAD导入”对话框,比例选择mm,层映射关系选择为Mechanical 1,其他参数选择默认。在实际使用中,因不同的设计师绘制的CAD文件有所不同,会出现多图层现象,遇到此情况时建议重新检查CAD文件,并保证图纸的准确性,可删除部分不需要的设计线,再重新导入,如图530所示。 图530导入向导器配置 ③ 板框导入成功之后,还需要根据上文所述的修改板子边框的方式重新设置板子边框,这样才能最终完成板子边框的导入。 5.6PCB网表 将绘制好的原理图网表导入到PCB中是一步非常重要的操作,Altium Designer足够强大,在网表的导入过程中无须生成中间文件,即可一步从原理图直接导入网表到PCB中。在导入网表之前,请务必保证原理图中的每一个元器件所对应的封装库是完整的且正确的。 5.6.1从原理图导入网表 执行“设计”→“Import Changes From xxx.PrjPCB”命令,启动网表导入提示框。网表的导入更像是数据信息的更新,因此在Altium Designer设计中将其归为导入改变的操作,如图531所示。 图531网表导入 通过该命令,Altium Designer导入的网表不仅仅有封装库、网络,还有其他设置的一些参数属性,如网络线颜色、具体的规则等。 5.6.2更新网表到原理图 在设计PCB时,通常会附加地添加一些额外的配置或修改某些网络属性,这些内容可能并不是在原理图设计阶段就已经处理好的,因此可以利用更新方式将PCB中发生变化的一些内容更新到原理图中。 执行“设计”→“Update Schematics in xxx.PrjPCB”命令。执行该命令时,应当仔细校验,原理图是否明确更新相关部分,如果不需要,可忽略更新。 5.7控制面板 在Altium Designer的PCB设计环境下,有很多重要的面板,如上文所提到的Properties面板、库面板等常用面板,除此以外,本章还需要介绍其他几个重要的控制面板。 5.7.1PCB面板 首先打开PCB面板,在该面板中,如图532所示,可以选择当前显示的模式,其中有Nets(网络)、xSignals、Components(元器件)等。可以认为是将当前的PCB设计中的所有元素按照一定的归类进行划分,合理使用不同的分类将会提高PCB布线效率。 这里以Nets为例,介绍PCB面板的作用。 Nets下管理了PCB中所有的网络,当为网络分类之后,也将会在分类一栏看到具体的分类内容,但默认始终有一个All Nets网络分类。 例如当选择POWER(自定义的一种网络类型),其所包含的网络将在Nets一栏中全部显示,如图533所示。 Nets可以控制网络的颜色设置、网络线长度和是否显示网络线,还可以再次为其编辑网络类型等。网络类型管理,请详细看下文介绍。一旦网络被设置的颜色覆盖,则会和其他的网络明显区分,以此提高布线操作的优势。 图532PCB面板 图533Nets列表 5.7.2PCB Filter面板 PCB Filter面板是Altium Designer新版中又一令人兴奋的功能,它增强了PCB设计时的过滤器功能。通常情况下,可以根据Altium Designer为我们设计好的过滤方式对不需要的对象进行过滤,但这种过滤方式并不一定能满足设计者的需求。将Query查询语句与Filter结合可以发挥过滤器的最大作用。 例如输入Is Via and not In Net('GND')命令,单击“应用”,可以快速帮助定位除了网络为GND的过孔以外的其他过孔并全部高亮,如图534所示,因此比单独选择某一类对象的功能丰富。 图534Filter过滤效果 单击“清除”命令后,可以还原Filter过滤的结果。 5.8菜单命令 经过上文的介绍,很多常用的菜单命令已经被介绍过了,这里再介绍几个常用的菜单命令。 5.8.1视图菜单 视图菜单主要是对PCB文件的显示进行管理。视图菜单下的命令虽然很多,但很多都是相似的命令,下面介绍几个常用的 图535视图切换选项 命令。 Altium Designer的视图模式支持3种,(1)板子规划模式; (2)切换到2维模式; (3)切换到3维模式,如图535所示。 2维视图模式是通用的视图编辑模式。3维视图模式可以很好地观察整体PCB 3维建模效果。图536是3D模式效果。 图5363D模式效果 5.8.2工程菜单 工程菜单是对应整个PCB工程而言的,并不单独针对PCB图纸。其中包括新增项目到工程、从工程中移除等基本操作命令。 (1) 元器件关联命令。在原理图和PCB内容发生更新,并且需要使用到交叉模式时,建议使用该命令进行一次元器件的关联。当执行该命令时,原理图会和PCB文件进行比较匹配,当出现原理图元器件和PCB中的元器件不匹配时会提示重新建立关联,只有这样交叉模式才能生效。 (2) 项目打包命令。当整个工程完成设计时,可以利用该命令将一个项目的文件进行打包,类似压缩文件一样。 5.8.3设计菜单 (1) 网络表 在PCB编辑模式下,支持自定义网络。如果需要对PCB网络进行自定义,可以采用编辑命令。 在网表管理器中,左侧列出了所有网络的名称,右侧对应的是所选中的网络名称下所有与之连接的引脚,如图537所示。 图537网表管理器 单击“添加”按钮,可以新增一个网络,网络名称不能重复; 单击“删除”按钮,则可直接将网络删除。 此外还可以对网络进行编辑,在网络编辑页面中,可以对网络名称、关联的引脚等进行新增、删除等操作,如图538所示。 图538编辑网络 (2) 类 在Altium Designer的PCB设计中,类的使用频率非常高。因为在整个PCB设计中,网络、元器件等数量众多,将相同类型的网络或者元器件归为一类,则可以方便进行设计,如图539所示。 图539类编辑 例如新组建一个网络类型,可以右键单击“Net Classes”,选择“添加类”,然后将需要添加的网络通过单击右箭头按钮成功添加,而单击左箭头则可以删除所选中的网络,如图540所示。 图540类添加对象 (3) 生成PCB库和集成库 该功能和第4章原理图设计中所讲解的相关功能一致,可以快速帮助我们提取当前PCB中所包含的元器件,这种方式也是一种常见的“直接拿来用”的好方法。 5.8.4报告菜单 (1) BOM表 该功能同上文原理图中的BOM表信息生成方式相同。 (2) 测量距离 当需要测量某条线段的距离时,可以调用此命令,它会精确地测量所选两点之间的间距、X方向间距和Y方向间距,如图541所示。 图541测量工具 5.9本章小结 本章对PCB设计界面整体内容进行了讲述,在正式设计PCB之前,应当对整个软件的功能有所了解。 对于Altium Designer PCB设计部分,其功能和命令繁多,根据设计思路和设计步骤,本章只介绍了主要的内容,其他如布线、规则、布局等内容将在下面的章节进行详细讲述。