ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Altium Designer 2022 PCB设计全流程与工程避坑指南

Altium Designer 2022 PCB设计全流程与工程避坑指南 画PCB这件事最怕的不是软件不会点而是工程没建对。很多人第一次接触Altium Designer 2022会把它当成一个高级画图工具打开软件、拖几个元件、连几根线、导出Gerber然后就交给板厂。结果不是封装对不上就是网络表报错或者打样回来发现某个电源脚根本没连上。一个完整的PCB电子设计工程项目本质上是一条从需求到制造文件的链路Altium Designer 2022只是这条链路上的操作台真正决定成败的是工程结构、元件库、设计规则、布局布线和输出归档。这篇文章面向电子相关专业的学生、刚转硬件岗位的工程师以及想用AD 2022独立走完一遍项目流程的爱好者。我会按实际项目顺序把工程创建、原理图库、原理图、PCB封装、板框层叠、布局布线、DRC、Gerber输出和常见坑一次讲透。你可以把它当成一份可复现的操作笔记也可以当成项目开始前的检查清单。1. 工程创建前的准备与整体设计思路1.1 为什么先建工程文件而不是先画图Altium Designer 2022里的“工程”不是普通文件夹而是一个索引文件。一个标准的PCB工程通常包含.PrjPcb工程文件、.SchDoc原理图、.PcbDocPCB文件、.SchLib原理图库、.PcbLib封装库以及后续可选的.OutJob输出作业文件。很多人习惯先打开一个空白原理图画完再另存为最后再新建PCB这种散装操作在单页小电路里也许能跑通但一旦项目超过两页原理图、超过一百个网络就会出现文件关联混乱、网络表同步不上的问题。我通常的做法是在硬盘上先建一个项目根目录名字用“项目名_版本号_日期”例如PowerBoard_V1_20240518。目录里面再分Doc、Project、Library、Output、Datasheet五个子文件夹。Project放工程文件和原理图、PCBLibrary放自建的原理图库和PCB库Output放Gerber、钻孔、BOM、坐标文件Datasheet放关键器件的数据手册。这样做的好处是半年后你或者同事接手时不用到处翻文件直接打开Project里的工程文件就能继续干活。创建工程的路径是File New Project PCB Project。不要选Default也不要直接选Integrated Library。新建后立刻按CtrlS保存工程文件放到Project文件夹。接着右键工程名选择Add New to Project依次添加Schematic和PCB。这样原理图和PCB会挂在同一个工程节点下后续编译、同步、输出都会以工程为单位进行。这里有个小细节AD 2022的工程面板里文件顺序可以拖动调整我建议把原理图按功能页排序比如01_Power.SchDoc、02_MCU.SchDoc、03_Interface.SchDocPCB文件放在最后。这样编译时看消息面板错误定位会快很多。注意不要用中文路径也不要把工程放在桌面或下载文件夹。Altium Designer对中文路径和长路径的兼容性一般尤其是输出Gerber时容易报“文件无法写入”。路径里只用英文、数字和下划线。1.2 AD 2022 初始参数与界面设置装好AD 2022之后别急着画。先花二十分钟把Preferences过一遍。路径是DXP Preferences在AD 2022里也叫Settings Preferences。重点看几个地方Schematic General里把Auto-Save打开间隔设成10分钟保存数量设5个Schematic Graphical Editing里把Convert Cross和Drag设置成习惯方式我通常保持默认但会勾选Display Cross-Overs方便看交叉线PCB Editor General里把单位切换设成mm和mil可切换快捷键QPCB Editor Display里把Cursor Type设成Small 90高亮方式设成Mask这样走线时能看清当前层。还有一个容易忽略的地方System General里的Localization。如果英语一般可以勾选Use localized resources但我不建议把菜单全换成中文因为网上大部分教程、器件手册、工厂沟通都用英文菜单名。你可以保留英文菜单只把提示信息换成中文。另外Data Management Backup里可以设置自动备份AD 2022默认会在工程目录下生成History文件夹里面按时间戳保存版本。这个功能在误删网络或者规则改乱时能救命。界面方面建议打开Properties面板、Messages面板、Components面板、Projects面板。Components面板可以挂载自己的库Messages面板是编译和DRC报错的入口。如果你用双屏把Messages和Properties放到副屏主屏留给原理图和PCB。AD 2022支持自定义工作区调好后可以View Workspace Layouts Save Layout以后换项目直接调用。1.3 设计规则预设别等DRC报错才补很多新手画完PCB才第一次打开Design Rules然后被一堆DRC错误淹没。我的习惯是在画原理图之前就把常用规则建好因为规则会跟着PCB文件走后面同步网络表时不会丢。AD 2022的规则系统按优先级执行优先级高的规则会覆盖低的。你可以在Design Rules里右键New Rule也可以直接修改默认规则。下面这张表是我在普通四层板、低压数字和模拟混合项目里的常用起点。注意这不是万能值具体要看板厂的工艺能力和你的电流需求。规则类型规则名称推荐值适用场景Clearance最小间距6 mil / 0.15 mm普通低压信号板厂常规工艺Width信号线宽6-8 mil普通数字、模拟小信号Width电源线宽20-40 mil根据电流计算留50%裕量Via过孔尺寸0.3 mm 孔 / 0.6 mm 盘普通四层板板厂常规Via电源过孔多打几个或0.5/1.0 mm大电流路径Plane反焊盘间距8-10 mil内电层与孔、焊盘间距SolderMask阻焊开窗2-4 mil焊盘外扩防止露铜Silkscreen丝印到焊盘4-6 mil防止丝印印到焊盘上Height元件高度按结构限制有外壳或屏蔽罩时必设线宽不是拍脑袋定的。IPC-2221给过一个经验公式外部层走线电流和允许温升、铜厚、截面积有关。我写了一段Python脚本输入电流、温升和铜厚输出所需最小线宽单位是mil。你可以在项目开始前跑一下心里有数。import math def width_mil(current, delta_t10, copper_oz1, externalTrue): IPC-2221 近似计算走线宽度 current: 电流 A delta_t: 允许温升 °C copper_oz: 铜厚1oz 1.378 mil external: True 外层False 内层 k 0.048 if external else 0.024 area_mil2 (current / (k * (delta_t ** 0.44))) ** (1 / 0.725) thickness_mil 1.378 * copper_oz return area_mil2 / thickness_mil for i in [0.5, 1, 2, 3, 5]: print(f{i}A - {width_mil(i):.1f} mil)实测下来1A电流用1oz铜、10°C温升外层大约需要10-12mil。但我一般会给到15-20mil因为压降、散热和加工误差都要考虑。内层走线散热差同样电流至少加一倍宽度。这些规则先建好后面布局布线时打开Real-TimeDRC软件会实时提醒你哪里违规。2. 原理图库与原理图绘制2.1 元件符号库的创建与命名规范原理图库是项目的基石。你不一定每个器件都自建但关键器件、连接器、电源芯片、晶振、特殊封装一定要自己核对。AD 2022自带Manufacturer Part Search但库里的符号和封装不一定符合你的设计习惯。我的建议是通用阻容用自带库IC和连接器自建库并且把自建库放在工程目录的Library文件夹里不要散落在系统库中。新建原理图库File New Library Schematic Library。保存为ProjectName_SchLib.SchLib。在SCH Library面板里点击Add新建元件。每个元件至少填这几项Designator默认位号比如U?、R?、C?Comment填器件型号Description填功能Footprint链接到PCB封装。引脚要设置电气类型比如电源输入Power Input、输出Output、双向Bidirectional、无源Passive。电气类型会影响编译时的电气规则检查比如两个输出脚连在一起会报错这正是我们想要的。命名规范上我通常用“器件型号_封装”作为元件名比如TPS5430_SOIC8、STM32F103C8T6_LQFP48。引脚编号必须和数据手册一致尤其是QFN、BGA这种四面引脚。隐藏电源引脚要慎用虽然画图时干净但很容易漏接去耦电容。我一般把电源脚显式画出来然后每个电源脚旁边放一个0.1uF电容。符号的栅格建议用100mil引脚长度用200mil或300mil这样连线时容易对齐。画完一个元件后用Tools Component Rule Check检查重复引脚、缺少封装等问题。2.2 原理图绘制与电气连接原理图不是美术作品它的首要任务是准确表达电气连接。我通常按功能分页电源页、MCU页、通信页、接口页。每页左上角放标题块写明项目名、页码、版本、日期。元件放置用Place Part或者从Components面板拖。连线用Place Wire网络标签用Place Net Label。注意Wire才是真正的电气连接普通的Line只是图形线不产生网络。很多新手用画线工具连了半天编译时全是单端网络就是这个问题。差分对可以用Place Differential Pair命名要成对比如USB_D和USB_D-。总线可以用Place Bus然后通过总线入口Bus Entry连接。电源网络我习惯用Power Port比如VCC、GND、3V3而不是满图拉线。跨页连接一定要用Net Label或Port不要靠物理连线跨页。放置去耦电容时尽量靠近对应电源引脚原理图上虽然看不出距离但布局时你会感谢自己。画完一页后按Project Compile PCB Project。Messages面板会列出所有错误和警告。常见的警告有单端网络、引脚未连接、重复位号、差分对不完整。单端网络不一定都是错比如测试点、安装孔但你要逐个确认。重复位号必须改否则PCB里会叠在一起。引脚未连接如果确实不用可以放No ERC标记但要在备注里写清楚原因。2.3 原理图编译与网络表生成编译通过后下一步是把网络表同步到PCB。在AD 2022里操作是Design Update PCB Document。弹出Engineering Change Order对话框里面会列出所有要执行的变化添加元件、添加网络、添加Room。先点Validate Changes确认没有错误再点Execute Changes。如果这一步报错通常是封装缺失、引脚映射错误或者封装库路径不对。这里有个坑AD 2022默认会给每个原理图页生成一个Room。Room在布局时有用但如果你不需要可以在Project Options Class Generation里关掉或者在ECO里取消Add Rooms。另外如果同一个元件在原理图里改了封装必须在SCH Library里更新然后重新编译再执行ECO。不要直接在PCB里改封装否则下次同步会被覆盖。网络表同步后PCB里会出现所有元件堆在板框外。先别急着布局打开PCB面板检查网络数量、元件数量是否和原理图一致。我通常会数一下关键网络比如电源、地、复位、时钟确认没有漏。如果发现某个网络名带NetU1_1这种自动命名说明原理图里没有给网络标签最好补上不然后期调试很痛苦。3. PCB封装库与板框层叠3.1 封装库建立与IPC标准PCB封装决定了板子能不能焊。AD 2022自带IPC Compliant Footprint Wizard路径是Tools IPC Compliant Footprint Wizard。你可以输入引脚数、间距、焊盘长度、宽度它会按IPC-7351标准生成封装。对于QFP、QFN、BGA、SOP这些标准封装我强烈建议用向导生成不要手动画。手动画很容易把焊盘长度做短导致回流焊时立碑或者虚焊。自建封装库保存为ProjectName_PcbLib.PcbLib。每个封装的原点设在器件中心或者设在1号脚。焊盘编号要和原理图引脚编号一致。对于连接器我通常把1号脚放在左上角按逆时针排列。焊盘尺寸要留补偿比如0402电阻IPC标称焊盘宽0.5mm左右实际我会做0.55-0.6mm长度0.55-0.65mm具体看板厂工艺。QFN的散热焊盘要加过孔过孔不要直接打在焊盘上除非做塞孔否则回流焊时锡会流走。我一般把散热焊盘分成九宫格过孔打在网格交叉点然后用阻焊覆盖。3D模型也很重要。AD 2022支持STEP模型可以在Properties里给封装关联3D Body。这样布局时按3键就能看立体效果检查连接器方向、元件高度、外壳干涉。没有3D模型时至少画一个简易体标出高度。别等到结构工程师说“这个电容顶到外壳了”才返工。3.2 板框、定位孔与层叠设置板框一般画在Mechanical 1层或者Keep-Out Layer。我的习惯是机械外形画在Mechanical 1板厂切割线也用这一层Keep-Out Layer只用来限制布线区域不要混用。板框定义用Place Line画一个闭合多边形。然后按D S D也就是Design Board Shape Define from selected objects把板框变成真正的板形。定位孔用Place Pad孔径按结构要求比如M3螺丝用3.2mm孔焊盘外径5-6mm。定位孔要接地还是隔离看设计需求。层叠设置在Design Layer Stack Manager。两层板便宜四层板在大多数项目里更稳。我常用的四层结构是Top Signal、GND Plane、PWR Plane、Bottom Signal。介质厚度根据阻抗要求调整普通FR-4芯板0.5mm半固化片0.2mm总厚1.6mm。如果你要控阻抗比如USB差分90欧姆就要用Impedance Calculation工具输入线宽、间距、铜厚、介质厚度反推叠层。四层板的内电层用负片还是正片AD 2022默认是负片Plane层。负片层不需要走线靠反焊盘隔离适合完整地平面。注意层叠一旦确定不要随意改。改叠层会导致阻抗变化、板厚变化甚至影响已经布好的线。如果必须改先备份再重新检查所有阻抗线和电源平面。3.3 导入网络表与元件布局网络表导入后元件都在板框外。布局的第一步是把连接器放到结构指定位置比如USB口、电源插座、排针。然后按模块分区电源模块放一边MCU放中间模拟部分远离数字和电源。晶振尽量靠近MCU去耦电容靠近电源引脚。发热器件不要挨着温度敏感器件。大电流路径要短而粗反馈线要远离电感。布局时可以用Room辅助。从原理图同步过来的Room会框住同一页的元件你可以拖动Room整体移动。但最后我一般会删掉Room手动微调。按3键进入3D视图检查元件高度和外壳干涉。按CtrlShift滚轮可以切换层。布局阶段不要急着走线先用Place Line在Mechanical层画几条分区线把模拟区、数字区、电源区标出来。布局花的时间越多布线越轻松。我的经验是布局占整个PCB设计时间的40%到50%一点都不夸张。4. 布局布线实战从模块分区到阻抗与电流4.1 布局策略先大后小、先模后数布局的核心逻辑是先放结构固定的再放核心器件最后放小元件。结构固定的包括连接器、按键、指示灯、安装孔。这些位置由外壳决定改不了。核心器件包括MCU、电源芯片、传感器、晶振。小元件包括阻容、电感、二极管。放小元件时遵循“就近原则”去耦电容靠近电源脚匹配电阻靠近信号源或负载上拉电阻靠近总线。模拟和数字混合系统要特别注意。数字信号回流路径小但开关噪声大模拟信号对噪声敏感。我的做法是模拟部分单独划一块地用0欧姆电阻或磁珠和数字地单点连接。ADC参考电压要远离数字时钟。晶振下面不要走任何信号线最好挖空铺地。开关电源的电感、二极管、输入输出电容要按数据手册的推荐布局回路面积越小越好。反馈线不要穿过电感下方否则会耦合噪声。布局完成后用Tools Component Placement Arrange Within Rectangle可以快速整理但我不推荐全自动因为软件不懂你的信号流向。最好手动拖边拖边看飞线。飞线是连接关系不是最终走线但它能告诉你哪些网络最需要短。把飞线密集的区域优先布局可以减少后期绕线。4.2 布线规则与线宽电流计算布线前先设置规则前面已经建过。走线时按P开始交互式布线Tab可以改线宽。AD 2022支持Interactive Routing有推挤、环绕、平滑模式。我一般用Hug and Push遇到障碍自动推挤。但推挤不是万能的密度高时容易乱这时切回Walkaround手动绕。线宽计算前面给了脚本。这里再补一个经验对照表1oz铜、10°C温升、外层走线电流最小线宽建议线宽备注0.5A5 mil8-10 mil普通信号和低功耗电源1A10 mil15-20 mil常见3.3V/5V电源2A20 mil30-40 mil电机、LED驱动3A30 mil45-60 mil大电流路径多打过孔5A50 mil80-100 mil最好用铜皮或厚铜内层走线因为散热差同样电流要更宽。如果空间不够可以增加铜厚比如2oz但板厂要加钱。过孔也要算电流一个0.3mm孔大约能过1A大电流路径多打几个孔。差分对要等长、等距USB 2.0差分90欧姆线宽和间距用叠层工具算。DDR等长组要在规则里设置Matched Length误差按手册要求通常50mil以内。4.3 铺铜、过孔与缝合铺铜用Place Polygon Pour。网络选GND层选Top或Bottom去掉死铜连接方式选Thermal Relief热焊盘连接。热焊盘的线宽和间隙要设好太细容易断太粗散热太快焊接困难。一般间隙0.2-0.3mm线宽0.2-0.3mm。铺铜后按T G A重新铺所有铜。注意铺铜不是越多越好敏感模拟区可以用网格铜数字区用实心铜。过孔缝合是在地平面之间打一圈过孔降低回流阻抗。板边每隔5-10mm打一个GND过孔晶振周围、连接器周围、电源模块周围多打。过孔不要打在焊盘上除非做塞孔。如果打在焊盘上焊接时锡会流到背面造成虚焊。过孔盖油还是开窗看测试需求。一般盖油测试点开窗。铺铜后一定要跑DRC。Tools Design Rule Check先跑Online DRC再跑Batch DRC。常见错误有间距不够、线宽不够、丝印压焊盘、未连接网络。未连接网络最危险可能是漏连也可能是铺铜没连上。用Reports Board Information看网络连接状态。如果某个网络显示Ratsnest说明还没连完。4.4 设计规则检查DRCDRC不是走个过场它是最后一道保险。AD 2022的DRC规则很多新手容易被吓到。我的做法是先看Error再看Warning。Error必须全改Warning逐条确认。比如Silkscreen Over Component Pads如果丝印确实压到焊盘最好挪开因为板厂可能会把丝印印到焊盘上影响焊接。Minimum Solder Mask Sliver太小可能导致阻焊桥脱落。Un-Routed Net必须清零。有些DRC错误是规则设得太严不是设计问题。比如板厂能做6mil间距你设了8mil就会报一堆错。这时候改规则不是改板。改规则前先和板厂确认工艺能力。AD 2022可以导出DRC报告Reports Design Rule Check保存为.html方便和同事一起看。我通常会在输出Gerber前跑三次DRC布局后一次、布线后一次、铺铜后一次。每次都能发现新问题。5. 输出制造文件与工程归档5.1 Gerber、钻孔、坐标与BOM输出输出制造文件推荐用OutJob。路径是File New Output Job File保存为ProjectName.OutJob。在OutJob里添加Fabrication OutputsGerber、NC Drill、ODB。Gerber设置里单位选Inches或Millimeters格式选2:5或4:6我一般用2:5板厂都认。层要全选Top、Bottom、Top Overlay、Bottom Overlay、Top Solder、Bottom Solder、Top Paste、Bottom Paste、Mechanical 1、Keep-Out。内电层也要选。钻孔文件选NC Drill格式和Gerber一致不要镜像。BOM输出用Report Bill of Materials或者OutJob里的Report Outputs。BOM要包含位号、型号、封装、数量、注释。坐标文件用Assembly Outputs Generates Pick and Place Files选CSV格式单位mm包含Top和Bottom。贴片厂需要坐标文件来编程。如果你只打样不贴片可以不出坐标但BOM还是要给方便采购。注意输出Gerber前把PCB文件里所有机械层、禁止布线层、尺寸标注检查一遍。不要输出Mechanical 2这种无关层否则工厂会问。输出后可以用Altium Designer Viewer或者免费的Gerber查看器检查看看焊盘、丝印、阻焊有没有异常。5.2 工程归档与版本管理一个完整的PCB工程项目交付物不只是Gerber。我通常归档这几样工程源文件.PrjPcb、.SchDoc、.PcbDoc、库文件、Gerber压缩包、钻孔文件、BOM、坐标文件、原理图PDF、PCB装配图PDF、关键器件数据手册、板厂工艺说明。文件夹按版本号命名比如V1.0_20240518、V1.1_20240525。每次改板新建版本文件夹不要覆盖旧版。版本管理可以用Git但原理图和PCB是二进制文件Git只能记录版本不能合并。我的做法是每次提交打标签写清楚改了什么比如“修正USB差分对阻抗”“增加TVS管”。如果团队协作可以用Altium 365或者SVN但个人项目用文件夹加压缩包就够了。关键是任何时候都能找到“上一版为什么这么画”。5.3 打样前自检清单打样前我会过一遍清单下面这张表是我用了很多年的版本。你可以直接抄也可以按项目增删。检查项检查内容常见错误原理图编译无ErrorWarning已确认单端网络、重复位号封装所有元件有封装引脚号一致封装缺失、引脚映射错板框闭合尺寸与结构一致板框不闭合、定位孔偏层叠层数、厚度、阻抗符合要求叠层改过但没更新规则规则线宽、间距、过孔符合板厂工艺规则太严或太松DRC无Un-Routed Net无Error漏连、短路丝印不压焊盘方向清晰位号重叠、极性标反阻焊开窗正确无阻焊桥脱落风险开窗太小、盖住测试点输出Gerber、钻孔、BOM、坐标齐全漏层、镜像、格式错归档源文件、PDF、数据手册齐全只有Gerber没有源文件6. 常见问题与排查技巧实录6.1 原理图与网络表常见问题原理图阶段最常见的问题是“编译报错但不知道去哪看”。Messages面板里双击错误会自动跳到对应位置。如果错误是Duplicate Component Designator说明有两个元件位号相同用Tools Annotation Annotate Schematics Quietly重新编号。如果是Net has only one pin检查是不是网络标签拼错或者连线没接上。有时候电源端口看起来连上了其实是两个不同名的电源网络比如3.3V和3V3编译不会报错但PCB里是两个网络。统一命名很重要。另一个坑是“从原理图更新PCB后元件不见了”。可能是封装库路径变了或者封装名改了。打开Projects面板右键工程Project Options Error Reporting把Violations Associated with Components里的Component has no footprint设成Error。这样每次编译都会提醒。还有如果PCB里手动删了元件再同步时AD会问你要不要添加别选错。6.2 PCB DRC与显示问题PCB阶段最常见的是DRC报“Clearance Violation”。先看是哪个网络和哪个网络再看规则优先级。有时候是铺铜和走线间距不够重新铺铜就行。如果是丝印压焊盘把丝印挪开。如果是Hole Size太小检查过孔规则。AD 2022的PCB Rules and Constraints Editor里规则可以按网络、按类、按区域设置。比如电源网络可以单独设更宽的线宽模拟区域可以单独设更大的间距。显示问题也很烦人。比如走线时只显示当前层其他层变灰按ShiftS可以切换单层模式。如果飞线不见了按N Show All。如果铺铜不显示按L打开View Configuration检查Polygon层是否可见。如果DRC标记不消失按T M清除所有错误标记。有时候软件卡顿可以Tools Preferences PCB Editor Display里把Use DirectX关掉换成GDI兼容性更好。6.3 输出文件工厂反馈问题工厂反馈最多的是Gerber问题。比如“缺少钻孔文件”“阻焊开窗不对”“外形层不明确”。我的经验是输出Gerber时把Mechanical 1命名为BoardOutlineKeep-Out不输出给工厂除非工厂要求。钻孔文件要包含PTH和NPTH分别代表金属化孔和非金属化孔。如果定位孔是非金属化要在钻孔文件里体现否则工厂会按金属化孔处理导致螺丝孔接地。还有“BOM里型号买不到”。这通常是选型阶段的问题。BOM里最好写完整型号包括封装、温度等级、包装。比如STM32F103C8T6要写清楚LQFP48不要只写STM32F103。如果用了替代料在BOM备注里写“可替代”。坐标文件要检查原点和方向贴片厂默认以板左下角为原点如果AD里原点在板中心坐标会偏。可以在Edit Origin Set里把原点设在板左下角再输出坐标。最后再分享一个我踩过很多次的坑每次改完原理图一定要重新编译、重新同步、重新跑DRC、重新输出Gerber。不要觉得“只改了一个电阻不用重新输出”。我就遇到过改了一个上拉电阻结果PCB里网络没更新打样回来上拉没连上。现在我的习惯是只要动了原理图就从头走一遍编译、ECO、DRC、OutJob。虽然麻烦但比返工便宜得多。
返回列表