这一节我们来看一下PCB是如何设计出来的? KiCad6这个工具在整个流程中是如何使用的。

为了设计一个印刷电路板,一般要经历来来回回好几个步骤,从做出决定,需要经过多次迭代以后,才能达到最终让我们满意的结果。因为我们要创造的产品必须能够很好地执行特定操作(或多个操作),所以我们的设计必须是高质量、安全且可制造的。设计一个无法制造的PCB是没有意义的。

在设计PCB的时候,除了我们的设计要满足功能和性能的要求之外,还要有美学方面的考虑,要看起来也比较赏心悦目,从某种意义上讲,设计一个PCB,不仅是要完成一个工程项目,同时也是一个艺术创作的过程。

一个完整的PCB从设计到加工的流程

作为一个印刷电路板的设计者,即便我们不需要成为一个专家,掌握一些关于PCB制造的知识也还是非常有用的。我们需要了解PCB制造工厂的能力,以确保自己的设计不超过这些能力,这样设计好的PCB才是可制造的。PCB制造商将基于自己的实际制造能力提供一份详细的“设计规则” - 一般会发布在他们的网站上,规定他们可以实现的尺寸和公差。例如,它们可能要求所有的走线宽度不能低于5mils。

作为一名设计师,我们需要了解设计过程和使用的设计工具。想要设计PCB,我们还必须具备一定的电路和电子元器件知识。设计PCB,就像工程中的许多其它东西一样,是一个流程和迭代过程,其中包含了个人选择的重要元素。随着我们的经验和技能的积累,将来的设计中会形成自己独特的设计风格和有效的设计流程,即便如此,我们的设计仍然要遵循一些通用的规则。适合所有从事PCB设计的人,在这里我们将最基本的知识和技能梳理一下。

在这个课程中我们使用的PCB设计工具是KiCad,所以我已经创建了一个基于KiCad的术语和工具展示PCB设计过程的原理图。

用KiCad设计PCB的设计流程

总的来讲,PCB设计过程主要为如下的两个步骤:

  1. 先设计一个能准确描述电路工作的原理图;
  2. 通过元器件的布局和布线实现一个可以加工的PCB板图

设计的目标是生成一套能够表征PCB板图的文件,这些文件中包含有关设计的板子的信息,制造商可以使用这些信息来制板。布局必须包含关于板的大小和形状的信息,它的结构(比如它必须有多少层),元器件在板上的位置,PCB板上的各种元素置,如焊盘、孔、走线和板边的位置,以及这些元素的特征(如过孔和走线的大小)等等。

当我们将此通用流程引入KiCAD时,可以将其映射到图所示的元素。这个过程“原理图编辑器”开始。在“原理图编辑器”中,我们创建了描述最终将被制造到PCB中的电路的电气原理图。通过从库中选择元器件的原理图符号并将它们添加到原理图图纸上来绘制原理图。如果我们需要的器件在现有的库中没有,可以使用“原理图库编辑器”来创建它,然后在加载到原理图图纸中使用。

定期进行电气规则检查设计规则检查有助于及早发现设计中存在的潜在问题。原理图编辑器和PCB编辑器都具有用于此目的的内置检查工具,以助于生产PCB的时候降低设计或电气缺陷的风险。

在使用PC编辑器之前,我们需要做两件事:

  1. 将原理图编辑器中的器件与封装关联起来;
  2. 创建netlist文件,其中包含PCB编辑器需要设置的布局表。netlist文件是连接原理图编辑器和PCB编辑器的桥梁。

符号是原理图中元器件的图形表示,它没有物理上的对应物。但是,在PCB编辑器(Pcbnew)中,所有的内容都是真实的,因为它们在现实世界中都有对应的对象。因此,作为设计者,我们必须将符号与其占用的板上空间联系起来。封装是真实存在的;它可以是PCB上的电阻、开关或焊盘。这允许我们将原理图器件与封装模块相匹配。

一旦我们完成了符号和封装之间的关联,就可以从原理图编辑器导出网表文件。然后将网表导入PCB编辑器,在原理图编辑器中关联的所有封装将出现在一个新工作表中,这样我们就可以开始进行元器件封装的布局了。

我们使用PCB编辑器来定位图纸上的封装并将它们之间进行布线。布线可能非常耗时,特别是对于大的电路板。可以使用自动布线工具,这一功能可以显著减少布线的时间。

待完成了PCB的布局和布线,我们需要进行设计规则检查了。这一检查是为了寻找电路板上的缺陷,例如走线太接近一个焊盘或两个封装有重叠。

请注意,不同PCB制造商可能有不同的生产工艺能力,并且他们可能以更高的价格提供更高工艺要求的服务。如果我们正在设计高密度,高复杂度的PCB,最好先货比三家,基于性价比寻找具有适合我们需求的设计规则的制造商。

完成PCB的布局和布线工作后,就可以做最后一步 - 提交生产文件去加工PCB。在这一步我们要确保导出的PCB信息的格式与我们制板的制造商的要求是兼容的。所有生产厂商都能接受的一种文件格式叫“Gerber”格式,它是一种行业标准。实际上Gerber文件包含多个相关文件,PCB上的每一层都有一个Gerber文件,并包含制造工厂制造PCB所需的指令。

让我们进入下一章,我们将讨论制造。