☰
Altium Designer原理图转PCB全流程:网表同步与封装核对
2026/10/7 1:21:34 网站建设 项目流程

画AD的板子,最让人心里没底的一步,往往不是布线,而是从原理图往PCB跳的那一下。原理图上元件摆得整整齐齐、连线一根不少,点了更新PCB,结果弹出一堆看不懂的英文报错,或者板子上元件稀里哗啦全堆在板框外面,网络飞线乱成一团。我用AD软件做板子这些年,带过不少新人,发现他们卡住的位置高度集中:不是不会画原理图,也不是不会拖线,而是没搞明白原理图和PCB之间到底靠什么在传递信息。这篇内容就把AD软件从原理图生成PCB的完整链路拆开讲,从封装核对、工程编译、同步导入,一直到布局布线、铺铜和Gerber输出,每一步为什么这么做、容易在哪里翻车,我都按自己实际踩过的坑写清楚。适合刚上手AD画图软件的朋友,也适合画了几块板但流程总不太顺的人对照着自查。

1. AD里从原理图跳到PCB,中间到底传递了什么

1.1 网表:两份图纸之间的那份"合同"

很多人以为原理图和PCB是同一个工程里的两个视图,改一边另一边自动跟着变。这个理解对了一半。原理图端真正传给PCB的东西,是一份叫网表(Netlist)的数据。网表里记录的内容其实很朴素:这块板上有多少个元件、每个元件用什么封装、每个元件的第几号引脚连到了哪个网络、网络的名称叫什么。除此之外,元件在板子上摆哪儿、走线怎么走、板子多大,网表一概不管。

想明白这一点,很多现象就顺了。你在原理图上把R5的封装从0603改成0805,PCB里不会自动换,必须再同步一次网表;你在PCB里手动把某个焊盘的网络删掉,原理图那边毫不知情,下次同步它又会把网络加回来。网表是单向的、增量的同步机制,不是双向实时绑定。所以日常操作里有一条铁律:原理图动了,PCB必须重新同步;PCB里做了原理图之外的改动,一定要确认它不会被下一次同步冲掉。

网表的另一层含义是它只认"连接关系",不认"物理合理性"。两个引脚在网络上是连着的,网表就认为它们该连起来,至于这两个引脚在板子上隔了十厘米,中间还跨着高压区,网表不管。物理层面的合理性,全靠后面布局布线和设计规则来兜底。

1.2 为什么AD不用你手动导出网表文件

用过一些老工具的朋友会有印象,以前的工作流是:原理图导出网表文件,再去PCB里导入这个文件,两次操作分离,中间还容易用错版本。AD把这一步合进了工程体系里,靠的是**工程文件(.PrjPcb)**把原理图文档和PCB文档绑在一起。

只要原理图文档和PCB文档都在同一个工程下面,AD就支持一条指令直接完成同步,不需要你手动生成中间文件。这是方便的地方,也是让人麻痹的地方——因为太方便,很多人养成了"随手改原理图,随手点同步"的习惯,从来不看同步对话框里到底改了哪些东西。我见过最典型的事故是:同事在原理图里把一颗电容从104改成105,顺手点了更新,结果同步对话框里同时还有另一个他半年前改过但没同步的封装变更,一起被带进了PCB,而那时候PCB已经布完线了,所有相关走线全被扯断。

所以我的建议是:每次同步前先看一眼ECO对话框的条目列表,确认这次要改的就是你这次动过的东西,没有夹带历史遗留。这个习惯花你十秒钟,能省掉半天返工。

1.3 一次完整的转换链路应该长什么样

把整条链路摆出来,心里有个全景图,后面每一步就不容易漏:

阶段主要动作这一步的产出
封装核对Footprint Manager 逐个检查元件封装每个元件都有合法封装,无空缺、无手写错名
工程编译Compile PCB Project,看 Messages 面板连接关系无冲突、无重复位号、无单端网络隐患
建板新建 PcbDoc,画板框,设原点板的物理边界和坐标基准
同步导入Update PCB Document,走 ECO元件、网络、Room 落到 PCB 上
布局交叉选择、分区摆放、规则设置元件位置定型
布线铺铜交互式布线、铺铜、挖空电气连通完成
交付检查DRC、Gerber、钻孔文件可发板厂的生产文件

这张表看着平淡,但每一行都能写出一堆坑。下面按顺序往下拆。

2. 点同步按钮之前,必须先做完的三件事

2.1 用 Footprint Manager 把封装挨个过一遍

从原理图生成PCB失败,十次里有七次是封装问题。AD里有个专门管这件事的工具:在原理图界面下打开Tools → Footprint Manager,它会列出当前工程所有原理图文档里的每一个元件,以及它绑定的封装。哪一颗是空的,哪一颗写了两个封装但顺序反了,一眼就能看出来。

这一步的重点不是"看一眼有没有填",而是核对三件事:

  • 封装名是否真实存在。有些人习惯手写封装名,写成 SOP8 而库里叫 SOIC-8,名字差一点,同步时就找不到,报一堆 Component Not Found。正确做法是从封装库里选,别手打。
  • 封装与实物是否对得上。同一颗芯片可能有 SOP-8 和 SOIC-8 两种,引脚间距一样但本体宽度不同,选错了画出来焊盘对不上芯片。
  • 多封装顺序。AD允许一个元件挂多个封装,比如"0805"和"0603",同步时默认用第一个。如果你把备用封装放在前面,板上就会按备用那个画。Footprint Manager 里可以直接调顺序。

顺带说一个容易被忽略的点:引脚映射。绝大多数情况下,原理图符号的引脚编号和封装的焊盘编号是天然对应的,但有些库是你从别处拷来的,符号里引脚编号写的是1、2、3,封装焊盘却写的是A、B、C,这时候同步虽然能过,但网络会连错。稳妥的做法是在 Footprint Manager 里点开 Pin Mapping 看一眼,或者同步后在PCB里抽查几个关键器件,比如电源芯片的VIN、GND脚,看看网络的落点对不对。

2.2 编译工程,把 Messages 面板当成验收清单

封装核对完,下一步是编译。快捷键C → C(Project → Compile PCB Project),编译完AD会把所有问题塞进Messages 面板。新人常常看一眼没红色就关了,其实黄色警告里藏着不少真问题。

我把常见的编译提示和它的实际含义整理成一张表,方便对照:

编译提示它真正在说什么要不要处理
Component has no footprint这颗元件没绑封装,同步后板上不会有它必须处理
Duplicate Component Designators位号重复,比如两个R1必须处理
Net has only one pin一个网络只连了一个引脚,通常是忘了连建议处理,除非确实是测试点
Net with multiple names同一根线被打了两个网络标签必须处理,两种叫法会各连一段
Off grid pin / off grid object元件或引脚没落在栅格上,连线是歪的建议处理,容易导致连不上
Floating net label网络标签悬空了,没贴到线上必须处理

重点讲两个。第一个是Net with multiple names,中文常说成"同名网络冲突"。它的成因是你在同一根走线上打了两个不同的网络标签,或者两个不同网络被一根线连起来了。AD不知道听谁的,只能报错。这种情况多半是复制粘贴时留下的,一定要清掉,否则同步后的网络会莫名其妙多出几个连接。

第二个是Net has only one pin。新手看到这个常常直接忽略,觉得"我本来就想留个测试点"。但如果这个单端网络出现在一颗芯片的使能脚、复位脚上,那大概率是你真的忘连了。我的做法是:编译后逐条看单端网络,能对上设计意图的放过去,对不上的立刻回原理图查。

2.3 图纸分页与位号编排的隐性坑

原理图稍微大一点就会分页,分页之后有两个东西特别容易出岔子。

一个是页码重复。AD默认从图纸右下角的标题栏取页码信息,如果多张图纸的 Page Number 都设成了1,编译时不会直接拦你,但打印出来的图纸和 PCB 里的元件定位就对不上号了。手工调整的地方在图纸右下角的文本变量,或者用 Tools → Schematic Numbering 之类的配置统一编排。这类问题在多页图纸协同设计时特别烦,因为画的时候看不出来,等发现时想改就得整份文档过一遍。

另一个是位号编排。原理图画到一半增删元件,位号很容易跳号,R1、R3、R7 中间空着。这不影响功能,但影响后续查表、备料和维修。AD里有Tools → Annotate Schematics可以重排位号,支持按位置、按编号等多种顺序。重排之后必须重新编译并同步PCB,否则PCB里的位号和原理图就打架了。

注意:位号重排和图纸分页调整之后,务必重新走一遍编译加同步,别让原理图和PCB的位号长期处于不一致状态。这种不一致在后期排查故障时会成倍放大工作量。

3. 新建PCB与同步导入的完整操作

3.1 建板、画板框、定原点

新建PCB文档本身很简单,工程右键 Add New to Project → PCB,或者用模板新建。真正要花心思的是板框(Board Shape)。

AD里画板框有两条路。一条是在Keep-Out Layer上用线画出闭合轮廓,然后选中线条,执行Design → Board Shape → Define from selected objects。另一条是直接Design → Board Shape → Redefine Board Shape,手动描一圈。前者适合尺寸已经定死、由结构件决定的情况,比如扣在某个外壳里的模块;后者适合原型打样阶段随手定个大概。

我一般用第一条路,因为板框尺寸往往来自结构约束——螺钉孔位置、接口位置、外壳内腔尺寸,这些数字是硬的。画的时候用Q 键在毫米和mil之间切换单位,机械尺寸全部用毫米,走线参数用mil,这个习惯能让尺寸沟通少很多误会。

板框定完,紧接着设原点。执行Edit → Origin → Set,把原点打在板框左下角或者某个基准孔中心。这件事的价值在装配阶段才体现出来:板厂和贴片厂拿到你的文件,看到坐标原点统一在板角,沟通效率完全不一样。原点乱放的板子,导出坐标文件之后每一颗元件的坐标都是一串带小数的怪数字,核对起来很痛苦。

3.2 Update PCB Document:ECO对话框里该看什么

前置检查都做完,就可以同步了。操作路径是在原理图端执行Design → Update PCB Document xxx.PcbDoc(在PCB端则是 Design → Import Changes From)。弹出来的对话框叫Engineering Change Order,简称ECO,分为左右两栏:左边是要执行的动作,右边是执行结果。

ECO里会列出四类动作:

  • Add Components:往PCB里加元件
  • Add Nets:建网络连接关系
  • Add Rooms:加Room(一块区域框,用来把相关元件圈在一起)
  • Add ... classes / rules:加网络类、规则等

新人最容易在这里卡住的是Add Rooms。默认情况下AD会给每个原理图图纸生成一个Room,同步后PCB上会出现一个大方框,里面圈着该图纸的所有元件。这个框很多人不用,删了之后下次同步又冒出来,很烦。处理方法有两个:一是在工程选项的 Class Generation 里把 Generate Rooms 关掉;二是每次同步时在ECO里把 Add Rooms 那一项的手动勾去掉,再点 Execute。我选前者,一次性解决。

执行完ECO之后,建议立刻做两件事:框选所有元件,把它们拖到板框附近;然后看一眼飞线是否合理。如果飞线看起来像一朵炸开的烟花,说明网络连对了但布局还没做;如果有元件完全没有飞线,说明它有引脚没连上,回原理图查。

3.3 同步失败的报错,逐条拆开看

同步报错是最考验耐心的地方。我把最常见的几种和对应的处理方式列出来:

报错关键词原因处理方式
Footprint Not Found封装名在库里不存在回 Footprint Manager 重新选封装,或把库加进工程
Component Not Found原理图元件在库里被删了/路径变了重新绑定库,或从库中重新放置该元件
Net Not Found / Net Conflict网络名冲突,同线双标签回原理图清理重复标签
Pad Not Found封装焊盘编号与符号引脚编号对不上检查封装焊盘的 Designator
Failed to add class member网络类成员异常关掉 ECO 里的 class 添加项,或重建网络类

处理这类问题的通用思路是:报错信息里一定会带元件位号或网络名,直接拿这个位号去原理图里搜索定位,八成能立刻找到问题。最怕的是看到报错就一路点 Ignore,最后一堆问题攒在一起,排查成本翻几倍。

还有一个隐蔽的情况:同步成功但板上少元件。通常是因为那颗元件在原理图里被设成了"不参与同步"的状态,或者它所在的原理图文档没有加入工程。检查方式是在原理图里选中那颗元件,看属性面板里有没有异常标记;同时确认工程面板里所有原理图文档都在工程节点下面。

4. 布局:决定这块板子好不好用的分水岭

4.1 交叉选择与批量摆放的两种做法

元件同步过来之后堆在板外,一个一个拖太慢。AD提供了交叉选择模式(Cross Select Mode),开启之后,在原理图里选中几个元件,PCB里对应的元件会同步高亮。这个功能的价值在于:你可以按功能模块在原理图上框选,然后在PCB里一次性把它们拖到对应区域,效率比挨个找高一个数量级。

开启方式在Tools → Cross Select Mode,也可以在面板上把它挂成常驻状态。我用它的标准流程是:先在原理图上框选"电源部分"的所有元件,看PCB里高亮,拖到板子左上角;再框选"主控部分",拖到中间;依此类推。整个板子的功能分区就这么快速搭出来了。

批量摆放还有个辅助功能:Tools → Component Placement → Arrange Within Rectangle。在PCB里框选出元件,画一个矩形,AD会按飞线最短的原则自动排列。这个功能适合元件数量多但连接关系简单的情况,比如一排LED限流电阻。不过它出来的结果只是"能看",真要好看还得手动微调。

4.2 分区、接口优先和几类特殊器件的摆法

布局的核心逻辑是先定死不能动的东西,再排能动的。不能动的包括:连接器、按键、指示灯、螺钉孔、屏蔽罩位置,这些受结构约束的元件。它们的位置一旦确定,剩下的元件就围绕它们展开。

几个具体经验:

晶振紧贴芯片,且下方不要走线。晶振引脚到MCU的走线越短越好,而且晶振正下方的所有层最好铺地,并避免走任何信号线。原因是晶振是敏感的高阻节点,旁边一根高速线跳来跳去,很容易把噪声耦合进去,表现为时钟抖动,严重时系统起不来或者随机复位。这条在DDR4这类高速设计的参考原理图里更明显,时钟和高速差分对的处理要求会成倍提高。

电源部分按电流方向直线排布。从输入接口开始,保险、防反接、滤波、LDO或DCDC、输出滤波,一条直线排下来,走线短、环路小。如果把输入滤波电容摆到输出端去,等于没滤波。

去耦电容贴着芯片电源脚放。每个电源引脚旁边一颗104,位置尽量在同一面、距离两三个毫米以内。放远了等于摆设。

发热器件别挤在一起,也别贴着电解电容。电解电容的寿命对温度极其敏感,旁边放个发热的DCDC电感,等于给它判了缓刑。

接口元件靠近板边,且留出插拔空间。这个不用多说,但实际操作里常有人把USB座放在板子中间,插线的时候被旁边的元件挡住。

4.3 布局还没开始就该设好的设计规则

很多人把设计规则留到布线前才设,我的建议是建完板框就设。原因很简单:规则会影响你布局的决策。比如你设了最小间距0.2mm,那布局时两个元件靠多近就不必凭感觉猜。

规则设置入口是Design → Rules(快捷键 D → R)。需要优先配置的几项:

  • Clearance(安全间距):常规信号设0.2mm起步,工艺能力好的板厂能做到0.15mm。第一次打样建议保守一点,别一上来就0.1mm,良率会给你上课。
  • Width(线宽):分三类设——普通信号、电源、大电流。可以建网络类,把电源网络归到一类统一设宽度。
  • Via(过孔):常用 0.3mm 孔径配 0.6mm 焊盘,或者 0.4/0.8。孔径越小成本越高,0.3mm是大多数板厂的常规能力。
  • Plane(内电层):如果做四层板,内电层的连接方式、热焊盘参数要提前设。
  • Solder Mask Sliver(阻焊桥):芯片引脚间距小的时候,这个规则能帮你发现焊盘之间阻焊太窄的问题。

规则是可以按网络、按网络类、按元件类分别设的,这一点很关键。比如你可以让电源网络用0.5mm线宽、间距放0.3mm,而普通信号仍然0.2mm。分类越细,后面的布线就越顺。

5. 布线、铺铜与交付前的检查

5.1 交互式布线的节奏和常用操作

布线用P → T(Interactive Routing),进入之后鼠标点起点、点拐点、空格键切换走线拐角样式(45度、圆弧、任意角度),小键盘的 * 或 +在换层的同时自动放一个过孔,Shift+W快速切换预设的线宽。

布线的顺序建议是:先电源主干,再关键信号(时钟、复位、差分对),最后普通信号。原因是电源线的位置最"霸道",它经常要走粗线甚至铺铜,普通信号绕着它走就行;反过来先布普通信号,电源线就只能在缝隙里钻,要么被迫变细,要么绕远路。

布线的几个实用习惯:

  • 走线尽量走顶层和底层的正交方向,顶层横着走,底层竖着走,交叉干扰小。
  • 差分对用P → I(Differential Pair Routing)走,保证等长等距。
  • 高速线避免直角拐弯,用两个45度或者圆弧过渡。
  • 一根线尽量少换层,每换一次层都是一个阻抗不连续点。
  • 布线过程中随时用Ctrl+M量距离,别凭眼睛估。

布完线别急着铺铜,先看一遍飞线是不是全没了。如果还有飞线,说明有网络没连完,用T → D跑一次DRC里的 Un-Routed Net 检查就能定位。带着未连接网络去铺铜和出Gerber,是新手最常见的"低级但致命"的错误。

5.2 线宽、过孔与载流能力的经验数据

这一块是纯经验,但非常实用。1oz铜厚(约35μm)的板子上,下面是常用的参考值,条件是外层走线、允许温升10℃左右:

线宽 mm线宽 mil载流参考适合的场景
0.28约 0.5A普通信号、小电流上拉
0.312约 0.8A小功率电源分支
0.520约 1.5A板内电源主干
1.040约 3A大电流通道
2.080约 6A电源输入、电机驱动

过孔方面,0.3mm孔径、0.6mm焊盘的常规过孔,单个大约能过0.8到1A;要做大电流就并排多放几个,三个并联大致能顶上2A多。

必须说明的是:**这些数字是量级参考,不是标准值。**实际载流跟铜厚、板内层还是外层、周围铺铜的散热面积、允许温升都有关系。内层因为夹在介质里散热差,同样线宽载流大约要打六折。批量产品或者大电流场合,稳妥做法是留够余量并用实测温度验证,别按表上的极限值下手。

热词里常有人问"0.3mm能过多少电流",答案永远是"看条件"。给一个能用的起点,再留一倍余量,这是我在实际项目里的习惯。

5.3 铺铜策略和铜皮挖空

铺铜用P → G(Polygon Pour),画一个多边形区域,选好网络(通常选GND)、层、连接方式(实心连接或热焊盘连接)。

几个关键参数:

  • Pour Over Same Net:是否覆盖同网络的走线。一般打开,铺铜会和同网络的走线融在一起,接触更充分。
  • Remove Dead Copper:移除孤岛铜。建议打开,否则会留下一些根本没连到GND的小铜块,它们不是地,反而像天线。
  • Grid 与 Track Width:网格铺铜的线宽和间距。全实心铺铜设线宽大于间距即可。
  • 连接到焊盘的方式:过孔和插件焊盘建议用热焊盘(Thermal Relief),方便焊接散热;贴片焊盘可以直连。

铺完铜经常需要挖空某些区域,比如继电器下方的隔离带、天线区域、高压爬电距离。做法是Place → Polygon Pour Cutout,在铺铜上画一个封闭区域,然后右键铺铜执行重新灌铜(Repour)。挖空区域不会被铜填满,且下次重新灌铜时依然保留,这个特性非常好用——比手动删铜块再补的办法靠谱得多。

多层板的铺铜还要考虑层间对称。如果只在顶层铺了一大块铜而底层没有,板子在回流焊的高温下可能因为热应力不均而翘曲。四层板通常中间两层是完整的地和电源平面,上下两层铺铜尽量对称分布。

5.4 DRC、Gerber与钻孔文件的输出

交付前必须跑一遍Design Rule Check(T → D)。DRC会按你设的规则逐项检查:间距、线宽、短路、未连接网络、未连接引脚、阻焊、丝印压焊盘等等。跑完之后在 Messages 面板里逐条看,红色错误必须清,黄色警告按情况判断。

这里有个经验:丝印压焊盘这类警告经常被忽略,但影响不小。丝印盖在焊盘上,焊接时会被锡膏盖住或者干脆印不上去,严重时影响元件识别。AD里有专门的规则可以检查,建议把丝印到阻焊的间距设上,比如0.15mm。

清完DRC就可以出生产文件了:

  • Gerber:File → Fabrication Outputs → Gerber Files。建议用毫米单位、2:4或2:5的格式,勾选 Used On 的层,确保每一层都出全。出完用AD自带的Gerber查看器或者第三方工具打开看一眼,确认层数、板框、钻孔都对。
  • 钻孔文件:File → Fabrication Outputs → NC Drill Files。注意单位和格式要和Gerber保持一致(都毫米或都英寸),否则板厂做出来的孔位会有偏差。
  • 坐标文件:贴片厂需要的 Pick and Place,输出格式按厂家要求选。
  • BOM:从原理图端 Reports → Bill of Materials 导出,注意核对封装列和位号列。

出完文件之后,我固定会做一次"自检清单":板框尺寸对不对、层数报给板厂的是几层、最小线宽和最小间距是多少、过孔孔径是多少、有没有盲埋孔需求。这几项写清楚随文件一起发给板厂,能省掉大量来回确认的时间。

6. 反复踩过之后固定下来的几个习惯

6.1 改封装不要直接在PCB里硬改

PCB画到一半发现某颗电阻的封装选小了,直接的做法是在PCB里选中它换成另一个封装,但这样改有个致命问题:下次同步网表时会被冲回去。因为封装绑定关系记录在原理图端,PCB里的手动修改只是临时状态。

正确做法是回原理图改,然后重新同步。如果只是想让PCB里的显示更好看而改封装(比如把丝印换个方向),那属于非电气属性,不用担心被冲。判断标准很简单:这个改动会不会影响网络的连接点。会影响的一律回原理图。

极端情况下,如果板子已经布完线才发现封装要换,工作量确实大。这时候我的处理方式是:先在原理图改封装,同步,然后在PCB里用Tools → Component Placement → Reposition Selected Components,把新封装的元件拖到原来的大致位置,再重新连那几条断掉的线。虽然麻烦,但比留着隐患强。

6.2 文件与版本的备份节奏

AD的工程文件类型多,PcbDoc、SchDoc、PrjPcb,还有各种库文件,散在几个文件夹里。我见过太多人只备份PcbDoc,结果原理图丢了,改板时抓瞎。

我的做法是给每个项目建一个总目录,里面固定几个子目录:工程文件、库、输出、备份。备份不用很复杂,就是在关键节点手动复制一份整个工程文件夹,命名带上日期和版本号。关键节点包括:原理图定稿、PCB布局完成、布线完成、发板前、回板调试后。这五个节点各留一份,出任何问题都能回退。

如果需要更省事,AD的**工程打包(Project → Smart PDF / 或者直接压缩工程目录)**也可以,但PDF只适合存档查看,不适合回退修改。真正靠谱的还是原始工程文件的完整副本。

6.3 一个被低估的检查动作:把网表打印出来对一遍

这个习惯可能有点土,但救过我两次。发板前把PCB的网络表导出成文本,和原理图的网络列表做一次人工抽查,重点看几个地方:电源网络的连接数量对不对、地网络的引脚是不是全在了、几个关键信号有没有连错位置。

工具能查出电气冲突,但查不出"逻辑上连错了但语法上没问题"的情况。比如你把两个不同电压域的地连在了一起,DRC不会报错,因为它们都是GND网络;但板子回来一上电,两路电源就开始互相灌电流。这种问题只有人工对一遍才能发现。

说到底,从原理图生成PCB这个动作本身只需要几秒钟,但把这个动作做对、做扎实,靠的是前面那一长串看不见的准备和后面那一长串看得见的检查。我现在的习惯是把这个流程当成一个固定动作来做:封装核对、编译清警告、同步看ECO、布局前设规则、布完线跑DRC、出文件前打印对网表。六步走下来,发出去的板子基本没出过电气性返工,偶尔的小问题也都是阻焊、丝印这类可以接受的外观瑕疵。这套流程不花哨,但稳。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询