拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

Altium Designer进阶:从画好板到交付靠谱PCB的实战经验

Altium Designer进阶:从画好板到交付靠谱PCB的实战经验

画了几年Altium Designer的板子,你可能会有一种感觉:软件功能基本都认识,从原理图到PCB再到Gerber的流程也走得很顺,但设计交付的质量总差着一口气。要么是规则设得太糙,板厂返回来问一堆问题;要么是3D模型导出去,结构那边一装配就干涉;要么是改了三个版本,最后不知道哪份文件是对的。这篇笔记不是从创建工程讲起的入门教程,而是写给已经能独立画完一块板、但希望把交付质量从“能用”提升到“靠谱”的工程师。我会把多年画板过程中被生产、市场和同事反复教育出来的经验,按照AD实际使用频率从高到低拆开讲。内容不追求炫技,只求每一条都能直接落到你下一个项目里。

1. 会画板不等于画得好:高手和普通工程师的差距都在交付细节里

入门阶段的标志是能画出一块“能跑”的板子;进阶阶段的标志是能稳定交付一块“好生产、好装配、好维修”的板子。这两个阶段之间的差距,不在某个神秘的技巧,而在大量不起眼的交付细节里。

我判断一块板子是不是到了进阶水准,一般看三个标准。第一,板厂收到文件后是否需要反复咨询。如果你的Gerber、钻孔、板框、层叠说明都清楚,板厂应该是零疑问直接安排生产;如果每次都要来回确认“这个槽是方槽还是圆槽”“阻抗层叠按哪份文档做”,说明输出环节还没到位。第二,BOM和位号能否直接进贴片机。物料清单里有没有合并同类项、有没有把关键物料料号标注清楚,决定了采购和贴片环节要不要返工。第三,改版时是否会牵连出一堆隐藏问题。规则和约束建得好的工程,改一个元件位置、换一根走线,DRC不会突然冒出一百条错误;规则建得糙的工程,每次改动都像在拆炸弹。

所以进阶的第一步,是建立一份属于你自己的Checklist,不要指望大脑记住所有事情。我自己现在每个项目交付前都会过一遍固定清单:电源回路是否闭合、载流是否满足、丝印是否覆盖焊盘、差分等长是否达标、Gerber里有没有包含所有需要的阻焊层、BOM是否和原理图同步。这些内容看起来基础,但恰恰是“会画板”和“画得好”的分水岭。快捷键用得再花哨,如果输出文件不合格,一切等于零。

2. 快捷键与操作流:把AD从鼠标软件变成键鼠配合的工具

2.1 别急着背快捷键,先重构操作流

很多人一学AD就去找“快捷键大全”硬背,背完发现根本记不住,因为离你的实际工作场景太远。真正有效的做法,是围绕你最高频的操作,把快捷键嵌进肌肉记忆里。以PCB布线这个环节为例,最高频的链路就是“切单位—设格点—放走线—放过孔—测量—看单层”。

我会建议你先吃透下面这几个键,它们几乎覆盖了日常80%的操作。Q在公制英制间切换,G循环切换格点大小,Ctrl+M测量距离,P+T放置走线,P+V放置过孔,P+P放置焊盘,P+G放置铺铜,E+D删除对象,Shift+S切换单层显示,V+F缩放适配选中对象,V+D显示整个板子,2/3在2D和3D视图间切换,Shift+C清除当前过滤状态,Ctrl+滚轮缩放画布。把这些键练到不需要思考,效率已经超过绝大多数人。

一个常常被忽略的事实是,AD的快捷键并不是锁死的。你可以通过右键工具栏选择“Customize”,在命令列表里为任何功能重新绑定快捷键。我每台新电脑上必做的一件事,就是把“放置过孔”和“交互式布线”调整到相邻的顺手位置,把“切换图层”也绑到左手容易够到的键位。这样做的好处是,走线时左手负责指令、右手负责摆元件,整个操作流会顺畅很多。

2.2 选择过滤和查找相似对象:解决“器件选不中”的钥匙

进阶用户经常遇到“PCB上器件突然不能选中”的情况,遇到这种问题别急着重启软件,先排查三个地方。一是界面底部的Selection Filter,也就是选择过滤器,如果元件类型被取消勾选,鼠标当然怎么点都选不中;二是元件属性里的Locked锁定项,板子设计完成之后很多元件处于锁定状态,需要点击右键选择“Unlock”或者在列表里解除锁定;三是有时候你处在了Board Planning Mode板框规划模式,按2切回标准PCB模式就恢复了。如果当前画面上有过滤残留导致看不到对象,按Shift+C清一下即可。

这里特别说一下Shift+F查找相似对象(Find Similar Objects),这是批量修改的神器。想一次性把某类焊盘的过孔尺寸全部改掉,选中一个焊盘,按Shift+F,设置匹配条件后点OK,同类对象会全部进入列表,在Inspector面板里批量修改即可。同样,原理图和PCB交叉检查时,Ctrl+H能把同一个网络在两侧编辑器里同时高亮,排查连接问题非常高效。快捷键不是竞争力本身,但熟练之后能把你从重复点击里解放出来,把精力放在真正的设计判断上。

3. 规则系统才是AD的灵魂:间距、区域与差分规则的工程化配置

3.1 默认规则只适合练手,工程规则必须分级

很多工程师的工程里只有一套默认规则,所有网络一个间距、所有走线一个宽度,这样做不是不能跑板,但离“可靠”差得很远。规则系统的本质,是把设计约束从“人脑记忆”变成“软件强制”。你对板子的所有特殊要求——哪些线要加粗、哪些区域间距要拉大、哪些网络之间要特别注意——都应该变成一条条规则,让DRC来替你守住底线。

我会建议每个工程至少建立几类规则:Clearance间距规则、Width线宽规则、Via过孔规则、Polygon Connect铺铜连接规则、Solder Mask Expansion阻焊开窗规则。以Clearance为例,先建一个全局默认间距,比如6mil;再为电源网络类(Power)单独建一个规则,间距设到10mil或者更大;如果有高压区域,还要用区域规则做局部的更大间距约束。这样板子上所有对象的行为就有了明确预期,而不是靠你画线时小心翼翼。

在Design > Rules里新建规则时,重点看“Where The First Object Matches”这个条件框。我建议优先使用网络类(Net Class)来管理,而不是一条条去选网络。在原理图或PCB里先定义好网络类,比如POWER、HIGH_SPEED、SENSITIVE,然后在规则里用InNetClass('POWER')这样的查询语句,一条规则就能覆盖整个类,后续维护起来非常省力。

3.2 区域规则:混合信号板和高密度板的刚需

混合信号板里常见的场景是:整板间距6mil没问题,但晶振和模拟电路附近需要10mil以上;BGA中心区域走线密集,局部间距可以放宽或收紧。这种需求靠全局规则实现不了,必须引入Room或者查询条件。

AD规则里支持一些高级查询函数,比如InPolygon()、InComponent('U1')、OnLayer('Top Layer')、InNetClass('HighSpeed'),这些条件可以组合。举个实际例子,你想让U1底下的间距全部变成12mil,可以新建一条Clearance规则,第一对象匹配设为InComponent('U1'),第二对象匹配选择All,间距设为12mil,然后把这条规则的优先级调高,让它覆盖全局规则。区域规则的核心逻辑就是“特殊区域特殊对待,且优先级高于全局”,正因为有优先级设计,AD这套规则引擎才有足够弹性。

规则命名也值得留个心。不要叫Rule_1、Rule_2,建议按“用途+数值”命名,比如CLR_PWR_10mil、WID_DDR_L5mil。项目做多了,规则动辄几十上百条,名字清楚一点,改版时才能快速找到要动的那一条。否则三个月后打开工程,自己都分不清每条规则是干嘛的。

3.3 差分、等长与阻抗控制:高速设计的门槛

差分信号的设置和普通信号完全是两套逻辑。首先需要成对定义差分网络,打开Differential Pairs Editor,把TX_P/TX_N这种网络对加进去;然后在规则里设置Differential Pairs Routing,指定差分线宽和线对间距。这个线宽和间距不是拍脑袋定的,要根据板厂提供的层叠和阻抗计算表来确定,比如100欧姆差分在某个层叠下可能是5mil线宽、8mil间距,换成另一个层叠参数就完全不同。

等长处理是差分设计里最费手工的环节。AD提供了交互式等长调整工具,路径在Route > Interactive Length Tuning。选中目标走线后,按Tab设置目标长度和振幅,然后沿线拖动,软件会自动走出蛇形或锯齿线。这里要提醒一句:等长调的是“总长度”,不是“走线的直线距离”,所以蛇形绕线的位置要尽量靠近差分对的短端,不能让偏差累积到远端。对DDR这类总线,等长规则里要设置好总长度误差范围,例如±50mil,再让DRC去逐条校验。

阻抗控制这块经常有人误以为是AD需要做的事,其实不是。AD只负责按你设定的线宽和间距把线走出来,真正决定阻抗的是层叠结构、板材介电常数和铜厚。正确的顺序是:先从板厂拿到叠层参数,用阻抗计算工具算出各层需要走多宽的线,再把计算值填进AD的Width规则里。顺序反了,后面必出问题。

3.4 规则优先级的坑

规则多了之后,最隐蔽的问题就是优先级。AD规则编辑器右下角有一个Priorities按钮,点进去可以调整各条规则的先后顺序。优先级规则是:匹配条件越具体、设置值越严格的规则,优先级应当越高。比如InComponent('U1')的间距规则必须排在全局Clearance之前,否则永远不会生效。我见过很多次“明明建了区域规则但DRC一点反应没有”,排查到最后全是优先级问题。所以在新建任何局部规则后,第一件事就是检查它的优先级排序,别等她报错了再回头找。

4. 铺铜、避让与开窗:很多人在这里翻过车

4.1 铺铜的三个基础动作,做不对后面全乱

铺铜是PCB设计里最常用也最容易出问题的操作之一。我总结过铺铜的三个高频坑:忘了设置网络、忘了重新铺铜、死铜没有清除。

放置铺铜用P+G,画出铺铜边界后,第一件事就是在属性面板里把Network设为对应的网络,比如GND;如果你留的是No Net,这块铜等于白画。画完边界后,不要以为铜就自动铺好了,AD需要你手动执行铺铜更新。右键铺铜区域,选择Polygon Actions > Repour All,或者直接按快捷键T+G+A,把所有铺铜重新灌一遍。修改过走线、移动过元件之后,铺铜往往处于“外框还在但铜皮未更新”的状态,如果顺手把这样的文件导出去了,Gerber里可能出现整块铜缺掉的情况。死铜的问题则靠铺铜属性里的Remove Dead Copper选项,勾选后那些没有网络连接的孤立铜皮会被自动剔除,避免形成天线或制造隐患。

4.2 铜皮里面走线为什么不避让

热词里有个很典型的问题:“ad在铜皮里面走线怎么避让了?”描述得不太准确,实际大家想问的往往是“在铜皮里走线为什么没有避让”。这背后有几种常见原因,逐个排查。

先看这条走线的网络和铜皮网络是不是同一个。如果是同一个网络,它们之间不需要Clearance间距避让,而是会被铺铜连接规则管理。AD里同网络之间的间距想单独控制,需要在规则里找Same Net相关的Clearance设置,默认情况下同网络对象不会因为间距规则而自动让开,而是按照Polygon Connect的连接方式处理,要么直接相连,要么以十字花形式相连。如果是不同网络之间没有避让,那就要查Clearance规则是否生效:环路上有没有更高优先级的规则覆盖了它、走线是否真的在铺铜所在层、铺铜是否更新过。很多“避让不生效”其实只是铜皮没有重新灌。

还有一种情况是铺铜网络和走线网络不同,但间距看起来只有几mil,明显小于你设的规则。这种基本可以断定是规则里没有把两条相关网络关系覆盖到。你可以在Clearance规则里用All和All的兜底规则,再让局部规则去覆盖特殊部分,保证任何两个不同网络的对象之间都存在一个明确的最小间距。

4.3 阻焊开窗:让铜露出来的正确姿势

铺铜开窗,指的是在板子表面去掉阻焊油墨,让底下的铜露出来。在AD里的操作思路是在Solder层上画一个区域。比如你要在Top Layer的铺铜上做一个开窗散热区,就在Top Solder层用P+G放一块和多边形重合的铜皮或直接画线,生产时这一块就不会盖油,铜面裸露,可以直接贴散热片或加焊锡。

我见过不少人开窗开不明白,是因为对Solder层的含义理解有偏差。Solder层是负逻辑层:你画的图形就是“开窗”的位置。顶部阻焊开窗用Top Solder,底部用Bottom Solder。开窗区域和铺铜要完全重合,否则可能出现铜露了一半、另一半被油盖住的尴尬局面。开窗一旦做了,意味着此区域失去了阻焊保护,如果是做整板大面积开窗,还要考虑防氧化处理,比如喷锡或沉金。

4.4 散热焊盘与铺铜连接的工程选择

大功率器件底部的散热焊盘,通常要在Solder层开窗,并通过过孔阵列把热量传到内层或底层铜皮。这里有一个很关键的设置:铺铜与焊盘的连接方式。在Polygon Connect规则里,可以选择Relief十字花连接或Direct直接连接。常规信号焊盘用十字花连接是因为焊接时热容量小、容易上锡;但大电流和散热焊盘建议用Direct直接连接,否则十字花的细脖子会限制载流能力,散热效果也大打折扣。

同样要注意过孔阵列的排列密度和孔径,别为了好看塞了一堆小孔,生产时容易堵孔导致虚焊。一般0.3mm成品孔径、孔心距0.8mm左右的阵列是比较稳妥的起步方案,具体还要看板厂工艺能力。

5. 3D封装:不是让板子好看,而是为了对接结构

5.1 3D模型的来源与添加方式

给元件添加3D封装的直接意义,是能在设计阶段发现问题:高度超限、干涉碰撞、器件方向装反。现在元件大厂的官网基本都会提供STEP 3D模型,封装库网站像3D ContentCentral、GrabCAD上也能找到主流器件;实在找不到的,只能自己建一个简化模型。我的经验是,结构用的模型不必细节到螺丝孔都画出来,关键是外形、高度、引脚位置和主要散热面必须准确,太精细的模型反而让文件变大、旋转卡顿。

添加3D模型的入口在Tools > Manage 3D Bodies,库里打开对应封装,把STEP模型关联到元件上,设置好位置偏移。另一个更直接的方式是Place > 3D Body,从文件里导入STEP模型,手动摆到封装上。摆放的时候要注意原点对齐,不然每个器件在3D视图里都“歪着头”,后续装配检查全是误导。

5.2 3D视图下的结构检查

按数字键3进入3D视图,按住Shift+右键拖动可以旋转视角,Ctrl+滚轮缩放,这套操作熟悉之后,检查板子正反面非常直观。我会重点检查三件事:最高元件是否超过结构限高、大电解电容和连接器是否与外壳干涉、双面贴片器件之间有没有碰撞。

AD里还能用测量工具在3D模式下直接量高度差,选中两个元件,调用测量命令,结果会以空间距离显示。这个功能特别适合确认“散热片顶端到外壳底部的净高是否够”。别小看这一步,结构那边出的问题,有时候就在这1~2mm的差距里产生。

5.3 导出单个器件的3D文件

做产品设计时,结构工程师经常需要单个焊件的模型来做装配模拟。AD支持把选中的器件单独导出成STEP文件:在PCB里选中目标器件,File > Export > STEP 3D,在弹出的选项里选择只导出选中对象,生成的文件就能直接交给结构同事。我拿这个功能处理过不少连接器和BGA座子的干涉问题,比发整个板子过去再让他们拆壳高效得多。

需要注意的是,导出前要把器件对应的3D模型和位号确认好,不然导出STEP后对方拿到一个“能看外形但没标号”的模型,来回沟通成本很高。

6. 输出那点事:Gerber、BOM、PDF,一次做对别让板厂追着你问

6.1 Gerber与钻孔:生产文件的“最终宪法”

输出Gerber是画板流程里最容易“翻车”也最不能“翻车”的一步,因为文件发出去之后,一切错误都会变成时间和成本。我建议的稳定流程是:File > Fabrication Outputs > Gerber Files,选择RS-274X格式;单位选择英寸,精度一般选2:5,坐标跨度较大的板卡务必不要省末位精度;在Layers勾选里,至少包含Top Layer、Bottom Layer、Top Overlay、Bottom Overlay、Top Solder、Bottom Solder以及你实际使用的内电层和机械层。板框信息要放在机械层并确保被勾选输出,否则板厂不知道外形边界。

钻孔文件不要漏。File > Fabrication Outputs > NC Drill Files,单位、格式尽量和Gerber保持一致,不然板厂在拼文件时可能会按错误的单位解读孔位。我习惯把钻孔文件和Gerber放在同一个文件夹包里,命名为YR-夹具-V1_Gerber_20250601这种带版本和日期的格式,避免出现“最终版”和“最终版2”这种灾难命名。

6.2 BOM:采购和贴片能不能一次过

Reports > Bill of Materials是一键生成BOM的入口,但默认输出往往不能直接给采购用。问题在于默认BOM没有按位号合并同类物料,一个10k电阻可能出现20行,每行一个位号,采购看着头大,贴片机程序也难做。

正确做法是在BOM生成界面里,对Comment、Footprint做分组,让同规格物料合并成一行,位号列自动汇总成R1, R3, R7, R12这种形式。如果公司有仓库系统,最好在原理图元件参数里带上供应商料号(比如Mfr Part Number),BOM导出时把这个自定义字段加进列,采购拿到料号就能直接下单。BOM和原理图不同步的问题也值得注意,每次改了电路之后都要重新生成BOM,千万别在旧BOM上手工改,手工改十次有九次漏。

6.3 装配图和PDF:给生产、给同事、给自己留底

File > Smart PDF可以按你的要求输出原理图PDF或者PCB装配图。我平时至少要导两份:一份完整原理图,放在项目文件夹里供评审和维修参考;一份PCB装配图,打开顶层/底层丝印和位号,输出给焊接和装配的人。别省这一步,焊接师傅拿着一份装配图,比你电话讲半个小时管用。

7. 异种文件与老工程互转:DWG、Allegro、Gerber转PCB的坑

7.1 DWG/DXF导入:单位、原点、层映射是三大坑

把结构工程师的结构图或机械外壳导入AD做板框,是很常见的需求。File > Import > DXF/DWG,导入时第一个要确认的是单位。CAD文件里用毫米,在AD导入向导里也一定要选毫米,否则同样一个数导进来会变成mil单位,整块板尺寸直接差了25.4倍。第二是原点对齐,导入后建议把图形移动到绝对原点附近,不然PCB原点跑到十万八千开外,后面做定位全是问题。第三是层映射,把CAD里标识板框的图层映射到PCB的Mechanical 1或Keep-Out层,不要一股脑全导进来,CAD里那些标注、中心线、剖面线,进到PCB里都是垃圾信息。

圆弧和样条线在DWG导入时经常被转成多边形逼近线,视觉上看着还行,一放大全是锯齿。如果尺寸精度要求高,建议在CAD那边就先对圆弧做必要的简化,导入后在AD里用圆弧命令重新描一遍。遇到文字标注乱码更别慌,直接把CAD里的文字层关掉再导,板框需要的只是几何边界。

7.2 Allegro转AD:not recognized or version too old的处理思路

从Allegro转AD,很多人遇到过not recognized or version too old的报错。这个报错翻译成人话就是:AD读不进去这个.brd文件,可能是版本太新、太旧,也可能是文件不是标准的ASCII格式,还可能是对方的工程被加密了。

处理路径从简单到复杂:先让对方用Allegro的File > Export把版本降一降,导出一个低版本格式的.brd;如果还不行,让对方导出ODB++格式,AD对ODB++的导入支持相对稳定,虽然会丢失一些Allegro特有的规则定义,但铜皮、层叠、焊盘这些几何信息能保住大部分;再不行就只能考虑用IPC-2581或者让双方都转到同一个中间工具来统一处理。转完之后,务必重新检查叠层和规则,转换过程基本不会帮你保留Allegro里的间距规则,所有DRC约束都要按新工具的习惯重建。

7.3 用Gerber转PCB做参考,而不是做“反向工程”

有时候手里只有一套Gerber文件,没有原始工程,想恢复成PCB设计文件来看层叠和布局。AD的File > Import > Gerber Files可以导入Gerber,导入之后有选项能把Gerber转换成PCB文档。但要清醒一点,转换出来的是“几何图形和位置”,网络信息、元件属性这些全都没有,层叠往往也需要重新指定。它适合用来做外形参考、快速量尺寸、提取器件轮廓,不适合指望它生成一块能直接改线、重新布线的板子。如果真要做完整的抄板,需要配合专业的反向工具和手动建网络流程,工作量和道德风险都不低,不是常规设计的路子。

8. 脚本、自动化与AI辅助:进阶玩家的工具箱

8.1 用脚本解决非标需求:螺旋线这类形状怎么实现

AD内置了DelphiScript、VBScript和JavaScript脚本引擎,入口在DXP > Run Script。对于螺旋线、特殊异形板框、周期性阵列这类手工画到想骂人的需求,脚本是真正的解法。以螺旋天线为例,思路是把极坐标方程转成一系列点坐标:从中心开始,半径r按固定步长增长,角度theta按步进累加,计算出每个点的X、Y坐标,然后用脚本API生成一条路径或多边形。整个过程不需要写很复杂的算法,几十行脚本就能搞定。

我建议有一定进阶需求的工程师专门花一个下午研究一下AD脚本里IPCB_Board、IPCB_Primitive这些对象模型,能省的时间远超投入。暂时不想碰脚本的,也可以先用“排布阵列”功能做出近似效果,但参数不连续,后续调尺寸会很痛苦。

8.2 自动化与AI生成原理图/PCB的现状

近两年大家都在聊“AI生成原理图和PCB”,AD官方也推出过相关AI辅助工具和服务。我的实测感受是:AI在整理器件树、生成常见电路模板、辅助引脚对接这些结构化任务上确实能帮上忙,尤其是重复性的IP复用,效率提升明显;但让它独立设计一套包含电源、时钟、模拟采集和通信接口的完整系统,现阶段还不太靠谱,关键设计决策、器件选型、电源环路和信号完整性这些核心环节,仍然是工程师的判断力在兜底。

所以我对AI辅助的立场是把它当“加速器”,不把它当“决策者”。用AI做前期资料整理和常用模块生成,把省下来的时间用来做规则约束、信号完整性和生产可行性检查,这才是目前技术条件下性价比最高的用法。别为了赶时髦,把整块板子的生死交给一个你自己都讲不清楚逻辑的生成结果。

8.3 日常维护:卡顿清理与工程备份

AD用久了会越来越卡,很多时候是缓存目录堆积过多导致的。关闭AD后,到%APPDATA%\Altium\Altium Designer {版本号}\路径下找到Cache等相关目录,清理里面的临时缓存文件再重启,卡顿往往有明显改善。注意删缓存前备份好你自定义的快捷键、脚本和DXP偏好设置,这些是最容易在“清理”中一并丢失的宝贵配置。

工程的版本管理也要养成习惯。如果公司有用Git或SVN,工程文件可以直接纳入版本管理;没有条件的话,至少每次发板前手动归档一个带日期版本的文件夹,Gerber、BOM、原理图PDF、装配图放一起。不要相信“这个文件肯定是最终版”这句话,项目一忙起来,文件版本混乱带来的损失远超你花在归档上的那点时间。


把AD从“画板工具”变成“设计平台”,是我这几年最深的体会。工具只是执行约束的那只手,真正重要的是你脑子里关于规则、可制造性、可装配性和交付流程的那套判断。如果你正卡在进阶路上,我的建议很直接:先啃规则系统,把每条DRC都当成你写给板厂的承诺,再练好输出环节,让每一份交付文件都干净利落。等这两个环节都稳了,再回头玩快捷键、脚本和AI辅助,你会发现它们的价值是叠加的,而不是孤立的。

返回列表