1. 项目概述:从零到一的硬件设计初体验
自学AD(Altium Designer)的第二天,目标很明确:把昨天画好的原理图,变成一块实实在在、能拿去打样的PCB图。这感觉就像你刚学会用笔画房子的平面图,现在要开始用砖头水泥把它盖起来,兴奋里夹杂着一点对未知的忐忑。很多新手卡在这一步,看着原理图上密密麻麻的符号,不知道怎么把它们变成PCB上一个个有尺寸、有焊盘的实体,更别提后面复杂的布局布线了。其实这个过程有清晰的路径,只要理解了几个核心概念和操作流程,就能顺利跨过这道坎。这篇记录就是把我第二天踩过的坑、总结的步骤和关键技巧梳理出来,目标是让你看完后,能独立完成从原理图到PCB的完整转换,并对背后的设计逻辑有个清晰的认识。
2. 核心流程拆解与事前准备
在真正动手把原理图导入PCB之前,有几项准备工作至关重要,它们直接决定了后续工作的顺畅度。很多人急着点“Update PCB”,结果报出一堆错误,根源往往就在这里。
2.1 元器件封装检查:为每个符号找到“身体”
原理图中的元件,比如一个电阻R1,它只是一个逻辑符号,代表“这里有一个阻值为10K的电阻”。但PCB上需要的是这个电阻的物理形态:它长什么样(0805还是0603?),两个焊盘之间的距离(引脚间距)是多少。这个物理形态就是PCB封装。
检查方法:在原理图界面,双击任何一个元件,在属性面板里找到“Footprint”这一项。如果这里显示“Not Found”或者是一个明显错误的封装名(比如一个贴片芯片却用了直插的封装),那就需要手动指定。
如何指定或修改封装:
- 在元件属性里,点击“Footprint”旁边的
...按钮。 - 在弹出的封装浏览窗口中,你可以从已安装的库中搜索。AD自带了一些常用封装库(如
Miscellaneous Devices.IntLib),里面可以找到电阻、电容、接插件等的基础封装。 - 关键技巧:对于像STM32、TPS系列电源芯片这类特定元件,自带的库通常没有。你需要自己准备封装库。有两个主要途径:
- 从元器件供应商官网下载:以立创商城为例,几乎每个元件页面都提供了AD格式的封装和3D模型,下载后直接安装到AD的库中即可调用,这是最准确可靠的方式。
- 自己绘制:如果找不到现成的,就需要根据元件数据手册(Datasheet)中的机械尺寸图自己画。这是硬件工程师的基本功,第二天可以先学着用现成的,但必须知道这是后续必学技能。
注意:务必确保原理图中每一个元件都有正确且唯一的封装指定。一个常见的错误是,同一个原理图符号(如
Header 2)在不同地方使用时,有的需要弯针,有的需要直针,如果封装指定混乱,导入PCB后会导致无法布局。
2.2 工程与文件结构管理
AD是一个基于工程(Project)的软件。你的原理图文件(.SchDoc)和即将生成的PCB文件(.PcbDoc)必须放在同一个工程(.PrjPcb)下。你可以通过“Projects”面板查看。正确的结构应该是:
MyProject.PrjPcb ├── Source Documents │ ├── Schematic.SchDoc │ └── PCB.PcbDoc └── Libraries如果原理图和PCB文件是散乱打开的,没有包含在工程内,导入功能将无法使用。在开始前,请先新建或确认工程文件已创建,并将原理图文件添加进去。
2.3 编译工程:原理图的“体检报告”
这是最容易被忽略但极其重要的一步。编译(Compile)相当于对原理图进行一次全面的语法和逻辑检查。它会检查网络连接是否合理(比如输出引脚直接短路到地)、元件标识符是否重复、封装是否缺失等。
操作:在工程名上右键,选择“Compile PCB Project ...”。编译后,查看“Messages”面板。如果面板为空,恭喜你,原理图很健康。如果出现错误(Error)或警告(Warning),务必逐一排查解决。
- 常见错误:
Duplicate Part Designators(重复的元件标号),比如有两个R1。解决方法是使用“Tools” -> “Annotation” -> “Annotate Schematics”进行自动重新标号。 - 常见警告:
Floating Net Label(悬浮的网络标签),表示某个网络标签没有实际连接到任何导线上。检查并修正连接。
只有编译无误后,才能进行下一步。这相当于盖房子前的施工图审查,能避免很多低级错误被带到PCB阶段。
3. 从原理图到PCB的关键步骤实操
准备工作做扎实了,正式操作就水到渠成。这个过程的核心是设计同步,确保原理图的任何逻辑更改都能准确反映到PCB的物理布局上。
3.1 创建PCB文件与板框定义
首先,需要在工程中创建一个空的PCB文件。
- 在工程名上右键,选择“Add New to Project” -> “PCB”。这会生成一个名为
PCB1.PcbDoc的文件,建议立即重命名为有意义的名称,如MainBoard.PcbDoc。 - 定义板框(Board Shape)。板框就是PCB的实际外形和尺寸。在PCB界面,切换到“Keep-Out Layer”(禁止布线层,通常为粉红色)。这是定义机械边界的专用层。
- 使用“Place” -> “Line”工具,在Keep-Out Layer上画出你想要的板子外形,比如一个矩形。画完后,选中所有四条边线,然后点击“Design” -> “Board Shape” -> “Define from selected objects”。板子区域就会自动缩放到你画好的框内。
实操心得:板框可以在导入元件前定义,也可以之后根据元件布局情况再调整。对于简单板子,先画个大概就行。复杂或外壳有严格尺寸要求的,最好先用CAD软件画好外形DXF文件,再导入AD作为板框参考。
3.2 执行设计更新(Update PCB)
这是连接原理图和PCB的桥梁。
- 确保原理图文件是当前活动窗口。
- 点击“Design” -> “Update PCB Document ...”(你的PCB文件名)。或者,在PCB界面点击“Design” -> “Import Changes From ...”。
- 这时会弹出“Engineering Change Order”(工程变更订单,简称ECO)对话框。这里列出了所有需要同步的变更项,包括添加哪些元件(Add Components)、添加哪些网络(Add Nets)、添加哪些Room(元件房间,可忽略)等。
- 点击“Validate Changes”按钮。右侧“Check”列会显示绿色勾或红色叉。必须确保所有项都是绿色勾,如果有红色叉,说明存在错误(通常是封装问题),需要回到原理图检查,不能强行执行。
- 验证全部通过后,点击“Execute Changes”按钮。此时,所有元件和网络连接(表现为飞线)都会被导入到PCB文件中。
导入后的状态:你会发现所有元件都堆叠在PCB板框外的一个区域,这个区域叫做“Room”(如果原理图里有多个图纸可能会产生多个Room)。无数条细的、彩色的“飞线”(Ratsnest)连接着元件的引脚,直观地显示了原理图中的电气连接关系。接下来的任务,就是把这一堆元件合理摆放到板框内,并用实际的铜皮走线替换这些飞线。
3.3 核心环节:PCB布局的艺术与科学
布局是PCB设计中最体现工程师功力的环节,直接影响到电路的性能、可靠性和EMC(电磁兼容性)。对于新手,可以遵循以下基本流程和原则:
第一步:预处理
- 删除Room:选中那个黄色的矩形框(Room),按
Delete键删掉它,这样元件就可以自由移动了。 - 初步分类:可以按功能模块,用鼠标框选大致分一下类,比如把电源部分元件拖到板子左上角,MCU及其周边电路拖到中间,接口电路拖到板子边缘。
第二步:核心原则布局
- 模块化布局:按照原理图的功能模块进行布局。例如,STM32最小系统(MCU、晶振、复位、Boot电路)应该紧挨着放;电机的H桥驱动电路(如TB6612)的功率部分(MOS管、续流二极管、大电容)应集中放置,且靠近电机接口。
- 信号流走向:布局应尽量遵循信号的流向,从左到右或从上到下,避免信号线迂回穿插。例如,传感器信号从接口进入->经过滤波/调理电路->进入MCU的ADC引脚。
- 电源路径优先:先放置和确定电源模块的位置和走线路径。大电流路径(如电机驱动、DCDC输入输出)要短而粗。
- 特殊元件优先定位:
- 连接器:如电源插座、USB口、电机接线端子等,位置通常由外壳结构决定,必须首先固定。
- 大的或高的元件:如电解电容、散热器,要考虑它们是否会和外壳或其他元件干涉。
- 关键敏感元件:如晶振,应尽可能靠近MCU的对应引脚,下方避免走线,周围用接地铜皮包围。
第三步:布局调整与优化
- 使用对齐工具(
Align)让元件排列整齐。 - 按
L键可以打开“View Configurations”,在“View Options”中勾选“Convert Special Strings”,可以显示元件的参数值(如10k),方便核对。 - 随时按
3键切换到3D模式(2键是2D模式),查看元件实际排布和高度是否合理。
踩坑记录:第一次布局时,我只考虑了连线短,把去耦电容放得离芯片电源引脚有点远。结果板子做回来,单片机在高频运行时偶尔会复位。后来才知道,去耦电容(特别是0.1uF的陶瓷电容)必须尽可能靠近芯片的电源和地引脚,它的作用是为芯片瞬间的电流需求提供“本地水库”,路径长了就失效了。这是一个非常关键且容易忽视的细节。
4. PCB布线规则设置与实战技巧
布局完成后,飞线就像一张清晰的“接线图”,告诉你哪里需要连接。布线就是用实际的铜皮走线来完成这些连接。但走线不是随便连上就行,它需要遵循一系列电气和物理规则。
4.1 规则管理器:PCB设计的“宪法”
在布线前,必须设置设计规则。这是AD强大且核心的功能,通过“Design” -> “Rules”打开规则管理器。对于新手,以下几个规则必须设置:
- 电气规则(Electrical):
- Clearance(安全间距):设置不同网络之间的铜皮(走线、焊盘、覆铜)的最小间距。一般设置为
0.2mm(约8mil)或0.15mm(6mil),这是大多数PCB板厂的基础工艺能力。电源高压部分可以适当加大。
- Clearance(安全间距):设置不同网络之间的铜皮(走线、焊盘、覆铜)的最小间距。一般设置为
- 布线规则(Routing):
- Width(走线宽度):这是最重要的规则之一。需要为不同电流的网络设置不同的线宽。
- 创建一个新规则,命名为“Power”,在“Where the First object matches”里选择“Net”,然后指定你的电源网络名(如
VCC_5V)。将线宽设置为一个范围,例如Min Width: 0.3mm, Preferred Width: 0.5mm, Max Width: 2mm。对于电机驱动等大电流路径(如VM),可能需要1mm甚至更宽。 - 再创建一个规则,命名为“Signal”,应用范围可以是
All,设置普通信号线宽,例如0.2mm(约8mil)。AD在布线时会自动优先采用Preferred Width。
- 创建一个新规则,命名为“Power”,在“Where the First object matches”里选择“Net”,然后指定你的电源网络名(如
- Routing Via Style(过孔样式):设置过孔的内径(Hole Size)和外径(Diameter)。常用尺寸如
0.4mm/0.8mm(内径/外径)。内径要略大于引脚直径,外径要保证有足够的焊环。
- Width(走线宽度):这是最重要的规则之一。需要为不同电流的网络设置不同的线宽。
- 平面层规则(Plane):
- 如果你用的是双面板,并且有整片覆铜作为地平面(推荐),需要在“Polygon Connect Style”规则中设置覆铜连接方式。通常选择“Relief Connect”(热焊盘连接),连接线宽
0.3mm,连接数为4,这样焊接时散热不会太快,便于手工焊接。
- 如果你用的是双面板,并且有整片覆铜作为地平面(推荐),需要在“Polygon Connect Style”规则中设置覆铜连接方式。通常选择“Relief Connect”(热焊盘连接),连接线宽
4.2 手工布线实战与快捷键
设置好规则后,就可以开始布线了。按P->T进入交互式布线模式,或者直接使用快捷键P+T。
- 基本操作:单击一个焊盘开始走线,移动鼠标,AD会根据规则自动避让,在拐角处单击固定一段走线,双击另一个焊盘完成连接。
- 切换层与打孔:布线过程中,按数字键盘的
*键,可以在顶层(Top Layer)和底层(Bottom Layer)之间切换,并自动添加一个过孔(Via)。这是双面板布线的核心操作。 - 调整线宽:布线过程中,按
Tab键可以实时修改当前走线的宽度。 - 推挤与绕行:在布线设置中,可以调整“Routing Conflict Resolution”模式。
Ignore(忽略)、Push(推挤)、Walkaround(绕行)。对于新手,建议先用Ignore或Walkaround,Push模式在走线密集时可能把其他线推乱。 - 差分对布线:对于USB、高速485等信号,需要差分布线(两条线等长、等距、平行)。先在原理图中为这两条网络添加差分对标识符(如
_P和_N),然后在PCB中通过“Place” -> “Differential Pair”进行交互式布线,AD会自动保持两条线的间距和长度匹配。
布线顺序建议:
- 先布电源线和地线(尽可能宽、短)。
- 再布关键信号线,如时钟线(晶振到MCU)、复位线、差分对。
- 最后布一般低速信号线,如GPIO、LED控制线等。
4.3 覆铜与设计完整性检查
布线基本完成后,需要进行覆铜(铺铜),通常是将空白区域用铜皮填充并连接到地网络(GND),这能提供稳定的地参考、减小环路面积、增强抗干扰能力。
- 覆铜操作:按
P->G,进入覆铜放置模式。在属性面板选择网络为GND,层为Top Layer或Bottom Layer,勾选“Remove Dead Copper”(移除死铜)。然后沿着板框画一个多边形,将整个板子区域框住。画完后右键,覆铜会自动填充。 - 覆铜与焊盘连接:覆铜会按照之前设置的“Polygon Connect Style”规则与GND焊盘连接,通常呈现“十字热焊盘”样式。
- 设计规则检查(DRC):这是PCB出图前的最终“体检”。点击“Tools” -> “Design Rule Check”。在弹出的对话框中,保持默认设置,点击“Run Design Rule Check”。系统会检查所有违反设计规则的地方。
- 查看并修正错误:检查结果会在“Messages”面板和PCB文件(以绿色高亮标记错误处)显示。常见的DRC错误包括:
- Clearance Constraint:间距不足。需要调整走线位置或修改规则。
- Width Constraint:线宽不符合规则。需要加粗走线。
- Un-Routed Net Constraint:有网络未连接完成。检查飞线是否全部消失,如果还有飞线,说明有断线。必须解决所有DRC错误,直到报告显示
No Errors Found。
5. 输出生产文件与常见问题排查
DRC检查通过后,你的PCB设计在电气和物理规则上就合格了。但板厂生产需要的不是.PcbDoc文件,而是一套标准化的光绘(Gerber)文件和钻孔文件。
5.1 生成Gerber文件详解
Gerber文件是PCB行业的通用生产文件格式,它用一系列矢量图形描述每一层的信息(线路、阻焊、丝印等)。
- 在PCB界面,点击“File” -> “Fabrication Outputs” -> “Gerber Files”。
- 在弹出的对话框中,逐项设置:
- General:单位选
Millimeters,格式选2:5(精度更高,为常用格式)。 - Layers:点击
Plot Layers,选择Used On,这样只会导出你用到的层。务必确认顶层(Top Layer)、底层(Bottom Layer)、顶层丝印(Top Overlay)、顶层阻焊(Top Solder)、底层阻焊(Bottom Solder)、顶层锡膏(Top Paste,如果做SMT需要)、板框层(Keep-Out Layer,或你定义的机械层)等都被勾选。板框层(Mechanical 1或Keep-Out)一定要勾选,并勾选右边的“Mirror”和“Plot”。 - Drill Drawing:在“Drill Drawing”和“Drill Guide”层,勾选你使用的钻孔层(通常就是板子本身)。
- Apertures:保持默认
Embedded apertures (RS274X)即可。 - Advanced:在“Leading/Trailing Zeroes”中,选择
Suppress leading zeroes(抑制前导零),这是国内板厂最常用的格式。
- General:单位选
- 设置完成后,点击“OK”。AD会在当前工程目录下自动生成一个
Gerber Outputs文件夹,里面包含了所有.gbr文件。
5.2 生成钻孔文件
- 点击“File” -> “Fabrication Outputs” -> “NC Drill Files”。
- 设置与Gerber文件保持一致:单位
Millimeters,格式2:5,零字符抑制方式Suppress leading zeroes。 - 点击“OK”,生成
.drl(钻孔)和.txt(钻孔报告)文件。
5.3 文件检查与打包
生成文件后,绝不能直接发给板厂。必须用Gerber查看软件(如免费的GC-Prevue、CAM350,或立创EDA的Gerber查看器)打开检查。你需要核对:
- 各层是否正确对齐。
- 孔位、焊盘大小是否正常。
- 阻焊层(Solder Mask)是否正确开窗(焊盘处无阻焊油墨)。
- 丝印层(Overlay)文字是否清晰、有无上焊盘。
- 板框形状是否正确。
确认无误后,将Gerber Outputs文件夹下的所有.gbr文件、.drl文件以及.txt报告文件,打包成一个ZIP压缩包,这就是最终提交给PCB板厂的生产文件。
5.4 自学过程中的典型问题与解决
问题1:从原理图更新PCB时,元件找不到封装(Footprint Not Found)。
- 排查:在ECO的
Validate Changes阶段出现红色叉。回到原理图,双击报错的元件,检查Footprint属性。如果为空或错误,点击...重新选择或添加封装库路径。 - 根源:原理图库元件和PCB封装库没有正确关联,或封装库未安装。
问题2:PCB中元件移动时,飞线不跟着动,或者拖动一个元件,一堆线乱飞。
- 排查:检查是否在“Preferences” -> “PCB Editor” -> “General” -> “Editing Options”中,勾选了“Comp Drag”下的“Connected Tracks”。勾选后,拖动元件时,已连接的走线会跟随(推挤模式)。如果不想跟随,取消勾选即可。
问题3:布线时,走线无法走到想要的位置,总是被“卡住”或自动拐弯。
- 排查:首先检查布线规则中的线宽和间距是否设置过严。其次,检查是否开启了“布线栅格”(Snap Grid),栅格设置过大(如
1mm)会导致走线只能落在固定的格点上,不灵活。按Ctrl+G调出栅格设置,在布线时可以将捕捉栅格调小(如0.1mm)。
问题4:DRC检查时,出现大量“Un-Routed Net”错误,但板上看起来线都连上了。
- 排查:这种情况通常是因为连接是用画线工具(Place -> Line)画的,而不是用交互式布线工具(Place -> Interactive Routing)画的。画线工具画的只是图形,没有电气属性。必须用交互式布线(或快捷键
P+T)连接两个焊盘,飞线才会真正消失。可以用“Tools” -> “Un-Route” -> “All”清除所有布线,然后重新用正确的工具布线。
问题5:覆铜后,有些地引脚似乎没有和覆铜连接上。
- 排查:首先确认覆铜的网络属性是
GND。然后检查该引脚的焊盘是否属于GND网络。最后检查“Polygon Connect Style”规则,看连接方式是否是“Relief Connect”或“Direct Connect”,以及连接线宽是否太细导致视觉上看不清。可以暂时将覆铜的连接方式改为“Direct Connect”并重铺,看是否连接上,以确认问题。