ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Altium Designer 22.1.2 工程迁移与PCB设计避坑指南

Altium Designer 22.1.2 工程迁移与PCB设计避坑指南 前阵子把一个跑了三年多的老工程从早年的版本迁到 Altium Designer 22.1.2中间隔了好几个大版本光规则迁移和库路径重挂就折腾了整整两天。那两天里我最大的感受是AD 这类 EDA 工具真正卡住人的从来不是会不会画板而是版本之间那些没人写进文档里的细节——面板挪了位置、默认规则换了口径、缓存写到了奇怪的地方、库搜不到元件却又不报错。这篇就把我在 22.1.2 上踩过的、验证过的、以及后来形成固定习惯的东西整理一遍主要面向已经能画简单板子、想把这套工具用得更顺的人刚入门的朋友也能从里面的路径规划、库管理、规则设置思路里拿到可以直接照做的方法。内容会一直补充用着用着发现新东西就加进来。1. 22.1.2 的界面版图功能区标识先认全再谈效率1.1 版本跳到 22 之后位置变化带来的第一波不适应从老版本切到 22.1.2第一个撞上的不是功能缺失而是找不到东西。以前习惯在顶部菜单里翻的选项现在很多被收进了右侧的面板以前靠 DXP 菜单进 Preferences22 里改成了右上角的齿轮图标第一次找的时候我在菜单栏来回点了五遍。这类变化谈不上好坏纯粹是肌肉记忆被打断。我更建议的做法是装完之后先别急着画图花二十分钟把默认的工作区布局重新摆一遍然后把当前布局存成一个视图配置。AD 允许你在 View 菜单里保存和调用面板布局这一步的收益在整个项目周期里是复利的——后面不管是被误拖乱了面板还是换到双屏、换到 4K 屏一键恢复就行不用每次重新拖。另外提醒一句22.1.2 对高 DPI 屏幕的缩放支持比早期版本好很多但仍然有部分对话框在 125% 缩放下字会糊。如果你用的是笔记本外接显示器两个屏的缩放比不一致时优先把 AD 主窗口拖到主屏上启动能减少不少渲染错位。1.2 各功能区标识到底谁管什么网上问得最多的就是这个图标是干嘛的。我把日常真正高频用到的面板和工具组按作用列一下注意这里说的是它们各自负责的边界而不是照抄菜单名标识/面板主要职责什么时候必须用它Projects管理工程与文件树看编译状态多文档工程、模块复用、编译报错定位Properties当前选中对象的全部可编辑属性改单个元件、导线、过孔参数Components从已挂载的库中检索、放置元件放件前确认库源与封装Navigator按网络、按元件、按差分对浏览整图快速跳到某网络的所有连接点Messages编译结果、规则冲突、变更提示编译后必须看不要关掉PCB / Layer Stack层叠、阻抗、材料定板前且只能在 PCB 文档里用我自己把 Properties、Navigator、Messages 三个常驻在右侧Projects 常驻左侧。Components 面板平时折叠放件的时候再展开。原因是面板开太多会明显拖慢刷新尤其在大工程里拖动视图的时候能感觉到。1.3 快捷键不用背全先建立动词优先的思路很多人一上来就找快捷键大全背效果很差。我更推荐按动作分类记一个是放置类对应 Place 菜单一个是编辑类对应 Edit 菜单一个是视图类对应 View。三组各记三五个最高频的剩下的靠菜单找。有个小习惯值得养成常用操作如果发现菜单里点得次数多了右键那个命令看有没有可自定义的快捷键入口22 里自定义快捷键是可以导出的换机器直接导入比重新配一遍省事得多。2. 装完软件先别画图工程目录与元器件库的前置规划2.1 安装环节里几个当时不在意、后来很麻烦的选项安装本身没什么玄学但有几个点我建议现在就定下来。第一是安装路径不要带中文和空格这个不是 AD 独有但 EDA 工具对路径字符的容忍度普遍偏低一旦出现莫名其妙的脚本执行失败排查成本极高。第二是组件选择如果只做原理图和两层板没必要把全部扩展包都勾上装得越多首次启动索引库的时间越长日常启动也偏慢。第三是工作区数据的位置。22.1.2 默认会把一部分配置和缓存写到用户目录下的应用数据文件夹里这个位置在系统盘。如果你的系统盘是小容量固态工程一多很容易吃紧。我的做法是安装完之后先去偏好设置里把临时目录和备份目录指到数据盘一次配好后面省心。注意改这些路径一定要在正式开工前改工程已经建好之后再动容易出现旧文件还指向旧路径、新文件写到新路径的割裂状态。2.2 一个工程目录该怎么切我见过太多人把所有东西堆在一个文件夹里两年后自己都不敢删任何文件。我现在的固定切法是这样工程根目录只放工程文件和原理图、PCB 源文件独立出一个Library目录放这个项目专用的库和库缓存独立出一个Output目录所有 Gerber、钻孔、坐标、BOM 输出全部落在这里按日期再分子目录独立出一个Doc目录放规格书、板厂工艺说明、变更记录。这么切的好处很实际清理构建产物的时候直接清Output子目录就行不用担心误删源文件发给板厂的时候只打包Output下的最新日期目录不会把源文件一起发出去。2.3 元器件库分成三层比做成一个大库强库管理是 AD 使用里最容易长期失控的一块。我的做法是分三层第一层是厂商库也就是软件自带的那几个通用集成库只当参考用不直接投产。第二层是个人基础库把自己反复用到的电阻电容、常用接口、常用稳压器整理进去每个元件都带完整参数和封装这一层是自己的资产。第三层是项目临时库只服务当前项目项目结束后把其中有价值的部分合并回基础库。为什么强调分层因为一次性把所有元件塞进一个库检索会越来越慢而且封装一旦改错会波及所有历史项目。分层之后改动的影响范围是可控的。2.4 库路径的优先级陷阱挂库的时候有个坑值得单独说AD 的库搜索是有优先级的同名元件的解析结果取决于库的挂载顺序。我遇到过两次明明更新了库里的封装PCB 里还是老封装最后都定位到是搜索路径里存在一个更早的旧库把结果截胡了。解决办法很土但很有效挂载列表里个人基础库永远排在项目临时库之前旧版本库直接从列表里移除而不是留着重命名。另外每次大规模更新库之后做一次全工程的元件封装同步检查不要等到导出生产文件的前一晚才发现。3. 原理图阶段从能画完到下一版还能直接用3.1 参数化元件和命名规则是复用能力的地基原理图画得漂亮不难难的是半年后改版的时候还能看懂。我现在强制自己做两件事。第一元件的位号按功能区段划分比如电源部分从某个号段起、接口部分从另一个号段起这样看位号就能猜到它在板子上的位置。第二所有关键参数写进元件的自定义字段而不是写在旁边的文本注释里。自定义字段的价值在于它是结构化的。你可以在导出 BOM 的时候直接把这些字段作为列输出也可以在原理图里用它做筛选和批量修改。文本注释看着直观但它是死的改一次就得手工改一次还会漏。3.2 多通道设计和模块复用的正确打开方式如果板子上有重复结构比如四路相同的采集通道用多通道设计比复制粘贴强太多。核心思路是把一路通道画成一个子图然后在顶层用重复的图纸符号引用它编译后AD会自动展开成多组实际元件。这里有个细节必须提前想清楚通道命名规则决定了最终位号和网络的命名。如果一开始命名随意后面展开出来的位号会很难看甚至出现难以定位的重复。我的习惯是在开始画通道之前先把命名规则定下来并写进项目说明里团队成员按同一套规则走。另外图纸符号之间的端口连接建议用总线加命名的方式组织而不是一根一根拉线连到顶层。前者在通道数量变化时改动量极小后者每加一路都要重新连线。3.3 差分对、网络类和规则的提前建立差分对和网络类这种东西一定要在原理图阶段就建立而不是等到 PCB 里再补。原因很简单原理图编译出来的网络类信息会传递到 PCBPCB 里的规则可以直接引用这些类。如果你在 PCB 里手工建类那么下次原理图同步过来的时候很容易出现类的对应关系错乱。具体做法是在原理图里给差分对命名命名规则要统一比如统一用固定后缀来标识正负端。命名统一之后PCB 那边可以直接用通配符批量生成差分对规则不用一个一个挑。3.4 编译报错怎么读才有意义编译之后 Messages 面板里一堆提示很多人直接全忽略或者全改掉这两种做法都不对。我的分类方法是先看错误级别里跟重复位号未连接引脚单端网络相关的这三类基本都对应真实问题然后是警告里的多驱动源悬空网络需要逐个确认是不是有意为之最后才是那些样式类提示可以批量关掉。有个小技巧编译之前先把 Messages 面板清空编译后按类别过滤比在几百条里翻要快得多。4. PCB 段规则先行布线在后顺序错了返工翻倍4.1 层叠和阻抗别等板厂来问你Layer Stack Manager 是我认为 22.1.2 里被低估的一块。做多层板的时候先在这里把层数、介质厚度、铜厚定下来再去设阻抗目标比先画完再让板厂看着办靠谱得多。新手最容易忽略的是介质厚度和铜厚对阻抗的影响。同样线宽铜厚从半盎司换到一盎司阻抗会明显下降。所以如果板厂反馈按你的线宽做出来阻抗不对八成是你定层叠的时候用了默认值没改。对于电源和功率器件的部分这里也要提前规划。功率管这类器件的散热铜皮、过孔阵列的位置最好在层叠阶段就留出空间别等到铺铜的时候发现散热面积不够再回头改布局。4.2 设计规则的参数应该由板厂工艺倒推很多人设规则是抄别人的模板或者直接用默认值。我的建议是反着来先拿到板厂的最小线宽、最小间距、最小孔径、最小环宽这几个硬参数然后在 AD 里逐一落到规则上再往上加余量。举个具体的例子板厂给的最小间距是 6mil那我在规则里设 8mil 作为普通信号的安全值只有实在走不开的区域才降到 6mil并且单独建一个区域规则覆盖。这样既保证了可制造性又不会让整个板子被迫放宽。与之配套的还有几类规则必须单独设电源网络的线宽要按电流估算不能跟信号线用同一套过孔尺寸要区分信号过孔和电源过孔丝印到阻焊的间距要单独约束否则装配的时候很容易被吐槽。4.3 交互式布线里的取舍该偷懒的地方要偷懒交互式布线工具很强但强不代表全程开着自动推挤。我的经验是密集区域推挤开到较强档位能省很多手工调整而关键信号尤其是高速和时钟建议关掉推挤手工走避免工具为了让路把参考平面切得七零八落。走线优化Gloss也一样。它能把线拉整齐但对已经调好的等长组可能造成破坏。我的做法是分组处理普通信号线批量优化等长组和差分对在优化之后重新检查等长结果发现有偏差就锁定长度不再动。4.4 铺铜、缝合孔、规则检查的先后顺序这三件事的顺序搞错会白干一遍。正确顺序是先完成所有走线再做规则检查确认没有短路和间距问题然后才铺铜。因为铺铜之后再做规则检查很多报错其实是铺铜引起的你会陷入改了铜皮又出现新问题的循环。缝合孔建议在铺铜之后统一放并且用阵列加规则约束的方式而不是手工一个个点。信号地和功率地如果需要分区分区边界要在铺铜之前就规划好不要指望铺完再切。5. 缓存、临时文件与越用越慢的真实原因5.1 AD 到底往硬盘里写了哪些东西这是个被问爆的问题。AD 在运行过程中会写好几类文件一类是元件和库的缓存索引用来加速搜索一类是工程的历史备份用于本地回退一类是文档预览缓存用来在打开工程时快速生成缩略图还有一类是编译和输出的中间产物。这些东西本身都是有价值的问题在于它们不会自动清理而且默认位置往往在系统盘。工程多了以后占用会悄无声息地涨到几十个 G。文件类型作用能不能删库缓存索引加速元件检索能删删后首次检索变慢历史备份本地版本回退按需删保留最近几版即可预览缓存工程缩略图能删不影响源文件输出中间产物构建过程产生能删重新生成即可5.2 清理的正确姿势我自己的清理节奏是每个项目封版之后清一次换大版本之前清一次。清的时候只动上面表格里能删的那几类源文件、库源文件、工程文件一个都不碰。顺序上先关软件再动手这是硬要求。AD 在运行中会持有部分缓存文件的句柄运行中删除轻则报错重则导致下次启动库索引重建时出现异常。还有一个很多人不知道的点删除库缓存之后第一次打开 Components 面板检索会明显变慢这是正常的重建过程不要以为软件坏了。让它跑完一次完整索引后面就恢复正常了。5.3 大工程卡顿的排查顺序卡顿不一定是软件问题。我的排查顺序是先看在哪个操作下卡——是打开工程卡还是编辑时卡还是导出时卡。如果是打开卡多半是预览缓存和历史备份太大如果是编辑时卡先看是不是同时开了过多面板和在线检查如果是导出卡检查是否有大量多边形重新铺铜。另外一个常见原因是工程里遗留了大量未使用的旧版本文档。这些文档虽然不参与构建但会被一起加载拖慢启动。定期归档和清理是必要的维护动作不是洁癖。6. 反复踩到的几个坑以及完整的排查链路6.1 库更新了但封装不生效这个坑我踩过至少三次排查链路现在很固定第一步确认当前工程实际引用的是哪个库看元件属性的来源字段不要凭印象第二步检查库搜索路径列表看有没有旧库排在前面第三步如果路径没问题把元件从原理图里删掉再重新放置一次看封装是否更新。如果三步都过了还是不生效那就是工程内部的封装缓存问题了需要做一次库同步更新。这里的关键经验是不要在 PCB 里直接手工改封装的焊盘那样改完下次同步就没了正确做法是回到库里改然后同步。6.2 想要回退却发现历史没开本地历史备份是个平时没用、出事救命的功能。我现在的习惯是新建工程第一件事就去把备份选项打开并且把备份份数和间隔设到合理值。间隔太短会拖慢编辑太长又救不了急我一般设成几分钟一次、保留十几份。还有个细节历史备份是跟着工程目录走的如果你把工程整体拷贝到另一台机器历史也会一起带过去。所以打包给别人之前记得把历史目录排除掉一是体积大二是没必要外传。6.3 导出生产文件时最容易漏的参数导出这步我单独拎出来说因为漏参数是真实会造成损失的。必查项包括层是否全部包含尤其是机械层和阻焊、助焊层钻孔文件是否为独立文件且单位与格式与板厂约定一致贴片坐标的原点和格式是否正确BOM 的字段是否包含位号、型号、封装、数量、备注。还有一点经验导出之后不要直接发自己用看图工具打开确认一次。尤其是丝印层确认位号和极性标识没有被阻焊盖住也没被铜皮压住。这一步花五分钟能省掉一轮打样返工。至于把设计给别人看而不想装全套软件的场合导出一份带层切换的 PDF 或者通用三维格式给对方比让结构同事装一个完整环境要现实得多。我现在的做法是给装配和结构各出一份对应格式沟通效率明显提高。7. 关于自动生成这类新玩意的个人态度顺便聊一个经常被问到的方向用智能化手段自动生成原理图或者 PCB。我的态度比较明确目前阶段它可以当草稿工具用来快速铺一个大致框架或者验证一下布局思路但直接投产不现实。原因在于 PCB 设计的约束绝大部分是隐性的——哪根线必须短、哪组信号必须等长、哪个区域必须留散热空间、哪个连接器的方向受结构限制。这些信息不在原理图里也不在任何一段描述里它只存在于设计者的脑子里和结构图里。工具拿不到这些约束生成的布局再整齐也只是能连通不是能生产。我自己的用法是拿它做重复性的初稿比如把一堆标准接口的放置和初步连线让它跑一遍然后自己在上面重排和约束。省的是体力活判断还是得自己做。最后分享一个小习惯是我用了几年之后觉得最有价值的一条每完成一块板子花十分钟在工程目录里留一个简短的变更记录写清楚这次改了什么、为什么改、哪个封装动过。这东西当时看着多余但当你半年后拿起这块板子要改一版的时候它能帮你省掉一整个下午的回忆时间。工具再顺手也替代不了自己给自己留的路标。
返回列表