ARTICLE · 1156722
电子设计:创建新的 PCB 文档
“ 以 AD19 为例,讨论在创建整合库(library),完成原理图绘制 (schematic capture),并进行编译(compiling)后的转换设计。本文讲述,创建新的 PCB 文档,(栅格、相对原点与叠层的)初始设置,以及板形的详细创建,以及通过 ECO 进行转换的过程。”
编译设计并产生 ECO,转换设计到 PCB
编译设计(compiling design)的过程,就是创建连接性的过程,也就是创建 UDM 的过程。编译,与原理图和 pcb 编辑器都是分离的。
Altium Designer 将“编译设计”,也称为“验证设计”。因为它通过“Error Report(原理验证)”,以及“Connection Matrix(电气类型)”的设置,进行 Error Checks,结果将表示在 Message panel(信息面板)。
“编译(compiling)”这个术语,AD 解释为“模拟(或者应该说借用)软件术语”。由于其功能仅用于创建连接性(与高级编程语言比较过于狭隘),因此这个术语,这里认为是有点勉强。通过阅读 AD 帮助文档的一些模糊的只言片语,似乎可以推测,Altium Designer 设计团队,很可能发明了一套简单的脚本语言,用来表示不同的处理过程/动作,这也可能是其称为“编译”的主要原因 - 这里的学习理解,仅供参考。
如果全部错误被解除(all errors are resolved),被编译的原理图设计,就准备好,通过一系列 ECOs(Engineering Change Orders),转换到(transferred to)目标 PCB 文档。
承担 ECOs 产生过程的是比较器引擎(comparator engine),它标识原理图设计与 PCB 之间的每个不同。
使用比较器引擎的途径去标识不同,意味着你不仅直接在原理图与 PCB 之间工作(而无需使用媒介 netlist 文件,注:这是早期 Protel99SE 的工作模式),也意味着同样的途径,能被用来,在设计的任何曲幕/阶段(stages)同步原理图与 PCB。而且它在源与目标文件之间,还是双向的。
ECO 产生以及比较器(comparator),也可以在 Project Options 对话框中配置。讨论:通常的设计很少会进行设置 Comparator 与 ECO,这应属于对“转换”过程的解剖式地配置,可能也属于 AD 设计团队炫技的部分。
此外,Comparator 与 ECO,还能将 Class(比如由 Bus,Harness,或者使用者通过指令自定义),也转换到 PCB。
补充:默认的 Class 包括,每个原理图页的 Component classes 与 Rooms,以及每个设计内的 bus 的 Net Classes。

01
—
创建“空板(blank PCB)”
将新的 PCB 加入到已经创建的 Project 之中。
注:在这里的实践测试中,它(最可能在计算机内存中)产生了 PCB1.PcbDoc 文档。因为在 Project 面板中,将光标移动到它的文件名之上时,与早前文章中提及的,已经建立的 schematic 文档不同,它没有显示,任何文档所在文件夹的位置提示工具栏。
注意 AD 文档提出的要求是,该新建的 PCB 文档名,应当与工程名相同(通过 Save As 命令来命名)。
因为,新建 PCB 文档,动了整个工程框架,也需要在工程名称上右键并 “Save Project”。注:这里测试 “Save All” 命令也有效。

02
—
默认空板配置
默认板参数:
大小:AD 自动化(设计)软件,创建了默认的板型为 6x4 inch,即 6000x4000mil,也就是 150x100mm 大小。注:大致上是成年人的手掌面积大小。
板层:通过 View Configuration 面板,以及 Layer Stack Manager 对话框,都能检查到“信号与平面层”只有两层(top 与 bottom)。所以,软件默认创建双层板。更直接点,观看 Properties 面板的 Board Information,也能直接看到这是双面板。

整板捕获栅格(Global Board Snap Grid):这里的测试中,打开 Grid Manager 对话框,检查“笛卡尔栅格编辑器”,可见默认选择 5mil(这里的实测参数,与 AD19 离线文档的说明一致),步进倍速为 5x。
原点:在这里的测试中,默认的双面空板的原点,位于左下角。坐标 (1000, 1000)mil。

03
—
修改空板配置
修改参数步骤:
栅格:根据这里的习惯,修改单位为公制 “mm”(理由见本公众号早前的文章,此外 AD 文档本身也给了使用公制的理由 - 尽管 AD19 默认空板配置仍是英制)。并将 Grid 修改为:0.025mm,步进 10x。此设置与这里早前创建(元件)整合库,制作封装模型时的 Grid 一致。
解释一下参数选择的理由:虽然 1mil 的生产工艺,在现在(2026年)是一个高难度且不必要的工艺(AD19 帮助文档建议线宽与线距为 0.25mm/10mil 工艺;via 建议 0.6/1mm=24/40mil - 这对珠三角的任何一个厂,想必都是手拿把掐)。
但在制作元件库时,为了在有限的尺寸中,画出元件符号封装的精确弧线,因此这里使用上述 Grid。
而保证 schematic 与 pcb 文档的 Grid 与 Lib 中使用的 Grid 的一致,是这里的设计习惯(早前文章曾提及,Grid 不一致,将导致移动原理图中选定对象时,可能发生接线/wire 的错误移动)。
而且早前的文章里,也提及了该设置参数,曾被其他讨论者在实践中使用。
原点:使用Edit » Origin » Set 命令,将(相对)原点坐标,定位在 PCB 板的左下角。
板(叠)层(Layer Stack):修改默认双面板为四层板。
打开 Layer Stack Manager 对话框,选中 signal layer(信号层),检查其 Properties 面板,勾选 “叠层对称(Stack Symmetry)”。- 这样才能待会增加 layer/层时,成对加入。
使用 Edit » Add Layer,加入 Signal,这将出现成对信号层加入。保存 Layer Stack Manager 的设置。
返回 PCB 编辑器,在 View Configuration 面板中,将新增的两个信号层 layer1/2 的 View(眼睛)按钮使能。这样在 PCB 编辑器的下方才能新增 layer1/2 层,进行画板。
根据以上操作,默认 layer1 靠近 top,而 layer2 靠近 bottom layer。
对 Layer Stack Manager 的参数解释:
默认的 core 介质层的厚度参数(0.32um),是可以无视的。实践中,它通常被 1.2mm 与 1.6mm 的板厚决定(见下图的 AD19 文档的贴图)。
默认的阻焊层的厚度参数(0.01mm),也不太符合当前工艺。通常它可能是 25um(见下图)。如果没有向 PCB 厂约定此参数,这里过去的工作经验中,它可能任由工厂定制,弄不好给出 15um。这样的话,就不得不在下单时特别做工艺要求(虽然不清楚 15um 是不是也没有任何问题,但它似不符常规配置)。
默认的铜厚(1Oz=35um),这没有什么问题(除非板上有大电流)。
实践中,是否应该如下图般,对上述参数进行约定,也未必。因为这可能完全依赖市场与工厂的板材 - 最终由协商或过去经验下,向工厂做工艺要求而决定。

04
—
定义板形(Board Shape)
4.1 默认板形(Board Shape)
在 PCB 编辑器中,板形(Board Shape)定义了板的边界,或范围。
板形(Board Shape)是 PCB 对象,也称为 Board Outline(板框),本质上是封闭多边形(closed polygon)。
如之前图示,当新建 PCB 文档时,它是黑色区域。在 properties 中,它具有默认 size:6000x4000mil。
4.2 板形(board shape)分裂为多板区(multiple board regions)
板区(Board Region)这个术语,是用来描述板上的使用者自定区,可以分配特定的叠层(unique layer stack)。
当新板被创建时,默认具有单一板区 - 即板形的外框(outline of board shape)。你能分裂这个单一默认板区为多重区,分配特定的叠层。
如下图所示,板形已被分为三个区分的板区:上圆圈,中间条,下圆圈。这些区(regions),通过放置两条水平的蓝色分裂虚线(Split Lines),得以创建。
注意这些橙色虚线,它们是可弯曲线(bending lines),因为这个刚柔(rigid-flex)设计,当它们被装配后,将会被折叠。
译注:刚柔设计(软硬结合板设计),是流行的个人便携设备,折叠手机,摄像头部件等,使用的设计方案。因此,AD19,通过板形可分裂为(具有不同叠层)多个板区的方式,可以进行刚柔(多板)设计。

4.3 三种模式(Board Planning,2D Layout,3D Layout)设计板形
讨论:板形(Board shape)设计入口
说来也奇怪,AD19 的板形(Board Shape)设计的入口,是从 View 主菜单的三个不同模式进入的。
这可能存在某种“菜单组合炫技”的技巧,即在 View 菜单中选中“模式”,然后相应的在该模式下,使用各自的,可能更新的“Design”与“File” 等菜单进行设计。
Board Planning Mode (1) 2D Layout Mode (2) 3D Layout Mode (3)
View » Board Planning Mode (1),编辑刚柔板区:在本例中,“刚柔(rigid-flex)设计”,正是从 Board Planning Mode(1)进入,放置分裂线(Split Line),编辑板区名(board region name),分配叠层(layer stack),放置并定位可弯曲线(bending line)。
View » 2D Layout Mode (2),从MCAD文件中导入:可选择外框(outline)从 MCAD 工具(如 DWG/DXF 文件)导入(import),通过 File » Import » DXF/DWG ,并使用 Edit » Select » All on Layer,在机械层中选中这些图元(译注:导入后的外框),然后使用 Design » Board Shape » Define from selected objects 命令构建板形。

View » 3D Layout Mode (3),从 3D 文件(如 STEP)中导入:可导入 STEP 模型(.step 或 .stp)放置 3D body(Place » 3D Body),然后在 Properties 的 Generic 的 3D Model Type 区,选择 Embed Model 或 Link to Models,在 Source 区输入所需的 STEP 模型。设计的 PCB 产品在本例中如下图所示:

05
—
更简单地定义板形(Board Shape)实践
5.1 简单的板形交互编辑(Interactively Editing)
View » Board Planning Mode (1) 进入板计划模式。
Design » Edit Board Shape ,并拖动边框或顶点即可。
设 PCB 左底定位设置原点/origin(Edit » Origin » Set)。 切换工作空间到 Board Planning Mode(View » Board Planning Mode)。 选择 Design » Redefine Board Shape并释放鼠标。 通过 Jump 菜单的 Jump to Location 对话框,反复定义多边形的顶点。 
在 keepout 层放置一系列的,线迹/tracks(与针对曲形板的弧线/arcs)。注意:根据这里经验,keepout 的线/track 与 弧/arc,应使用 keepout 子菜单中的图元,进行绘制。 这种方式,同时作为布放(placement)与走线(rounting)的隔离栏(keep-away barrier),也是有用的。译注:与早期版本 Protel99SE 不同,keepout 不再具有外框的角色。从本文可知,keepout 层现在的作用,就是“隔离栏”。 这些线迹/tracks 与弧线/arcs,可以通过Edit » Select » All on Layer 被选中。 然后,使用 Design » Board Shape » Define 命令,从选中对象创造板形(board shape)。 注意:根据这里经验,如此定义板形后,重新定义相对原点,如果原点设置在多边形(与弧形)内部区域,光标在合适的中心位置摸索,软件会自动提供一个准星符号,协助放置相对原点(PCB 的编辑空间的左下角,被 Altium Designer 称为绝对原点)。 讨论:如同上述从 MCAD 文件中导入外框(outline)到机械层,然后选中图元(封闭的外框),并定义板形的方式。只要能够自绘对象,然后选中并定义为板形即可。而这里选中 keepout layer 来绘制,更具有意义。
06
—
转换设计(从 Schematic Capture 到 PCB Layout)
前述:
创建整合库,原理图绘制,编译,定义板形,在本临时系列中讲述的这一系列动作,都最终为 PCB 文档制作服务。
Altium Designer 把这个过程叫作“设计转换(design transfer)”,大概指从 Schematic 编辑器到 PCB 编辑器,并执行编译后的连接性的传递的过程。- 这里的学习理解,仅供初学者参考。
讨论:当然,工具仅是工具,上述专业动作很容易掩盖这样一件事实,即专业工具使用的熟练程度,不等于设计能力的高低。电子工程师设计有效原理图,并基于设计规则(包括电气性能约束)制作 PCB 的能力,才是核心。提示此点,为学习自省。
对于简单的单原理图页设计,为该页创建 compoment class (并产生不同的 room 安置不同原理图页中,尚未正式 layout 的元件)是没有必要的。在 Project Options 的 Class Generation tab 的 Component Classes 将前面的默认勾选/checks 框,取消即可。而 room 中的默认勾选可保留(它已不起作用,check 状态为 disabled)。
设计在 schematic 编辑与与 PCB 编辑器之间,直接转换;而无需媒介 netlist 文件创造(译注:这应与早期的 Protel99SE 版本进行比较)。可以分别执行两种不同的命令(根据你的项目实践,命令中的工程名会有不同): 基于 schematic 编辑器,Design » Update PCB Document Multivibrator.PcbDoc。注意:根据这里的项目实践,如果没有上文所述,创建新的 PCB 文档的过程,这个菜单不会出现。 基于(上文所述新创建的)PCB 编辑器:Design » Import Changes from Multivibrator.PrjPcb。 上述指令将,编译设计并创建一系列的 ECOs(Engineering Change Orders),这将会: 执行 ECOs,列出设计中使用的全部元件(compoment),与其需求的封装(footprint)。如若不然,将有 error 产生。 执行 ECOs,创造全部(与元件 pins 连接的)网络列表。如果 pins 不能被加入到网络(nets),将有 error 产生(比如未发现封装,或封装中的焊盘/pads不匹配符号的pins)。 附加的设计数据(比如 net 与 compoment class),将被转换。 上述指令将编译设计,并打开 ECO 对话框: 
说明:对于需要在 PCB 中制造出的每个变化,都会创造一个 ECO,因此它(ECO)与原理图匹配。 点击 Validate Changes。如果改变被验证,对于每个改变,绿色的检查框(check)在 Status 列表中将会显示。如果改变未验证,关闭对话框,检查 Mesages 面板并解除错误/erros。 实践:AD19 测试,这个 check 框无法每次准确与编译结果同步,有时实际上编译仍有 error,但仍然出现了绿色 checked。 但是在该对话框的下方,如果编译存在 error,则总是会提示信息:“Warning:Errors occurred during compilation of the project! Click here to review them before continuing(跳转)”。点击跳转即去往 message panel 检查编译错误信息。 实践发现,即使存在编译错误,点击 “Execute Changes”,仍然可以向 PCB 编辑器进行转换设计。AD 设计团队是在太宽容了,是否采纳 errors 并解除,完全取决于设计者。这里需要重视。 因此,还是遵循早前文章中的设计步骤,完成原理图一定单独进行编译(compilation),这一定会带来结果(errors/warnings 或 successed),可前往 message panel 进行检查。 讨论:为什么会出现这样“宽容的”验证错误但仍可转换的行为?这里理解,其与早前文章中提及的一个无法避免的常规错误有关,即封装中某元件的 pins 的电气特征被定义为“input”,那么,哪怕原理图中这个脚位什么都不接(floating),也会提示 error。- 而本质上,这是个常见现象(该 pin 功能并未使用),所以 AD 设计团队,很可能基于这样的例子,不会对编译(验证)错误的设计,禁止其转换到 PCB。不晓得 AD26 是否已经有了新的设计思路与变化。- 理解仅供参考。 验证全部的改变后,点击 Execute Changes,将这些改变送去 PCB 编辑器。当每个改变被执行,在对话框的 Done 柱上,将会显示 check/检查。 当全部变换都被完成,PCB 将在 ECO 对话框下被打开;点击 Close 关闭对话框。元件将被定位在板外(网络皆已准备),准备好去布放于板中。 
07
—
总结
本文讲述从 schematic 编辑器,向 PCB 编辑器,转换(transfer)设计的过程。
其核心是基于比较器(Comparator),对每个变化产生 ECO。然后将 ECO 向 PCB 编辑器进行传递(传递的对象包括元件,网络,class 等)。
这个传递的过程,从原理图编辑器出发,使用的命令是:Design » Update PCB Document Multivibrator.PcbDoc。
这个过程中,ECO 对话框将会持续开启(除非主动关闭),通过对话框,可以验证设计(理解为主动编译并报告结果 message panel)。
注意到验证过程中,这里发现 ECO 的 check 通过并不能表示具有正确的编译,必须观察对话框底部的信息提示,检查是否出现错误,并根据跳转去向 message panel。当然,根据早前文章的完整工作步骤,提前对原理图文档进行编译并检查结果,则是非常可靠的。
完成全部验证后,即可在对话框中点击“执行”按钮,打开在对话框下的 PCB 编辑器,则被刷新全部改变。关闭 ECO 对话框,则可以开始 PCB layout 过程。
这时,前述文章提及的“检查连接性”,即利用 navigation panel,cross probe,cross select,在不同文档(主要是原理图文档与pcb 文档)的选中高亮,即可执行。
这时,可通过 3D view,进行 Altium Designer 特有的优点,观察 PCB 的 3D 构型。
而在这样的转换之前,本文讨论了,配置 PCB 的 grid,相对原点,叠层,并重定义了板形(board shape)。并粗略介绍了,Board Plan Mode 下,AD19 拓展了“刚柔(rigid-flex)设计”的能力。