1. 项目概述:从零到一,用AD完成一块PCB的诞生
最近在整理自己的项目资料,翻到了去年九月份完成的一个小批量硬件项目。当时为了确保设计质量和流程可追溯,我详细记录了从原理图到Gerber文件输出的每一个步骤。今天正好有空,就结合这个项目,把使用Altium Designer(后面简称AD)绘制PCB的完整设计流程重新梳理一遍,分享给刚入行或者想系统回顾的朋友。这不仅仅是一个软件操作教程,更是一个融合了设计思路、工程规范和实战踩坑经验的完整记录。
无论你是学生正在做毕业设计,还是初级工程师开始接触第一个量产项目,这篇文章都能帮你建立一个清晰、规范的设计框架。AD的功能非常庞大,但核心流程是相通的。我们将围绕“需求-原理图-PCB布局-布线-输出”这条主线,深入每个环节的细节,包括库管理、规则设置、布局策略、布线技巧,以及最终交付给板厂前必须检查的那些“坑”。我会尽量用口语化的方式,结合我当时的设计实例,让你明白每一步“为什么要这么做”,而不仅仅是“怎么做”。
2. 设计起点:需求分析与前期准备
在打开AD软件画第一根线之前,足够充分的前期准备是项目成功的一半。很多人容易忽视这一步,直接跳到画原理图,结果往往是中途频繁修改,甚至布局完成后才发现核心器件选型有问题,导致前功尽弃。
2.1 明确设计需求与器件选型
我的项目是一个基于STM32的工业数据采集模块,需求明确:4路模拟量输入(0-10V)、2路数字量隔离输入、2路继电器输出、RS-485通信、DC24V供电。基于这个需求,我开始进行器件选型。
主控芯片我选择了STM32F103C8T6,资源足够且生态成熟。模拟量输入部分,需要用到运放进行信号调理,这里选择了TI的OPA2188,低噪声、低失调电压,非常适合精密测量。数字隔离用的是ADI的ADuM2401,四通道磁隔离。每一个器件的选型,我都会去官网下载最新的数据手册(Datasheet)和封装图纸(Package Drawing)。
注意:千万不要在第三方网站随便下载一个封装就用。一定要以器件官网或官方分销商提供的封装信息为准。我曾经因为用了论坛下载的“差不多”的LQFP48封装,导致芯片引脚和焊盘对不齐,整批板子报废。
选型时,除了功能,一定要关注这几个参数:封装类型(是贴片还是直插)、封装尺寸(长宽高、引脚间距)、功耗、温度范围,以及是否容易购买。去年很多芯片缺货,如果你选了一个偏门型号,画完板子才发现买不到,那就太尴尬了。我通常会在立创商城、得捷电子这些地方先查一下库存和价格。
2.2 工程创建与库管理规范
打开AD,第一件事不是新建原理图,而是新建一个完整的“工程”(Project)。我习惯的目录结构是这样的:
项目名称_日期 (例如: DataAcqModule_20230901) ├── 01_Documents (存放需求文档、手册、参考资料) ├── 02_Schematic (原理图文件) ├── 03_PCB (PCB文件) ├── 04_Outputs (Gerber、BOM、坐标文件等输出) ├── 05_Libraries (工程专用库) │ ├── SchLib (原理图库) │ └── PcbLib (PCB封装库) └── ProjectName.PrjPcb (AD工程文件)在“05_Libraries”文件夹下,我为这个工程单独创建了原理图库(.SchLib)和PCB封装库(.PcbLib)。我强烈建议为每个重要项目建立独立的库,而不是一直用软件自带的通用库或一个混乱的“我的总库”。这样做的好处是,项目归档后,所有用到的符号和封装都打包在一起,几年后回来修改也不会因为库丢失或链接错误而头疼。
新建好库文件后,我根据选型清单,开始逐个绘制原理图符号和PCB封装。绘制原理图符号时,要点是引脚定义准确、符号直观。比如画一个MCU,我会把电源引脚、地引脚、功能相近的引脚(如USART1_TX, USART1_RX)在符号上就近放置,方便后续原理图连线。绘制PCB封装是精细活,必须严格按照数据手册的“Recommended Land Pattern”来画。用AD的封装向导可以快速创建标准的QFP、SOP等封装,但创建后一定要用测量工具核对关键尺寸:引脚间距(Pitch)、焊盘宽度(Width)、焊盘长度(Length),以及芯片本体到第一引脚的位置。
3. 原理图设计:逻辑与规范的体现
原理图是设计的逻辑蓝图,它必须正确、清晰、规范。好的原理图能让后续的PCB设计、调试乃至生产维修都事半功倍。
3.1 绘制清晰可读的原理图
在原理图页面,我将电路按功能模块划分:MCU最小系统、电源电路、模拟输入电路、数字隔离电路、输出驱动电路、通信接口电路。每个模块用一个“图纸符号”(Sheet Symbol)来表示,或者在同一张图纸上用明显的虚线框和标题隔开。
连线时,我大量使用“网络标签”(Net Label)而不是长长的导线。对于跨页连接的信号,比如I2C的SCL和SDA,我会在每一页都用相同的网络标签,AD会自动识别为同一网络。电源和地网络,我习惯用“电源端口”(Power Port)符号,比如“VCC3.3”、“GND”,这样非常清晰。
每个重要的元件旁边,我都会添加文本注释。例如,在滤波电容旁标注“100nF, X7R, 10%”;在电阻分压电路旁写上“分压比 1:10”。这些注释对后续的BOM核对和调试有巨大帮助。
3.2 原理图编译与电气规则检查
画完原理图后,千万不要直接导入PCB。必须进行编译(Compile)和电气规则检查(ERC)。在工程选项中,我设置了常用的ERC规则:检查未连接的引脚、未连接的电源、重复的网络名等。
编译后,AD会在“Messages”面板列出所有错误和警告。对于错误(Error),必须全部解决,比如两个输出引脚短路了。对于警告(Warning),要逐一判断。例如,“未连接的输入引脚”这个警告,如果这个引脚在MCU内部已经配置为上拉,或者我确实想悬空,那可以忽略,但最好在原理图上该引脚旁放一个“No ERC”标志,告诉软件我是故意的,避免下次检查时再次提醒。
这个步骤能排除掉原理图上90%的低级错误,比如线没连上、网络名拼写错误等。我见过有人因为一个电源网络标签拼错(“VCC”写成了“VCC1”),导致整个电源网络在PCB上断开,板子回来完全不上电,损失惨重。
4. PCB布局:规划的艺术
将原理图导入PCB(Design -> Update PCB Document…)后,所有元件会堆在板框外的一个区域。真正的挑战从这里开始。布局决定了布线的难易度、信号的完整性和电磁兼容性(EMC)的底子。
4.1 板框定义与叠层规划
首先,根据结构要求(外壳尺寸、安装孔位)绘制板框(Board Shape)。我通常用“Place -> Line”在Mechanical 1层画出精确的板框,然后选中这些线,使用“Design -> Board Shape -> Define from selected objects”来生成板子形状。
接下来是至关重要的叠层规划。对于我这个两层板项目,结构相对简单,但我也需要明确:顶层(Top Layer)和底层(Bottom Layer)都是信号层,同时兼作电源和地平面的一部分。在“Layer Stack Manager”中,我设置了1.6mm的总板厚,以及合适的铜厚(通常外层1oz,内层根据需要)。
如果是四层板,常见的叠层是:Top(信号)- GND(内电层)- Power(内电层)- Bottom(信号)。这样能为高速信号提供完整的回流平面。在叠层管理器里,可以清晰地设置每层的材料、厚度和类型。
4.2 核心器件定位与模块化布局
布局的原则是:先固定后移动,先核心后外围。
- 固定器件优先:首先放置所有位置固定的器件,如连接器(电源插座、USB口、端子)、开关、指示灯、结构限定的螺丝孔等。这些器件的位置几乎没有调整余地。
- 核心器件定位:放置核心芯片,如MCU、FPGA、主电源芯片。MCU应放在板子中央或略偏的位置,方便信号向四周辐射。同时要考虑散热,如果芯片功耗大,要预留散热空间或靠近板边。
- 功能模块布局:围绕核心芯片,进行模块化布局。将原理图中同一个功能模块的元件在物理上也聚集在一起。例如,我的STM32最小系统(晶振、复位电路、滤波电容)要紧贴MCU放置;模拟运放及其周围的电阻电容要集中放在模拟输入接口附近;继电器和驱动三极管要放在输出端子旁边。
布局时,要时刻在脑海中想象信号的流向。信号从输入接口进来,经过调理电路,进入MCU,再从MCU出去驱动负载。布局应尽量让这个路径顺畅、简短,避免信号来回折返。同时,要区分模拟区和数字区,如果条件允许,最好在物理上用“壕沟”(无铜区域)或地平面分割进行隔离,防止数字噪声串扰到敏感的模拟电路。
我习惯在布局时,把飞线(Connection Lines)打开,它能直观地显示元件之间的连接关系。通过不断移动元件,观察飞线的交叉和缠绕程度,目标是让飞线整体上看起来有序、交叉最少。这个过程很考验耐心,但一个好的布局能让后续布线轻松十倍。
5. PCB布线:连接与规则的舞蹈
布局完成后,板子上布满了密密麻麻的飞线。布线就是将它们变成实实在在的铜皮走线。布线不是简单的连线,它需要平衡电气性能、可制造性和美观。
5.1 设计规则设置:布线的“宪法”
在布线之前,必须在“Design -> Rules”里设置好设计规则,这是保证设计符合生产和电气要求的基石。我通常会设置以下几类关键规则:
- 电气规则(Electrical):
- Clearance:安全间距规则。我一般设置全线距为6mil(0.152mm),对于高压部分(如24V电源)会单独设置更大的间距,如20mil。
- Short-Circuit:是否允许短路,必须设为不允许。
- Un-Routed Net:检查未连接的网络,必须勾选。
- 布线规则(Routing):
- Width:线宽规则。我创建多个规则:电源线(如24V、3.3V)设置为20-40mil;普通信号线设置为6-10mil;对于需要做阻抗控制的信号(如USB差分对),则根据板厂提供的叠层参数计算后设置特定宽度(例如,50欧姆单端线可能为8mil)。
- Routing Via Style:过孔尺寸规则。我常用的过孔是外径24mil(0.6mm),内径12mil(0.3mm),这个尺寸大多数板厂都能以较低成本生产。
- 平面规则(Plane):
- Polygon Connect Style:覆铜连接方式。对于地网络(GND)的过孔和焊盘,我通常用“Relief Connect”(热焊盘连接),用4根细线连接,防止焊接时散热过快。对于电源网络,有时为了减小阻抗,会用“Direct Connect”(直接连接)。
- 制造规则(Manufacturing):
- Hole To Hole Clearance:孔与孔之间的间距,防止钻孔时破孔。
- Minimum Solder Mask Sliver:阻焊层桥的最小宽度,防止阻焊脱落。
规则设置好后,AD会在你布线时实时进行DRC(设计规则检查),一旦违反规则(比如线距太小),走线会显示高亮错误,非常直观。
5.2 手动布线策略与技巧
我偏好手动布线,虽然慢,但对线的控制力最强。自动布线(Auto Route)的结果往往惨不忍睹,只适合非常简单的板子或作为初步参考。
- 先电源,后信号:电源线承载电流大,需要更宽的线宽。先布通主要的电源网络,确保供电路径畅通、压降小。对于核心芯片的电源引脚,附近一定要放置去耦电容,并且电容的GND端要就近打孔连接到地平面,形成最小的回流环路。
- 关键信号线优先:时钟线、高速差分线(如USB、以太网)、模拟小信号线等是关键信号。它们需要优先考虑,走线要短、直、避免过孔。差分对要走等长、等距、平行,并与其他信号保持3W(线宽的3倍)以上的间距以减少串扰。
- 活用过孔和层:两层板布线,过孔是必不可少的跳线工具。但不要滥用过孔,过多的过孔会增加寄生电容和制板难度。走线遇到障碍时,可以巧妙地从顶层换到底层(或反之)来绕过。对于需要屏蔽的长距离信号线,可以走在内电层(GND或Power)之间,利用平面做天然屏蔽。
- 45度角走线:尽量避免90度直角走线,因为在高速情况下,直角拐角相当于一个容性负载,可能引起信号反射。我习惯使用Shift+空格键切换走线模式,多用45度角或圆弧走线。
- 地平面的重要性:即使在两层板中,也要尽力保证地平面的完整性。布线时,要有意识地为地平面留出空间。在布线后期,我会在顶层和底层未被走线占据的大片区域进行覆铜(Polygon Pour),并连接到GND网络。一个完整的地平面是最好的噪声吸收器和屏蔽层,也能为所有信号提供低阻抗的回流路径。
6. 设计后期:覆铜、丝印与DRC
当所有网络都显示“Routed(已布线)”百分比达到100%后,设计工作并未结束。后期处理同样关乎板子的性能和可生产性。
6.1 覆铜处理与修整
覆铜不是简单地铺一大片铜了事。我一般会进行两次覆铜操作:
- 初次覆铜:设置好覆铜规则(连接方式、与导线间距等),对顶层和底层分别进行覆铜,网络都连接到GND。覆铜后,板子上会多出大片铜皮。
- 修铜与分割:这是关键步骤。我会仔细检查覆铜区域,用“Place -> Polygon Pour Cutout”工具挖掉一些无用的、尖锐的“孤岛铜”(Dead Copper),这些孤岛铜在电镀时可能翘起。对于需要隔离的区域,比如模拟地(AGND)和数字地(DGND)的汇合点,我会用划线工具(在Polygon Pour层)画出分割线,或者通过精确的覆铜边界来实现单点连接。
覆铜与走线、焊盘的间距要足够(通常等于或略大于线距规则),防止生产时因对位偏差造成短路。修整后的地平面应该看起来均匀、完整,没有特别细长的“天线”状结构(可能成为辐射源)。
6.2 丝印调整与装配图
丝印层(Top Overlay, Bottom Overlay)是板子上的白色文字和图形,用于标识元件位号、版本号、极性等。AD默认生成的丝印往往杂乱地堆在元件中间,需要手动调整。
- 位置:将位号(如R1, C2)移动到元件旁边空旷的位置,确保焊接后清晰可见。极性标识(如电容的“+”,二极管的竖杠)必须放在正确的位置且清晰。
- 方向:尽量保持所有丝印的阅读方向一致(比如都是从左到右,或从下到上),方便组装人员查看。
- 大小:丝印线宽不要小于5mil,高度不要小于30mil,否则小尺寸字符在印刷时可能模糊不清。
- 装配图:除了PCB本身的丝印,我还会单独生成一份PDF格式的装配图(Assembly Drawing)。在AD的“File -> Smart PDF”向导中,可以勾选生成包含顶层和底层元件轮廓、位号的图纸,这对于生产线上的工人焊接贴片元件至关重要。
6.3 最终设计规则检查与拼版考虑
在发出制板文件前,必须进行最后一次全面的DRC检查。在“Tools -> Design Rule Check”中,运行所有规则检查。这次要特别关注“Manufacturing”相关的规则,比如最小线宽线距、最小孔径、阻焊桥等,确保设计符合目标板厂的工艺能力(通常板厂官网会给出“工艺能力表”)。
如果这个板子需要批量生产,且尺寸较小,通常会考虑拼版(Panelization)。拼版可以提高生产效率,方便SMT贴片。拼版工作有时由板厂完成,但自己设计时需要注意:添加工艺边(通常左右各5mm)、添加邮票孔或V-CUT作为分板连接、在工艺边上添加光学定位点(Fiducial Mark)和板号标识。
7. 生产文件输出:Gerber与钻孔文件
这是设计流程的最后一步,也是将电子文件转换为物理板子的桥梁。输出错误的文件是新手最常见的错误之一。
7.1 生成Gerber文件
在AD中,通过“File -> Fabrication Outputs -> Gerber Files”打开设置对话框。我的常用设置如下:
- General:单位选“Inches”,格式选“2:5”(精度更高)。
- Layers:在“Plot Layers”下拉框中选择“Used On”,然后勾选所有用到的层。切记:不仅要勾选信号层(Top, Bottom)、丝印层(Top Overlay, Bottom Overlay)、阻焊层(Top Solder, Bottom Solder),还要勾选板框层(Mechanical 1)和钻孔引导层(Drill Drawing, Drill Guide)。对于多层板,内电层也要勾选。
- Drill Drawing:勾选“Drill Drawing Plots”下的所有选项,生成钻孔图。
- Apertures:保持默认“Embedded apertures (RS274X)”即可,这是现代的标准。
- Advanced:在“Leading/Trailing Zeroes”中选择“Suppress leading zeroes”,很多板厂习惯这种格式。
设置完成后,点击“OK”,AD会在工程目录下生成一个“Project Outputs”文件夹,里面包含了所有Gerber文件(.GTL, .GBL, .GTO, .GBO, .GTS, .GBS, .GML等)和钻孔图文件。
7.2 生成钻孔文件与IPC网表
Gerber文件描述了图形,钻孔文件(NC Drill Files)则告诉钻床在哪里打孔。在“File -> Fabrication Outputs -> NC Drill Files”中,单位格式与Gerber设置保持一致,点击“OK”生成.TXT和.DRR文件。
一个非常重要的步骤是生成IPC网表。在“File -> Assembly Outputs -> Generates IPC-356 Netlist File”。这个文件包含了网络的连接关系,板厂可以用它来对比Gerber,进行“飞针测试”或“裸板测试”,检查生产出来的PCB是否存在开路或短路。提供这个文件是专业性的体现。
7.3 文件检查与打包
文件生成后,绝对不能直接发给板厂!必须用Gerber查看软件(如免费的GC-Prevue、ViewMate,或付费的CAM350)自己先检查一遍。
- 逐层检查:导入所有Gerber和钻孔文件,逐层查看,确认每一层的内容是否正确。重点检查:阻焊层是否漏开了焊盘、丝印是否压到了焊盘、板框是否完整、钻孔是否对齐。
- 核对孔径:检查钻孔文件中的孔径尺寸是否与设计一致。
- 生成3D预览:很多查看器可以生成3D视图,直观检查元件是否有高度干涉。
确认无误后,将所有Gerber文件(.gbr或.pho文件)、钻孔文件(.txt, .drl)、IPC网表(.ipc或.d356)以及必要的说明文档(如板厚、层数、表面工艺——有无铅喷锡、沉金等)打包成一个ZIP文件,再发送给板厂。在邮件正文中,最好再次写明关键要求:板厚、层数、铜厚、阻焊颜色、丝印颜色、表面工艺、数量等。
8. 实战避坑与经验总结
回顾整个流程,以及这些年踩过的坑,有几个点特别值得新手注意:
- 封装是万恶之源:封装画错,一切白费。画完封装后,最好用打印机1:1打印出来,把实物芯片放上去比对。或者,在AD的PCB库编辑器中,放置几个标准的0603、0805电阻容封装作为参考标尺。
- 电源完整性不是事后补救:布局时就要考虑电源路径。大电流路径要短而宽,主电源芯片的输入输出电容要尽可能靠近引脚。对于多层板,充分利用内电层做电源和地平面,并通过多个过孔将表层的电源/地焊盘连接到平面,以减小阻抗。
- DRC不是摆设:一定要设置严格的规则并全程开启在线DRC。不要抱有“这里挤一挤应该没问题”的侥幸心理。板厂的加工有公差,你的“应该没问题”可能就是批量的“肯定有问题”。
- 与板厂和结构工程师充分沟通:在布局前期,如果板子有特殊结构要求(如异形板框、金属外壳屏蔽、散热要求),一定要和结构工程师对齐。在发板前,可以和板厂的客服进行简单沟通,确认你的设计文件(特别是钻孔文件格式)是否符合他们的要求。
- 版本管理:使用“文件-另存为”或SVN/Git等工具管理你的设计文件。每次重大修改前都保存一个版本,并在文件内部(如PCB的Mechanical 1层)用文字标明版本号和修改日期。我吃过一次亏,改错了无法回溯,只能全部重画。
PCB设计是一个不断权衡和折中的过程:性能、成本、面积、可制造性。没有“最好”的设计,只有“最合适”的设计。这个流程记录了我认为比较规范的一套做法,希望能为你提供一个可靠的起点。随着项目复杂度的增加,你会遇到更多高速信号、射频、EMC等问题,那时就需要更深入的知识和仿真工具来辅助了。但无论如何,把基础流程走扎实,养成严谨的习惯,是应对一切复杂挑战的前提。