ARTICLE DETAIL

资讯详情

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

Altium Designer PCB设计全流程:从原理图到Gerber输出实战指南

Altium Designer PCB设计全流程:从原理图到Gerber输出实战指南 1. 开始之前为什么很多人的AD流程越画越乱如果你刚接触Altium Designer或者已经画过一两块板子但总感觉哪里不对劲——原理图改了又改、PCB重排了三四次、导出Gerber时还报一堆错那这篇笔记就是给你写的。我自己的体会是AD这套软件功能太全反而让人容易迷失很多新手打开界面之后第一反应是“我到底该先点哪里”。这不是你的问题是流程感没建立起来。先把话说在前面AD绘图的完整链条是“工程文件管理 → 原理图设计 → 封装与库检查 → PCB布局 → PCB布线 → DRC检查 → 生产资料输出”。每一步都影响下一步原理图里一个引脚编号标错PCB上可能就要飞一根线来补。这篇笔记会完整梳理这条流程重点讲清楚每一步在干什么、为什么要这么干、常见坑在哪里同时把DDR4这类高速信号、SW6206这类原厂方案、STM32核心板、DHT11、WS2812B、TB6612这些具体场景串进去讲让你看完能直接照着操作。我自己最开始是从STC89C52RC的小板子开始练手的那时候不懂规则设置画完板子发给工厂工厂打电话来问“你这里间距只有4mil确定要这么做”我才意识到AD不只是“把线连上”那么简单。接下来我把这套流程拆开揉碎按实际干活顺序一步步讲。2. 项目准备与工程结构先搞清楚AD的项目文件在管什么2.1 工程文件的组织方式用过AD的都知道它和很多EDA软件不太一样不是打开一个文件就开始画而是先建一个“工程”。工程文件.PrjPcb本身不保存图形它像一个项目管理器把原理图文件.SchDoc、PCB文件.PcbDoc、原理图库.SchLib、PCB封装库.PcbLib、输出配置文件.OutJob全部关联在一起。这个设计的好处是当你从原理图更新到PCB时AD能通过工程结构准确找到对应的封装和网络不会“迷路”。我在实际项目里推荐这样建目录项目名/ ├── 项目名.PrjPcb ├── Source/ │ ├── 项目名.SchDoc │ └── 项目名.PcbDoc ├── Libraries/ │ ├── 项目名.SchLib │ └── 项目名.PcbLib ├── Outputs/ └── Docs/有些人习惯把库文件放在AD的安装目录下的Library文件夹里方便全局调用。我个人的建议是公司级通用库放全局项目特有器件放项目目录下。这样发出去给别人看的时候不会出现“打开你的原理图结果封装找不到”的尴尬情况。2.2 快捷键与工作界面配置的重要性很多人学AD第一步就去记快捷键但不知道为什么要这样设置。AD的快捷键逻辑是“字母组合触发命令”比如放置导线是P WPlace Wire放置元件是P PPlace Part测量距离是Ctrl M。这套逻辑练顺之后画图速度能快一倍以上。我一般在开始项目前会花两分钟把界面整理好右下角Panels里打开Properties面板和Libraries面板钉在右侧关闭不常用的Messages面板等需要看编译结果时再调出来把网格捕捉设为10mil原理图和5milPCB避免连线看起来歪歪扭扭。还有一个容易被忽略的点AD的缓存文件。用久了之后打开软件会明显变卡很多是缓存和临时文件堆积导致的。在Preferences → Data Management → Backup里把自动备份数量控制在3~5份另外定期清理%APPDATA%\Altium下的临时文件实测对启动速度改善非常明显。网上搜“altium designer如何清理缓存”能搜到各种方法核心就是这两处没有别的玄学。2.3 元器件库的建立与检查说到画原理图第一道坎就是元器件库。很多新手喜欢直接去网上下载现成库甚至用AD自带的库结果画到一半发现引脚编号和实际芯片对不上。这里说一个我的习惯不管从哪里拿到库用之前必须对照芯片数据手册Datasheet核对三样东西——引脚名称、引脚编号、封装尺寸。DDR4这种引脚数量特别多的器件尤其重要一个引脚搞错整个内存条设计就废了。如果你是自己画库有几点经验值得参考原理图库的引脚命名用“功能名_Pin序号”的方式比如D0_22方便后期排查PCB封装库的丝印层Top Overlay一定要画清晰的外框轮廓和第一脚标记这会极大方便焊接时人工对位如果一个器件有多种封装比如SOP-8和DIP-8建议在同一个原理图库元件里添加多个PCB封装模型通过“Add Footprint”关联这样在PCB阶段切换封装就非常方便。3. 原理图绘制流程从放置元件到编译检查3.1 放置元件与属性设置的细节原理图绘制的第一步是放置元件。按P P打开元件选择窗口从Libraries面板里选中你需要的库和元件双击放置到图纸上。这里有个细节放置之前先在Properties面板里把位号Designator和值Value改好不要等全部放完之后再一个一个改效率太低。比如你画一个STM32F103C8T6最小系统板核心元件大概有这么几类主控芯片STM32F103C8T6LQFP48封装电源部分AMS1117-3.3稳压芯片、10uF和100nF滤波电容各若干晶振电路8MHz无源晶振、两个20pF负载电容复位电路10k电阻、100nF电容、按键下载电路一个4pin排针或者SWD接口。我的建议是放置元件时按功能模块摆放不要乱丢乱放。比如电源相关的放一起主控放图纸中央接口放四周。这样做的好处有两个一是原理图可读性高评审的时候别人不需要满图找元件二是画PCB时网络连接关系更清晰布局时会自然按照原理图的分块来摆。3.2 网络标号与电气连接的正确用法原理图连线的核心是“电气连接”。AD里连线有两种方式一种是直接用导线P W连起来另一种是放网络标号P N来命名同一个网络。对于复杂的项目尤其是信号线纵横交错的情况使用网络标号远比拉导线清晰。网络标号使用时有一个容易踩的坑标号命名必须完全一致多一个空格、多一个下划线都会导致网络不通。我之前遇到过一次很奇怪的问题——原理图编译无报错但PCB导入后有一根线消失了找了两小时才发现是一个网络叫I2C_SCL另一个叫I2C_ SCL中间多了一个空格。这种错误用眼睛看几乎看不出来因为字太小了。所以在画完原理图后强烈建议执行一次工程编译Project → Compile PCB Project然后在Messages面板里查看是否有警告或错误。常见的错误提示包括Floating Net Label——网络标号没有附着在导线上Net has no driving source——电源网络没有接电源符号Component has duplicate pins——元件存在重复引脚编号。3.3 电源网络与电源符号的处理技巧电源网络在原理图里通常用电源符号VCC、GND而不是导线来表示这样图纸看起来非常干净。AD中可以在库Miscellaneous Devices.IntLib里找到VCC和GND符号也可以自己画专用的电源符号。这里要提醒一个非常重要的问题如果你用的是自己画的电源符号必须保证它的网络名和你实际想要的电源网络一致。有些新手在库管理器里复制了一个VCC符号忘了改网络名导致整张原理图上出现两个名字不同但视觉上都是VCC的网络编译不报错但PCB上就会出现两个隔离的电源岛。对于DDR4这类高速电路原理图阶段就要特别注意电源和地的分配。DDR4的VDD、VDDQ、VTT、VREF等电源域比较多建议在建库时就把不同电源用不同颜色或不同形状的电源符号区分开比如VDD用标准VCC符号VTT用带箭头的三角形符号VREF用空心圆符号。这样后续检查电源树时会清晰很多。3.4 实战举例DHT11和WS2812B的典型接法原理图这块光讲理论不够我举两个最常见的模块电路来演示。DHT11温湿度传感器三脚或四脚封装接法非常简单VCC接3.3V或5VGND接地DATA引脚接单片机的某个GPIO同时在这个引脚上接一个4.7k~10k的上拉电阻。需要注意DHT11的数据引脚是开漏输出不加上拉电阻读取到的数据会不稳定表现为偶发性的湿度跳变。画原理图时把这个上拉电阻放在DHT11附近网络标号用DHT11_DATA方便在PCB阶段做布局参考。WS2812B灯珠这个器件比较特殊它的数据是级联传输的。原理图上通常是多个灯珠串联每个灯珠的DOUT接下一个灯珠的DIN。画原理图时要注意每个灯珠都要接一个100nF左右的去耦电容且这个电容要尽量靠近灯珠的VCC和GND引脚。如果是一长条灯带还要考虑在电源入口端放一个大容量电解电容比如100uF因为WS2812B全亮时瞬态电流很大。老手和新手的区别往往就在这些细节上。同样的电路新手能点亮但长时间工作会不稳定老手画的时候就已经把电源完整性考虑进去了。3.5 原理图编译与错误检查的标准流程画完原理图别急着转PCB。先做编译再逐个解决问题。我的标准流程是这样的Project → Compile PCB Project查看Messages面板逐个双击错误和警告跳到对应位置检查重点检查ERC电气规则检查报告里的“Warning”级别问题比如未连接的引脚、悬空的输入引脚对照数据手册检查每一个IC的电源引脚是否都正确连接了去耦电容复位引脚是否有上拉或下拉电阻使能引脚是否被正确处理。这里说一个我见过很多次的翻车现场直接用AD自带的Magic库画STM32芯片原理图符号里有一个引脚叫BOOT0有人没接任何东西引脚属性是Passive编译不报错但实际下载程序时芯片进不了运行模式。原因就是BOOT0必须通过10k电阻下拉到地。这种问题靠编译检查不出来只能靠人去看数据手册。所以原理图阶段不要完全依赖工具必须结合芯片手册做一次人工审查。4. PCB设计流程从准备到布局再到布线的完整路线4.1 PCB设计的先决条件封装库与层叠设置原理图编译无误后就可以开始PCB设计了。第一步不是画板框而是确认封装库完整。执行Design → Update PCB DocumentAD会弹出工程变更列表里面列出了所有元件和网络。这时应该逐个检查是否所有元件都有对应的PCB封装是否有元件封装缺失Message里会提示“Unknown Pins”或“Footprint Not Found”网络数量是否和原理图一致。封装缺失是新手最容易遇到的问题。比如原理图库里的元件没有指定PCB封装或者指定的封装名字在PCB库里找不到更新到PCB时就会报错。解决方法是回到原理图库给元件重新添加Footprint模型。接下来是层叠设置。如果是双层板默认是顶层和底层走线中间是FR4介质。设置方法是在PCB编辑器的Layer Stack Manager里配置。我常用的双层板层叠是顶层信号 元件面厚度1oz铜FR4介质厚度1.6mm底层信号 焊接面厚度1oz铜。如果是四层板常见的层叠是顶层信号 → 地层 → 电源层 → 底层信号。中间两层用内电层可以大幅降低电源和地回路的阻抗对DDR4这种高速信号非常必要。我自己拿DDR4做项目时优先考虑四层板以上因为双面板的参考平面不连续信号完整性很难达标。4.2 板框绘制与定位孔放置板框Board Outline是PCB的物理边界也是后续敷铜、DRC检查的依据。在Keep-Out Layer或者Mechanical Layer上画封闭的矩形或多边形执行Design → Board Shape → Define from selected objects就能把板子外形定下来。这里有一个常见的认知误区很多人直接在Keep-Out Layer画完线就结束没有执行“Define Board Shape”结果板框在3D视图里显示不出来投板时工厂也可能识别错误。记住板框一定要由“板子形状”来定义而不只是画几条线。定位孔用的螺丝孔制作方法网上经常有人问。我的做法是在Mechanical Layer画一个圆直径3.2mmM3螺丝然后在中间放一个通孔焊盘Via内径3.2mm外径5.0mm或者用Keep-Out画禁布区配合一个金属化孔。注意如果用Via当螺丝孔记得在规则里把这个Via的“Tented”选项关掉否则工厂会默认盖油导致螺丝孔不导通。4.3 布局思路先大后小、先核心后外围布局是整个PCB设计中最考验经验的一步。我的布局原则是“先大后小、先核心后外围”。所谓“先大后小”就是先把连接器、大芯片、电源模块这些核心大件摆到位确定整体框架然后根据信号流向放置外围小元件。以STM32F103C8T6核心板为例先把LQFP48主控放在板子中央偏上一点的位置方向根据IO引出方向确定电源座和USB座放在板子边缘晶振和复位电路紧挨主控芯片对应引脚去耦电容100nF必须贴着每个电源引脚放距离尽量不要超过3mm。这里再强调一次去耦电容的布局很多人不重视。高速芯片的电源引脚在开关瞬间需要很大的瞬态电流如果去耦电容离得太远电流路径上产生的寄生电感会导致电源电压跌落轻则工作不稳定重则死机。DDR4设计时甚至要求每个VDD引脚旁边都要有0.1uF的高频去耦电容这就是“一个电源引脚配一个电容”的由来。如果画的是SW6206这类移动电源方案包含PCB、原理图、寄存器列表、BOM全套资料布局时就要特别注意功率回路。SW6206是升降压管理芯片电感、功率MOS管、输入输出电容都要靠近芯片放置走线尽量短粗否则效率会明显下降甚至发热严重。原厂方案里给的Layout Guide一定要仔细读里面标明了哪些器件必须靠多近、哪些线必须走多宽这些不是建议是底线。4.4 布线规则设置线宽、间距与其背后的道理布线是PCB设计里最耗时、也是最讲究的环节。布线前先设置规则Design → Rules否则画到一半再改规则会非常痛苦。规则设置里有几个关键项间距Clearance同一个层上不同网络之间的最小间距。常规信号线设6mil或8mil电源网络的间距可以放宽到10mil以上线宽Width不同网络的默认宽度。普通信号线建议6~8mil电源线建议20~30mil地线建议30~50mil过孔Via默认通孔外径24mil、孔径12mil。如果是高密度板可以考虑用激光盲孔或者埋孔但成本会高很多。关于线宽和电流的关系网上传得比较多的经验公式是“1A电流需要10mil线宽”但这只是非常粗略的估算。更准确的做法是参考IPC-2221标准中的图表或者直接用线宽电流计算器。我常用的一组参考值外层1oz铜厚、允许温升10℃时0.3mm约12mil线宽约1A0.5mm约20mil线宽约1.8A1.0mm约40mil线宽约3.5A2.0mm约80mil线宽约6.5A。如果电流很大除了加宽线宽还可以采用多层并联内层铺铜的方式或者在走线上镀锡加厚开窗不盖油。对于反激式开关电源初级侧和次级侧的大电流回路尤其要注意功率走线尽量短粗并且要避免形成大的电流环路面积否则EMI会非常难看。4.5 布线顺序与实操手法我的布线顺序是先布电源和地再布高速信号最后布普通信号。第一步处理电源和地网络。地网络优先用整片铺铜来解决电源网络根据电流大小走合适宽度的线如果电流很大可以在同层多走几条并联也可以跨层用过孔连接。第二步处理高速信号比如DDR4的数据线、时钟线、差分线这些需要做阻抗控制和等长处理。第三步处理其他普通信号把每一根连线连好就算完成。布线手法上有几个能立竿见影提升质量的技巧走线尽量走短直线避免频繁换层因为过孔会给信号带来寄生电感和电容走线拐角不要用直角用45度角或者圆弧角。直角会在拐角处产生阻抗突变高速信号反射会加剧差分线要保证“等长、等距、同层”比如USB的D和D-在布线时要成对走并且在转弯处同时转弯晶振底下不要走任何信号线晶振是强辐射源信号线从底下穿过容易被干扰导致系统运行不稳定。关于PCB走线的规矩网上能搜到很多版本。我自己看下来最有用的还是“3W原则”信号线之间的中心距不小于线宽的3倍。这个原则在空间允许的情况下尽量遵守可以显著减少串扰。但说实话高密度板上有时候确实做不到那就优先保证敏感信号时钟、复位、模拟信号周围的间距。4.6 敷铜与过孔处理布线完成后通常要进行敷铜操作。敷铜有两个作用一是给地网络提供低阻抗回流路径二是填平板上剩余空间方便生产。敷铜时选择Place → Polygon Pour在Layer选择顶层和底层网络连接选择GND然后沿着板框画一个闭合区域。敷铜完成后AD默认会和地网络连接但如果你发现局部区域的铜箔变成一个孤岛没有与任何地过孔相连就需要在孤岛区域加几个地过孔通过过孔把顶层铜箔连接到内地层。过孔的处理也有讲究。电源和地网络的过孔尽量多打几个能明显降低过孔带来的阻抗信号网络的过孔能少则少。在BGA封装下面经常会看到一排排的地过孔这些都是为了提供最短的地回流路径保证信号完整性。敷铜还有一个细节对于开关电源电路靠近开关节点SW的敷铜要特别小心因为这里电压跳变非常剧烈敷铜面积过大会引入较大的寄生电容导致辐射噪声增大。所以有些电源板会在SW节点下面做局部禁布处理。这种经验在原厂方案里一般会明确说明比如SW6206的Layout Guide里就专门强调了SW节点的铜箔面积不能太大。4.7 DRC检查这是投板前的最后一道防线布线完成后执行Tools → Design Rule CheckAD会按照你设定的规则检查整个PCB输出一个报告并标记违规位置。我处理DRC报告的习惯是先看“Un-Routed Net”这个表示还有没连完的线必须清零再看“Clearance Constraint Violations”这类通常是间距不够根据位置决定是调整规则还是调整布线最后看“Width Constraint Violations”线宽不达标的地方根据情况修正。很多新手对DRC检查不以为意觉得“差不多就行了”但工厂生产的时候DRC报错的地方很可能就是产品质量问题的高发区。比如间距不够可能导致短路线宽太细可能导致过流发热。我在投板之前至少会做三遍DRC确保零错误、零警告才发给工厂。还要强调一个容易漏掉的操作检查丝印。丝印如果压在焊盘上会影响焊接质量尤其是阻焊层开窗的位置。在DRC里可以专门设置Silk-to-SolderClearance规则让AD自动检查丝印和焊盘之间的距离。5. 输出生产资料Gerber文件、BOM清单及常见问题速查5.1 Gerber文件输出流程PCB设计完成后需要导出Gerber文件发给工厂生产。Gerber文件是行业标准的PCB制造描述格式里面包含了每一层的铜箔、阻焊、丝印、钻孔等信息。AD里的输出方式有两种一种是File → Fabrication Outputs → Gerber Files生成后手动选择层另一种是用OutJob文件统一配置一次输出Gerber、钻孔文件、装配图、BOM表。我强烈推荐用OutJob因为配置一次可以反复用而且导出结果更规范。导出Gerber时要特别注意层的选择顶层Top Layer、底层Bottom Layer——铜箔层顶层丝印Top Overlay、底层丝印Bottom Overlay顶层阻焊Top Solder、底层阻焊Bottom Solder钻孔文件Drill Drawing、Drill Guide。有一个新手常踩的坑导出Gerber时忘了勾选钻孔文件工厂拿到手后不知道过孔位置和大小只能打电话来问。另外钻孔文件要用的是“Excellon”格式而不是Gerber格式两者是完全不同的文件标准。5.2 如何生成准确的BOM清单BOMBill of Materials是采购物料的核心清单必须和原理图完全一致。AD可以通过Reports → Bill of Materials生成也可以直接在OutJob里配置。BOM导出时几个容易出问题的点元件位号不要合并输出每个元件单独一行方便采购核对备注栏里尽量包含封装信息比如“0603电阻”、“LQFP48芯片”如果原理图库元件填写了Manufacturer和Supplier信息导出的BOM会更完整方便直接找供应商下单。在SW6206这类原厂方案里原厂提供的BOM已经把每个元件的品牌、型号、封装、数量甚至替代料都列得很详细了拿到后直接核对和修改就行。但如果你是自己画的原型板BOM生成后一定要做一次核对特别是电阻电容的阻值容值小了影响电路工作大了可能直接烧板。5.3 常见报错与问题排查实录最后把我在AD使用中遇到的一些高频问题整理出来供大家参考。问题一PCB上器件无法选中遇到这种情况八成是图层被锁定了。检查Properties面板看“Selectable”属性是否被勾选。另外按S键切换选择过滤器确认过滤器里没有把元件选择关掉。问题二导出原理图PDF只输出了部分区域这是因为原理图的图纸设置里“Print Area”或者“Sheet Size”设置过小导致超出范围的内容被裁掉了。解决办法是在File → Page Setup里把缩放模式设为“Fit Document On Page”然后导出PDF时勾选“Print Entire Sheet”。问题三PADS的PCB文件打开自动关闭PADS文件转AD有时会有兼容性问题文件本身损坏或者版本太旧都可能导致AD打开时崩溃。我的建议是先在PADS里另存为ASCII格式再用AD的Import Wizard导入成功率会高很多。问题四Gerber导入后怎么转成PCB文件有一些项目可能需要把第三方提供的Gerber文件转成AD可编辑的PCB。AD的File → Import → Gerber可以导入Gerber但导入后看到的是图形元素不是网络和元件。如果只是需要查看尺寸和位置这样做足够了但要想做电气修改最好找原始设计文件。问题五AD缓存过大导致软件卡顿前文提过清理%APPDATA%\Altium下的临时缓存文件以及把自动备份数量调小能明显改善卡顿。如果还卡建议检查是不是同时打开了太多工程AD对大型工程的内存占用非常凶16G内存有时候都吃紧。6. 常见问题速查表问题可能原因解决方法PCB器件无法选中图层锁定或过滤器关闭了选择Properties里检查Selectable按S调整选择过滤器原理图编译无报错但PCB少网络网络标号名称不一致比如多了空格检查Network Label的名称统一命名导出PDF只显示部分图纸Page Setup缩放设置不当设为Fit Document On Page勾选Print Entire Sheet敷铜后出现孤岛铜箔没有地过孔连接在孤岛区域加地过孔或调整敷铜边界导入Gerber后无法编辑网络Gerber本身就是图形格式导入Gerber仅供查看若要修改需原设计文件晶振电路工作不稳定晶振下方走线或去耦电容离太远重新布局晶振区域下方禁止走线电容尽量靠近大电流走线发热严重线宽不足或铜厚不够根据电流查线宽电流对照表加宽走线或增加铜厚网络明明连了但DRC报Un-Routed走线实际未连通或过孔未连接内层在DRC面板双击报错位置检查走线和过孔7. 一些我自己的土办法写到这里核心流程已经全过了一遍。最后再分享几个我实际干活时总结的小习惯供你参考。第一拿到原厂方案比如SW6206这类带全套资料的不要急着改先花半小时把原理图和Layout Guide浏览一遍把电源回路、关键走线、特殊器件位置都标注出来再动手画自己的版本。原厂资料里那些“注意”和“严禁”都是拿真金白银试出来的值得尊重。第二快捷键不是背出来的是用出来的。刚开始不用贪多先记住P W放导线、P P放元件、V F适配视图、Ctrl Shift 滚轮切换层这几个就先够用了。随着实操增多你会自然想记住更多这时候再逐步添加。第三画板子之前先用手在纸上画一遍布局草图。这一步看着原始但特别有用。我画的板子绝大多数功能问题其实在纸上画草图时就能发现而不是等电脑上布完线再推翻重来。电脑上做大的结构调整远比纸上改一笔费时间。第四DRC不只跑一次。改完一次布线就要重新跑一遍DRC直到零错误零警告。我的习惯是每天结束前跑一次第二天早上来先看报告再干活能省掉很多返工时间。第五也是最重要的一点不要迷信教程包括这篇。每个项目有自己的特殊性同样的电路在不同的布局、不同的工作环境下表现可能完全不同。手里有示波器就多测测信号波形没有示波器就多看芯片手册里的典型应用电路。把原理吃透了画出来的板子自然会一步步变好。Altium Designer说到底就是一个工具真正决定一块板子好坏的是画板人对电路的理解和对细节的把控。流程捋顺了剩下的就是多画、多踩坑、多总结。你的第一块板子可能不完美但第二块、第三块一定会越来越稳。
返回列表