
1. 从AD19到AD20这次升级到底动了谁的奶酪Altium Designer 19 在不少硬件团队里还没完全铺开20 版本就推到了面前。我身边很多做 PCB 设计的同行包括我自己第一反应都是“19 的快捷键还没记全呢”。但真正把 AD20 装进工作流跑完一个四层板项目之后我的判断变了这次升级不是小修小补它改的是底层数据模型和交互逻辑属于那种“用回去会难受”的版本。先给不太熟悉背景的朋友一个定位。Altium Designer 是硬件工程师做原理图绘制和 PCB 布线的主流工具之一从早期的 Protel 一路演进过来在国内中小硬件团队和消费电子方案公司里占有率很高。AD19 是 2018 年前后的主力版本稳定、生态成熟大量教程和库文件都围绕它建立。AD20 在 2019 年底到 2020 年逐步铺开核心变化集中在几个方向统一的数据模型、更顺手的交互操作、对高速设计的进一步支持以及工程管理层面的重构。这篇文章适合三类人看。第一类是还在用 AD19 甚至更早版本、正在犹豫要不要升级的工程师第二类是刚入门 PCB 设计、想搞清楚“版本差异到底影响什么”的新手第三类是团队里负责工具链选型和标准化的人。我会把 AD20 相对 AD19 的关键新功能拆开讲每个功能都落到“它解决什么问题、怎么用、有什么坑”这个层面而不是罗列更新日志。需要提前说明的是版本升级这件事没有绝对的好坏只有适不适合你当前的项目节奏。我见过团队为了追新版本把项目进度拖垮的也见过死守老版本结果在高速信号上反复翻车的。所以下面的内容我会尽量把“什么时候该升、什么时候可以再等等”这个判断也讲清楚。2. AD20 核心新功能拆解与实操要点2.1 统一数据模型原理图和 PCB 终于“说同一种语言”AD20 最底层、也最容易被忽视的变化是它把原理图、PCB、库文件统一到了一个数据模型下。这话听起来很抽象我换个说法你就懂了。在 AD19 及更早版本里原理图里的元件、PCB 里的封装、库里的符号本质上是三套相对独立的数据结构靠“同步”这个动作来对齐。你改一个原理图元件的参数PCB 那边不会自动感知得手动执行 Update PCB。这个机制在简单项目里没问题但一旦项目大了、多人协作就容易出现“原理图改了但 PCB 没同步”“库更新了但工程里还是旧版本”这类问题。AD20 的统一数据模型让这些对象共享同一套底层定义。最直接的体感是你在原理图里双击一个元件改参数PCB 里对应的器件会实时反映变化不需要反复执行同步命令。我实测下来在一个约 200 个元件、四层板、含 DDR 走线的项目里这个改动省掉的同步操作和排查时间保守估计有 15% 到 20%。具体操作上你可以在原理图界面选中一个元件按 F11 打开属性面板修改 Comment、Designator 或者自定义参数然后切到 PCB 界面会发现对应器件已经更新。这个过程中不需要点任何“同步”按钮。注意统一数据模型虽然方便但也意味着误操作会“实时生效”。改参数前建议先确认当前工程处于受控状态尤其是多人协作时避免一个人改了参数导致其他人的 PCB 布局出现意外变动。2.2 交互式布线的体验升级走线像“有记忆”一样AD20 在交互式布线上的改进是我个人觉得最实用的部分。AD19 的布线器已经不错了但 AD20 在几个细节上做了明显优化。第一个是推挤模式的智能程度。AD19 里推挤Push和绕行Hug的切换有时候不够跟手遇到密集区域容易卡顿或者推得乱七八糟。AD20 的推挤算法重新调过在同样密度的 BGA 出线区域走线推挤的响应速度和结果可预测性都更好。我拿一块 STM32F407 加 DDR3 的板子做过对比AD20 在 DDR 数据线区域做推挤布线时一次成功率明显高于 AD19。第二个是差分对和等长布线的交互优化。AD20 里差分对布线时实时的阻抗和长度信息显示更直观等长绕线的“蛇形”调整也更顺滑。具体操作是在 PCB 界面按 P 然后 D 进入差分对布线走线过程中按 Tab 可以调出属性面板实时修改线宽、间距、目标阻抗。等长方面选中需要等长的网络用 Tools 菜单下的 Interactive Length TuningAD20 的绕线算法在空间利用率上比 AD19 好一些同样长度的补偿占用的面积更小。第三个是布线时的视觉反馈。AD20 增加了走线路径的预览高亮以及更清晰的冲突提示。这个在高速信号扇出的时候特别有用你能提前看到这条线会不会撞到别的网络。实操心得AD20 的推挤模式虽然强但在高密度区域建议先关掉推挤手动走关键信号再打开推挤处理普通信号。全开推挤在极端密集的情况下反而会“帮倒忙”把已经走好的线推歪。2.3 高速设计支持从“能用”到“好用”的差距高速 PCB 设计是现在硬件工程师绕不开的坎。DDR4、USB3.0、千兆以太网这些接口对阻抗、等长、参考平面的要求都很严。AD20 在高速设计上的增强主要体现在规则管理和信号完整性分析两个层面。规则管理方面AD20 的 Design Rules 界面做了重构分类更清晰查找和修改规则的速度更快。比如你要设置一个差分对的阻抗规则在 AD19 里可能要翻好几层菜单AD20 里可以直接在规则搜索框输入“differential”快速定位。而且 AD20 支持规则的批量导入导出团队里可以把一套调好的高速规则存成模板新项目直接复用。信号完整性方面AD20 增强了与外部仿真工具的联动同时内置的反射和串扰分析精度有提升。我实际用下来对于 DDR4 这种速率的设计AD20 的预布局分析结果和后期实测的吻合度比 AD19 高。当然真正严谨的 SI 分析还是得上专业仿真工具AD20 的价值在于“快速筛查明显问题”帮你省掉一些低级错误。这里给一个 DDR4 原理图和 PCB 设计的常见检查清单AD20 环境下可以直接对照检查项AD19 操作方式AD20 优化点差分对阻抗规则多层菜单手动设置搜索框快速定位支持模板导入等长组设置手动创建匹配长度组支持从网络类自动生成等长组参考平面检查手动查看层叠内置平面完整性快速检查过孔 stub 影响需外部工具内置过孔 stub 长度提示串扰快速评估基本无支持并行网络串扰预警注意AD20 的高速规则虽然方便但规则冲突的排查依然需要经验。我遇到过因为规则优先级设置不当导致差分对实际线宽和设计值不符的情况。建议每次改完规则用 Design Rule Check 跑一遍确认没有冲突。2.4 工程管理与协作多人项目的痛点缓解AD20 在工程管理上的改动对单人项目感知不强但对多人协作的团队影响很大。AD19 时代多人同时改一个工程基本靠“喊”——谁在改哪个文件、谁锁了哪个库全靠沟通。AD20 引入了更明确的工程状态管理和版本控制集成。具体来说AD20 的 Projects 面板会显示每个文件的修改状态支持与主流版本控制工具如 Git、SVN的集成。你可以直接在 AD 里执行提交、更新、查看差异。这个功能在 AD19 里也有雏形但 AD20 的集成度更高冲突提示也更清晰。另一个实用改进是工程模板。AD20 支持把一套完整的工程配置包括层叠、规则、输出设置、BOM 模板保存为模板新项目直接套用。我们团队现在把常用的四层板、六层板配置都做成了模板新项目启动时间从原来的半天缩短到十几分钟。实操心得工程模板虽好但不要一套模板打天下。不同项目对阻抗、层叠、工艺的要求差异很大建议按产品类型如消费电子、工业控制、高速通信分别维护模板避免“套错模板导致后期返工”。3. 完整实操流程用 AD20 跑一个四层板项目3.1 工程创建与层叠设置我拿一个典型的四层板项目来演示主控用 STM32F103C8T6带 DHT11 温湿度传感器接口、TB6612 电机驱动、以及一路 USB 转串口。这个配置覆盖了大部分入门到中级的硬件设计场景。第一步是新建工程。AD20 里 File New Project选择 PCB Project。这里有个细节AD20 默认会勾选“Use unified data model”建议保持勾选这是新版本的核心特性。工程建好后右键添加 Schematic 和 PCB 文件。第二步是层叠设置。四层板的典型层叠是Top Layer信号、GND完整地平面、Power电源平面、Bottom Layer信号。在 AD20 里按 D 然后 K 打开 Layer Stack Manager。这里 AD20 的界面比 AD19 更直观可以直接拖拽调整层顺序实时看到层叠厚度和阻抗估算。对于这个项目信号层到地平面的介质厚度建议控制在 0.2mm 左右对应约 50 欧姆的单端阻抗。具体数值需要根据板厂工艺调整我一般会在投板前和板厂确认他们的标准层叠参数。注意层叠设置一旦确定后续布线中途修改会导致所有已布线网络的阻抗变化。建议在布线前把层叠和规则全部定死中途不改。3.2 原理图绘制与统一数据模型验证原理图部分AD20 的绘制体验和 AD19 差别不大但统一数据模型带来的变化在细节里。比如你放置一个 STM32F103C8T6 的符号双击修改它的 Comment 或者添加自定义参数如供应商料号PCB 那边会同步。我习惯在原理图阶段就把关键参数填好Designator、Comment、Footprint、以及自定义的“物料编码”和“供应商”。AD20 里这些参数可以直接在属性面板批量编辑选中多个元件用 Properties 面板统一修改效率比 AD19 高。DHT11 的接口电路比较简单一个数据引脚加上拉电阻电源加去耦电容。TB6612 电机驱动需要留意逻辑电源和电机电源的隔离原理图上用不同的电源网络标号区分。这些在 AD20 里操作和 AD19 一致没有学习成本。原理图画完后执行 Tools Annotation Annotate Schematics Quietly给元件编号。然后 Design Update PCB Document把原理图同步到 PCB。在 AD20 里这个同步过程比 AD19 快而且冲突提示更明确。3.3 PCB 布局与关键信号布线布局阶段我一般先放连接器和主要器件再放去耦电容和小元件。AD20 的布局工具里有个“Component Placement”的优化功能可以基于连接关系自动给出布局建议。这个功能 AD19 也有但 AD20 的算法更合理尤其是对去耦电容的摆放建议。关键信号布线方面这个项目里 USB 差分对和电机驱动的 PWM 信号需要重点处理。USB 差分对用 AD20 的差分对布线功能按 P 然后 D走线时按 Tab 设置线宽和间距。对于 USB Full Speed差分阻抗控制在 90 欧姆左右线宽和间距根据层叠计算。PWM 信号频率不高但电流较大线宽要足够。TB6612 的输出到电机接口我一般用 1mm 以上的线宽并且尽量短、直。实操心得AD20 的差分对布线在遇到过孔时会自动提示“差分对过孔不对称”。这个提示很有用因为差分对过孔不对称会引入共模噪声。遇到提示时尽量调整过孔位置让两条线对称。3.4 设计规则检查与输出布线完成后跑 Design Rule Check。AD20 的 DRC 速度比 AD19 快而且报告更清晰。常见问题包括线宽不足、间距违规、未连接网络、丝印重叠等。对于四层板还要检查平面分割是否合理。AD20 的 Layer Stack Manager 里可以查看平面层的分割情况确保地平面完整电源平面按需分割。输出方面AD20 支持直接生成 Gerber、钻孔文件、BOM、贴片坐标。我一般用 File Fabrication Outputs Gerber Files然后 File Assembly Outputs Generates Pick and Place Files。AD20 的输出配置可以保存为模板下次直接调用。输出类型AD19 操作路径AD20 优化点GerberFile Fabrication Outputs支持输出配置模板钻孔文件File Fabrication Outputs与 Gerber 输出联动BOMReports Bill of Materials支持自定义模板和分组贴片坐标File Assembly Outputs支持多格式导出原理图 PDFFile Smart PDF支持批量导出和书签4. 常见问题与排查技巧实录4.1 升级后工程打不开或元件丢失这是升级版本最常见的问题。AD20 打开 AD19 工程时大部分情况是兼容的但如果工程里用了自定义库或者特殊元件可能会出现元件丢失或符号显示异常。排查思路先检查库路径。AD20 的库管理界面和 AD19 略有不同在 Components 面板里确认库是否正常加载。如果库文件是 AD19 格式的AD20 通常能直接读取但建议把常用库另存为 AD20 格式避免兼容问题。如果元件符号显示异常检查原理图里的元件是否关联到了正确的库。AD20 的统一数据模型对库的依赖更强库路径不对会导致元件无法正常显示。避坑技巧升级前先把 AD19 工程完整备份包括所有库文件。升级后不要急着覆盖原工程先另存为新版本确认没问题再切换。4.2 布线时推挤模式异常AD20 的推挤模式虽然强但在某些情况下会出现“推不动”或者“推得过头”的情况。常见原因有几个规则设置过严、层叠设置不合理、或者走线密度超过了推挤算法的处理能力。排查时先检查 Design Rules 里的 Clearance 规则确认最小间距设置是否合理。如果间距要求太严推挤算法可能找不到可行路径。其次检查层叠如果信号层到参考平面的距离过大阻抗和串扰的估算会偏差影响推挤决策。如果问题持续可以临时关闭推挤手动走线再打开推挤处理其他网络。AD20 里按 ShiftR 可以快速切换布线模式。4.3 差分对和等长布线不达标差分对和等长是高速设计的重点也是问题高发区。常见问题包括差分对阻抗偏差、等长组长度不匹配、过孔不对称。排查差分对阻抗先确认层叠和线宽间距是否匹配。AD20 的 Layer Stack Manager 里有阻抗计算器可以输入目标阻抗反推线宽间距。等长方面用 Tools Interactive Length Tuning 时注意目标长度和实际长度的差值AD20 会实时显示。过孔不对称的问题AD20 会在布线时提示。解决方法是手动调整过孔位置或者用“Diff Pair Via”功能自动对称放置。问题现象可能原因解决方法差分对阻抗偏差大线宽间距与层叠不匹配用阻抗计算器反推参数等长组长度不匹配绕线空间不足或规则冲突调整绕线区域或放宽规则过孔不对称手动放置过孔用 Diff Pair Via 功能推挤模式异常规则过严或密度过高检查规则临时关闭推挤工程打开元件丢失库路径或格式不兼容检查库路径另存为 AD20 格式4.4 输出文件板厂反馈问题输出 Gerber 和钻孔文件后板厂有时会反馈“文件不完整”或“层识别错误”。这通常是输出配置的问题。AD20 输出 Gerber 时注意在 Gerber Setup 里确认层映射是否正确。特别是四层板Top、GND、Power、Bottom 四层都要正确输出。钻孔文件要单独输出并确认钻孔符号和孔径表匹配。实操心得第一次和某家板厂合作时建议先发一套简单的测试板文件确认他们的工艺能力和文件要求。不同板厂对 Gerber 格式、钻孔文件、阻抗报告的要求可能有差异提前对齐能省很多返工时间。5. 版本选择与升级决策什么时候该升什么时候再等等聊完功能回到最实际的问题AD19 用得好好的到底要不要升 AD20我的判断依据是项目类型和团队情况。如果你做的是高速数字设计涉及 DDR、USB3.0、千兆以太网这些接口AD20 在规则管理和信号完整性上的提升是实打实的升级收益明显。如果你做的是简单的双层板、低频控制板AD19 完全够用升级的边际收益不大。团队协作方面如果团队多人同时改一个工程AD20 的工程管理和版本控制集成能减少很多沟通成本。但前提是团队所有人都升级否则版本不一致反而更麻烦。还有一个现实因素是库和教程的生态。AD19 积累了大量的库文件、教程、模板AD20 虽然兼容大部分但总有一些细节差异。如果你的工作流高度依赖某个特定库或工具链升级前要先验证兼容性。我自己的做法是主力项目还在 AD19 上跑新项目用 AD20 试水。等 AD20 的生态和团队熟练度都上来了再全面切换。这个过渡期大概持续了半年期间踩的坑基本都在上面列出来了。最后分享一个我常用的版本切换检查清单每次升级前过一遍能避开大部分低级问题备份所有工程和库文件确认板厂支持的 Gerber 格式和层叠参数验证常用库在 AD20 下的兼容性测试一个完整的小项目从原理图到输出确认团队成员的版本一致性准备好回退方案万一升级影响进度能快速切回这个清单看起来简单但真到项目赶进度的时候少做一步就可能出问题。我见过因为没备份库文件升级后元件符号全乱、花了两天重新整理的案例。工具是为人服务的升级的目的是提高效率不是给自己找麻烦。