
画了几年板子AD19 在我用过的几版 Altium Designer 里算是分水岭式的一版界面从早期那种密密麻麻的工具栏彻底转向了带功能区的现代布局同时把 xSignals、ActiveRoute、Draftsman、刚柔结合板支持这些原来要额外折腾的东西收进了标配。我手上有几块已经量产的板子从原理图一路走到出 Gerber全是在这一版里完成的踩过的坑不算少也因此攒下了一批每天要按几十次的常用功能以及一些说明书里不会写的操作细节。这篇东西不打算讲软件怎么装、按钮在哪个菜单那种内容官方文档写得比我清楚。我想聊的是一个真要画板子的人每天都会碰到的事工程文件怎么搭、库怎么管、规则怎么配、布线怎么走、铺铜怎么收尾、Gerber 怎么出最后把这些年撞见的典型报错整理成一张能直接查的表。刚上手 EDA 软件的学生、从别的画板工具转过来的工程师或者画了几年但总觉得效率上不去的朋友应该都能从里面挑到几条能马上用上的东西。1. 先把工程骨架搭对后面能省一半力气1.1 从原理图到 PCB 的这条主线别走乱AD19 的工作流本质上是一条直线画原理图.SchDoc→ 编译生成网络表 → 同步到 PCB.PcbDoc→ 配规则 → 布局布线 → 铺铜收尾 → DRC → 输出制造文件。听起来很朴素但很多人出问题恰恰是因为把这条线走乱了典型表现就是散落一地的独立文件今天打开.SchDoc改一下明天单独打开.PcbDoc更新一下结果网络表对不上器件莫名消失封装被改回旧版本。正确的做法是所有设计文件必须挂在同一个工程文件.PrjPcb下面。这个工程文件本身不含任何电路数据它只是一份索引记录这个工程包含哪几张原理图、哪块 PCB、用哪套规则、编译顺序是什么。它的价值在于——网络表同步、原理图与 PCB 的交叉选择、设计规则的作用范围、输出配置全部依赖这个工程上下文。你把.SchDoc单独拎出来打开AD 只能给它一个临时的默认环境很多功能就是灰的。我一般新建工程的操作是File → New → Project → PCB Project然后立刻 CtrlS把工程文件命名成有意义的英文名中文路径在导入导出环节偶尔会出幺蛾子能避开就避开再在工程上右键 Add New to Project 添加原理图和 PCB。顺序很重要先建工程再加文件反过来做你就得手动把文件 Add Existing to Project 挂进去新手上来最容易在这一步漏挂。还有一个认知得提前建立原理图里器件之间的连接是靠网络名字决定的不是靠线画得漂不漂亮。两条线在图上交叉但没画节点它们就是两个网络反过来两个八竿子打不着的引脚只要都挂上同一个网络标签VCC_3V3AD 就认定它们连在一起。这个特性是效率的来源也是事故的来源后面讲网络标签的时候会重点说。1.2 工程目录和元件库该怎么放工程文件类型不少新手容易搞混我列一张表对照着记后缀含义什么时候用.PrjPcb工程索引文件每个项目一个必须存在.SchDoc原理图图纸按功能模块分页别一张图画到底.PcbDocPCB 设计文件一个工程通常一块.SchLib原理图符号库自建符号放这里.PcbLibPCB 封装库自建封装放这里.IntLib集成库符号封装仿真模型打包适合发布.OutJob输出配置文件固化 Gerber/BOM 输出流程.PCBDwfDraftsman 装配图出装配和尺寸标注关于库我的建议是两条腿走路公司或团队有一套公共库个人再维护一份私人小库。公共库保证器件命名、封装规范统一私人库用来放那些临时验证的、还没走评审的器件。千万不要养成从网上随便下个集成库塞进工程里的习惯那类库的封装焊盘尺寸经常是按 IPC 最松的等级画的回流焊上去偏移或者立碑的概率会明显上升而且来源不可控出了问题你连改哪儿都不知道。如果你们团队没有版本管理工具至少做到一件事每天收工前把整个工程目录打包成带日期的 zip。AD19 自带的 Storage Manager 支持 SVN 工作流对集中式管理比较友好用 Git 的话要注意.SchDoc和.PcbDoc在本质上都是复合二进制文档diff 出来是一堆乱码冲突了基本没法手工合并所以要么上 Git LFS要么就老老实实按版本目录归档。我见过太多人因为一次误操作覆盖了 PCB 文件又没有备份只能从头再来。2. 原理图阶段几个真正提效的功能2.1 元件放置、库面板和批量改参数放元件这件事新手用顶部工具栏的 Place → Part熟手用 Components 面板Panels → Components或者右下角面板区调出来。面板的好处是能直接按库、按分类过滤搜索输入关键字就能联动定位。前提是你要先把库路径配好Preferences → Data Management → File-based Libraries把自建库的目录加进去。这一步配一次之后每个工程都省事。比放元件更重要的是批量改参数。假设你在某块板子上放了两百个 0603 电阻画到一半发现封装应该换成 0603 的窄焊盘版本一个个点开改是灾难。正确做法是右键任意一个目标器件 → Find Similar Objects在弹窗里设置匹配条件比如把 Footprint 那一栏的匹配方式从 Any 改成 Same勾上 Select Matched确定。这时候所有同封装的器件会被选中再打开 Properties 面板或者 List 面板统一改改一次全部生效。这个功能的精髓在于用属性筛选代替手工挑值得花十分钟专门练一遍。位号注释也是个高频操作。画图过程中如果复制粘贴器件位号会变成R?、C?这种状态。发布前用 Tools → Annotation → Annotate Schematics Quietly 就能一键重排或者在 Annotate Schematics 对话框里按图纸顺序、按位置顺序重新编号。我个人的习惯是在同步到 PCB 之前必须做一次注释因为位号在原理图和 PCB 之间是绑定关系带着问号同步过去后面改起来非常难受。2.2 网络标签、端口、总线怎么用才对前面提到过网络连接靠名字。同图纸内跨模块的连接用Net Label放置快捷键 P-N跨图纸的连接用PortP-R配合上级图纸的Sheet Entry再用Off-Sheet Connector或者Harness做整组信号的封装。层次化设计做得好一个几十页的工程可以拆成电源、主控、接口、射频几个子图每张图单独看都很清爽。总线是个容易被误解的东西。Data[0..7]这样的总线画一根粗线加上 Bus Entry再配合Data0到Data7的 Net LabelAD 才能识别到对应关系。总线本身不是电气连接它只是把一组同名前缀的信号视觉上归拢理解成信号线的收纳盒更准确。命名格式写错比如写成DATA[0-7]或者漏了下标编译时就会报一堆悬浮网络。差分对有个小约定值得记住AD 会自动识别以_P/_N、/-结尾的成对网络但识别规则是可以在 Preferences → PCB Editor → ...实际上是在设计规则里的 Differential Pairs 规则中配置的。如果你们的命名习惯是TX0P/TX0N这种没下划线的最好提前把命名规则改对否则到了 PCB 阶段差分对路由功能对这些网络不生效你就得手工一根根走等长也无从谈起。注意网络标签是同名即连的。我早年做过一块板子电源模块里有个局部网络叫FB主控部分也有个叫FB的节点两边完全不是一回事结果同步到 PCB 之后两条完全不相关的线被连到一起排查了大半天。在层次化设计里凡是只在本页使用的中间网络务必用 Page Options 里的设计范围限制或者干脆养成加模块前缀的习惯比如PWR_FB、MCU_FB。2.3 编译、ERC 和同步前的自检原理图画完先别急着同步。按 C-C 编译工程然后打开 Messages 面板看结果。这个面板是空的才叫干净有内容就必须逐条处理。常见的几条我列一下Net has no driving source某个网络只有输入引脚没有输出驱动典型原因是电源网络没有加电源端口或者只是画了一根线没打标签。解决方法是给该网络补一个 Power Port。Duplicate Pin Number同一个器件有两个引脚用了同一个编号通常是自建符号时笔误。Floating Net Label网络标签没贴到线上或者贴歪了看着连上了实际上悬空。这种错误最阴险因为肉眼几乎看不出来建议把标签吸附栅格调小一点再放。Component has no footprint器件属性里没填封装同步到 PCB 时它会直接消失。同步前还有一步自检Reports → Bill of Materials导出前先扫一眼位号有没有问号、封装有没有空值、数量对不对。这一步花两分钟能省掉后面重新打样的几千块。3. 规则系统AD19 真正拉开差距的地方3.1 规则的作用域和优先级逻辑很多人用 AD 用了好几年规则面板只动过 Clearance这其实浪费了这个软件最有价值的部分。Design → Rules快捷键 D-R打开的那个对话框结构是规则类型 具体规则 作用范围Query 约束值。精髓在于 Query 表达式它决定了这条规则管哪些对象。场景Query 写法示例只针对某条网络InNet(VCC_5V)针对某个网络类InNetClass(PWR)只针对过孔IsVia只针对某封装HasFootprint(SOP-8)板边 3mm 以内WithinRoom(Keepout_Edge)或配合区域规则组合条件InNetClass(DIFF) And OnLayer(Top Layer)优先级这件事必须讲清楚规则列表是从上往下匹配的一旦某个对象命中了上面的一条规则并且这条规则的约束被判定为适用且优先下面更宽泛的规则就不再对它生效。所以正确的排布顺序是具体规则在上通用规则在下。我见过有人把所有网络统一配了 0.25mm 线宽又想给电源网络单独配 1mm结果后者写在下面怎么改都不生效还以为软件有 bug。3.2 必须配好的几条核心规则电气类的 Clearance是所有规则的地基。新建工程时 AD 自带的默认值通常是 10mil0.254mm这在普通消费电子里偏保守但不算错。真正要花心思的是分对象设置普通信号线到信号线可以放到 0.15mm电源网络到信号线留 0.25mm 以上高压或者开关电源的爬电距离按安规要求单独放宽。做法就是新建几条 Clearance 规则分别用 Query 圈定范围放在默认规则上面。走线宽度这块我给一个基于 IPC-2221 的简化算法方便你算出来心里有底。载流能力与线宽的关系近似为A ( I / (k × ΔT^0.44) ) ^ (1/0.725) A : 导线截面积单位 mil² I : 电流单位 A ΔT : 允许温升单位 °C k : 外层取 0.048内层取 0.024代入 1A 电流、允许 10°C 温升、外层走线算出来截面积约 16.3 mil²1oz 铜厚是 1.378 mil相除得到线宽约 11.8 mil也就是 0.3mm 左右。同样条件下走内层因为散热差k 值减半线宽要翻到约 0.6mm。工程上我会再留一档余量外层取 0.4mm、内层取 0.8mm。注意这只是直流和低频的粗算高频还要看趋肤效应和阻抗要求。阻抗控制建议直接用层叠管理器Design → Layer Stack Manager里的阻抗计算功能。举个例子介质厚度 0.2mm、铜厚 1oz 的普通 FR4εr 约 4.3微带线宽做到 0.33~0.36mm 附近特性阻抗大致落在 50Ω 左右。这个数字只是经验范围真正的值要拿板厂给的层叠参数去算因为不同厂家的半固化片厚度和介电常数是有差异的你按理论算好板厂换个 PP 型号阻抗就偏了。所以打样前把阻抗要求和层叠图一起发给板厂确认这一步别省。制造类规则是最容易被忽略、又最容易导致板子报废的一组。Hole Size 限制最小钻孔Hole to Hole Clearance 防止两个孔之间的壁太薄导致钻偏连通Silk to Solder Mask 防止丝印压到焊盘上被洗掉造成误焊Minimum Annular Ring 保证过孔环宽足够一般要求 0.15mm 以上Board Outline Clearance 保证铜皮和板边有安全距离。这几条配上之后DRC 基本能帮你挡掉八成的制造风险。4. 布局布线阶段的高频操作4.1 板框、层叠、原点和栅格板框Board Shape通常从结构给的 DXF 导入File → Import → DXF/DWG导入时选好单位和图层然后把闭合的轮廓线框起来Design → Board Shape → Define from Selected Objects。这一步有个硬性要求——轮廓必须是闭合的有断点的话 AD 无法生成板形会提示你选择无效。另外导入 DXF 之后记得检查单位结构那边给的图有可能是英寸你按毫米导入板子尺寸会差 25 倍这个错误我见过不止一次。原点建议设在板子的左下角Edit → Origin → SetE-O-S 是设置相对原点。为什么强调这个因为贴片坐标文件Pick and Place默认以原点为参考如果你的原点在板子正中间那给工厂的坐标里会出现一堆负数虽然理论上也能用但产线工程师看到负数就要多问一句沟通成本上去了。层叠管理器里把层数、介质厚度、铜厚、阻抗配置定下来这份配置是整个设计的基础中途改层叠等于重画。栅格管理靠 G 键循环切换CtrlG 打开栅格设置。我的习惯是准备两套0.1mm 的精细栅格用来对细微位置1mm 的粗栅格用来做器件布局切换靠 G 循环或者自定义快捷键。另外 Q 键切换单位mm/mil布线看线宽用 mil 更直观布局看尺寸用 mm 更直观这俩单位来回切是常态。4.2 布局阶段交叉选择和飞线治理AD 有个必须打开的功能叫Cross Select ModeTools 菜单里打开之后在原理图里选中一个器件PCB 里对应器件会同步高亮反过来也一样。这个功能对按模块摆放帮助极大你可以对着原理图的分页一页一页往 PCB 上摆摆完一个模块再摆下一个。飞线Ratsnest是布局质量的直接反馈。飞线交叉严重说明器件相对位置不合理不用等到布线才发现。我一般的顺序是先摆结构固定件接插件、按键、屏幕、天线区域→ 再摆核心芯片 → 再摆外围阻容 → 最后摆电源部分。大件的位置一旦确定就不要轻易动因为周边的布线都得跟着改。还有个实用的功能是Room。原理图里每张图纸会在 PCB 里生成一个对应的 Room把该图上的器件框在一起。你可以用 Tools → Component Placement → Arrange Within Room 让器件在 Room 内自动排列虽然排出来的效果不能直接用但作为一个起步布局比从一堆重叠器件里手动扒要快得多。布局做完之后按一下 3切到 3D 视图看一眼立体干涉高的电解电容会不会顶到外壳连接器的高度对不对散热器有没有和别的件打架。这个检查在半成品结构件越来越紧凑的今天几乎是必须的。4.3 布线阶段交互式布线、差分对与等长交互式布线的快捷键是 P-T。进入走线状态之后几个操作必须形成肌肉记忆Tab 键在放置过程中打开属性面板临时改线宽、改过孔尺寸改完继续走。ShiftW从预设的线宽列表里挑一个这个列表可以在 Preferences 里维护提前把常用的 0.2/0.3/0.5mm 存进去比每次敲数字快得多。走线过程中按 2 或者小键盘的 *打过孔换层这是最顺手的换层方式。Space 切换走线角度ShiftSpace 在不同拐角模式之间循环45 度、90 度、圆弧、任意角度。高频信号和需要控制阻抗的场合圆弧拐角比 45 度直角更友好。P-V是单独放置过孔在不走线的时候用。AD19 的布线引擎有个模式选择需要留意Preferences → PCB Editor → Interactive Routing 里的Current Mode和Plowing Mode。Current Mode 决定遇到障碍是绕行Walkaround、推挤Push还是忽略IgnorePlowing Mode 决定推挤时是推线还是推过孔。我的建议是布局阶段用 Ignore 快速走通精修阶段切到 Push 或者 Hug 做整线。全程开推挤在密集区域会把你已经走好的线推得乱七八糟反而更费时间。走完之后用 Tools → Gloss 做一次平滑能把多余的拐点吃掉观感好很多但注意它也会改变线长等长网络慎用。差分对布线用 P-I前提是前面把差分对定义配对了。布线时它会在光标附近同时拉出两条线间距由 Differential Pairs Routing 规则控制。线宽和间距这两件事要一起算——单端阻抗、差分阻抗、共模阻抗都跟它们有关一般板厂会给你一组线宽/间距组合对应目标差分阻抗照着填就行。等长是 DDR、USB、HDMI 这类接口绕不过去的。AD19 的做法是先定义 xSignalsTools → xSignals → Create xSignals选起点器件、终点器件、中间串接器件把整条链路当作一个对象管理然后 Tools → Interactive Length Tuning 调出绕线工具。绕线时按 Tab 设定目标长度和容差工具会实时显示当前长度和偏差。蛇形绕线有个原则绕在信号路径的中段或者末端别贴着一开始就绕而且相邻绕线段之间的间距要拉开到 3 倍线宽以上否则耦合会吃掉你的等长收益。5. 铺铜、过孔和丝印收尾5.1 铺铜的三种连接方式与常见孤岛铺铜用 P-G画一个多边形双击进入属性设置。核心选项是连接方式一般通过 Polygon Connect Style 规则来统一管理Relief Connect热焊盘铜皮通过四根细连接筋连到焊盘好处是手工焊接和波峰焊时散热慢不容易假焊代价是高频下这几根细筋会引入寄生电感。普通低频板子默认用它。Direct Connect全连接铜皮直接包住焊盘阻抗低、载流好适合大电流和射频。但散热快手工烙铁焊起来很费劲回流焊问题不大。No Connect不连用于需要隔离的网络。铺铜最容易出的三个问题铜皮没连上焊盘多半是热焊盘连接筋宽度小于规则最小值或者焊盘间距太密放不下连接筋、出现孤岛铜皮上一块没有任何网络连接的区域需要勾选 Remove Islands、以及铜皮和板边距离不够由 Board Outline Clearance 规则约束。改完规则之后铜皮不会自动更新必须手动重铺。单个铜皮右键 Polygon Actions → Repour全部重铺用快捷键 T-G-ATools → Polygon Pours → Repour All。我通常的习惯是布线阶段把铜皮全部设成 Shelved搁置状态走完线再一次性恢复重铺否则每改一根线就等着软件重算铜皮大板子上会卡到你怀疑人生。5.2 丝印、装配图和 3D 复查丝印不是装饰是给产线和维修用的。几条经验位号不要压在焊盘上靠 Silk to Solder Mask 规则挡掉不要压在过孔上过孔裸露喷锡丝印会糊不要小到看不清一般字号高度不低于 0.8mm。位号统一朝向、统一放在器件同一侧看起来才专业。AD 的 Edit → Align 里有一组对齐工具可以批量把位号左对齐、等间距排列虽然得手动操作但比一个个拖快得多。装配图建议用 DraftsmanFile → New → Draftsman Document来出它能自动生成顶视图、底视图、尺寸标注、钻孔表、层叠信息好处是和 PCB 文件是联动的PCB 一改打开装配图刷新一下就同步了不用像以前那样截图贴图。最后一道检查还是 3D。除了干涉还能看丝印在 3D 下的实际效果、连接器的插拔方向有没有被挡住、屏蔽罩的空间够不够。这一步做完才算真正可以出图。6. 输出制造文件一次做对后面复用6.1 Gerber、钻孔和贴片坐标Gerber 走 File → Fabrication Outputs → Gerber Files。几个关键设置单位与精度跟板厂确认常见是英制 2:4 或者公制 4:4。精度选低了0.1mm 的细线会被四舍五入掉这个错误非常隐蔽。层映射在 Layers 页签确认每一层对应的 Gerber 层号负片平面层Internal Plane要特别注意它的输出逻辑和普通信号层不一样。高级选项勾上Embedded Apertures还是用 RS-274X 格式现在板厂基本都吃 RS-274X直接用默认即可。钻孔文件在 File → Fabrication Outputs → NC Drill Files单位精度要和 Gerber 保持一致否则会错位。如果板厂支持 ODB我更推荐直接出 ODBFile → Fabrication Outputs → ODB它把网络信息、层信息、钻孔信息打包在一个文件里少了很多层映射对不上的风险板厂那边导入也更省事。贴片坐标用 Reports → Pick and Place导出前一定要确认坐标参考点选 Relative to Origin 还是 Absolute以及单位。有条件的出完之后自己用 Gerber 查看器打开核对一遍层数对不对、板框有没有、钻孔位置是否正确、丝印有没有明显问题。这个习惯帮我拦下过至少两次层漏出的低级错误。6.2 用 OutJob 把输出流程固化每次都手动点一遍 Gerber、钻孔、BOM、坐标文件早晚会漏。AD19 的正确姿势是Output Job FileFile → New → Output Job File把所有需要的输出项配好包括每个输出用哪个变量、输出到哪个目录、文件名规则然后保存成模板。以后每个工程挂一个 OutJob点一下 Generate全套文件一次性出来。这个投入大概半小时回报是每次出图省十分钟加上零遗漏。团队协作时更明显所有人的输出格式统一PCB 工厂不会因为某个人出的 Gerber 层名奇怪而回头问你。7. 常见问题与排查速查7.1 高频报错速查表现象大概率原因处理方式同步 PCB 时提示 Unknown Pin原理图符号引脚号和 PCB 封装焊盘号对不上打开封装库核对焊盘编号注意大小写和隐藏引脚器件在 PCB 里消失了该器件属性里没填封装原理图里补封装后重新同步网络名重复导致意外连接不同模块用了同一个网络标签加模块前缀或用层次化端口隔离作用域铜皮不连焊盘热焊盘连接筋宽度小于最小值调 Polygon Connect Style 规则里的连接筋宽度或改 Direct ConnectDRC 报丝印压焊盘位号放到了焊盘上移动位号或放宽 Silk to Solder Mask 规则不建议板形生成失败轮廓线不闭合用 DXF 导入后检查断点或直接在 PCB 里重画走线改不了宽度规则优先级被上层规则拦截检查 D-R 里的规则排序具体规则放上面大板操作卡顿在线 DRC 和 3D 渲染占资源关掉 Online DRC铺铜设 Shelved需要时再开Gerber 缺层层映射页签勾选漏了出图前用查看器核对或改用 ODB等长怎么绕都差一点绕线段之间间距太近耦合影响了有效长度拉开绕线段间距到 3 倍线宽以上7.2 我踩过的几个坑第一个坑是在线 DRC。AD 默认开着在线检查板子小的时候没什么感觉一旦器件上千、网络上千走线会明显掉帧。我的做法是布局布线全程关掉它等收尾时用 T-D 手动跑一次完整检查速度快得多眼睛也不用一直盯着红色的波浪线心烦。第二个坑是复制粘贴器件带来的位号重复。AD 允许重复位号共存一段时间但同步到 PCB 的时候会出乱子。养成习惯任何一次粘贴操作之后看看有没有?出现有就立刻重新注释。第三个坑是层叠管理器里改完介质厚度没同步给板厂。有次我按理论值把介质设成 0.1mm 去凑 50Ω 阻抗实际打样板厂按他们的标准叠层做的介质是 0.2mm阻抗直接偏了十几欧。后来我学乖了先问板厂要标准层叠图再把参数填进 Layer Stack Manager而不是反过来。第四个坑是忘了删测试用的过孔和飞线。调试时随手打的过孔、临时拉的测试点出图前一定要全局搜一遍尤其是那种没有网络名的孤立过孔DRC 有时候不会报。通用规则这个东西值得单独提一句AD19 支持把一套配好的设计规则导出成 .RUL 文件在 Rules 对话框里 Export Rules 就能存下来。新工程直接 Import 进去省得从零配。我自己维护了一份两层板通用规则和一份四层阻抗板规则开新项目第一件事就是导入这习惯大概帮我省了几十个小时。最后分享一个操作习惯把最常用的十几条快捷键对应到鼠标侧键上或者调整成左手能单手按到的组合比如把 Interactive Length Tuning 改成 F2。AD 的快捷键在 Preferences → PCB Editor → ...实际上在 Customize 对话框里可以全量改右键工具栏 → Customize。改完之后你会发现画板子这件事里真正费时间的从来不是想而是手在菜单里找。