ARTICLE DETAIL

资讯详情

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

Altium Designer无原理图绘制PCB:网络标签与飞线建立

Altium Designer无原理图绘制PCB:网络标签与飞线建立 1. 什么情况下值得绕开原理图直接画 PCB手上拿到一块 40×30mm 的转接小板需求板子上只有一颗稳压芯片、两个电容、一个排针和一颗 LED客户还催着当天要 Gerber。这时候如果你老老实实先建原理图库、画原理图、编译、导网表再进 Altium Designer 的 PCB 里布局布线光是建库和标注就能耗掉两个小时而真正有价值的布线工作只有二十分钟。我做过不少这类板子后来形成了一个习惯元件数少于 20 个、电气关系一眼能看穿、不需要多人协作的板子直接进 PCB 文档开工用网络标签手工建立连接关系。这就是 AD 里的无原理图绘制 PCB——它不是偷懒而是一种有明确适用边界的工作方式。需要先说清楚一件事无原理图绘制 PCB 并不是让软件忘记网络的存在。Altium Designer 的 PCB 编辑器本身就是一个完整的、带连通性引擎的环境它照样会算飞线、照样跑 DRC、照样能出 BOM。缺的只是从原理图同步过来的那份网络表而这份网络表完全可以由你在 PCB 里手工补齐。理解这一点后面的所有操作才顺理成章。1.1 三类真正适合无原理图开工的场景第一类是结构件与无源转接板。比如排针转排针的适配板、FPC 转接板、测试治具的探针板、金手指引出板。这类板子上可能连一颗有源器件都没有网络关系无非是这个脚连到那个脚画原理图的收益几乎为零。第二类是逆向工程与产线改板。客户给你一块老产品的实物板或者给一份从原厂拿到的 Gerber让你在原基础上改两个元件、挪一下接口位置。这种情况下原设计根本没有原理图你只能靠着铜皮和丝印反推连接关系直接在 PCB 里改是最短的路径。第三类是时间敏感的样板验证。做方案验证的时候板子上可能有飞线、有跳线电阻、有 0 欧姆电阻做选项电气关系还在反复调整。这个阶段画的原理图十有八九要推翻重来先在 PCB 里把东西摆出来、把网络理清楚反而效率更高。等方案定型了再反向生成一份原理图存档这是我在实际项目里最常用的节奏。反过来说只要板子满足下面任意一条我还是会老老实实画原理图元件超过 30 颗且网络密集需要多人分工有人画图有人布板需要通过 Component Links 与库做严格的一致性校验产品要过认证、要长期维护、要交接给别人。无原理图绘制是一种效率工具不是一个工程规范。1.2 先想清楚代价无原理图会丢掉什么很多人只看到省事没看到代价。我在第一次这么干的时候踩过坑板子打回来了焊接调试也都通过了但三个月后客户要加一个功能我打开工程一看只有一份孤零零的 PcbDoc位号是零散的、Comment 字段是空的、谁连谁全靠飞线猜。那次之后我给自己定了规矩——无原理图开工可以但必须补一份反向原理图存档。具体丢掉的東西主要有三块。元件属性的联动。原理图里改一下 Comment、改一下 Part NumberPCB 里是自动同步的无原理图模式下这些字段全靠你在 PCB 里手工填漏填是常态。设计规则的自动继承。原理图同步时会带上 Room、Net Class、差分对、参数集这些信息PCB 里可以直接引用手工开工的话这些规则要自己一条条补。跨版本的可追溯性。原理图是设计意图PCB 是实现两者分开存的时候出问题才知道到底是谁改的。无原理图模式下只有一份 PCB改错了很难回滚。所以我的建议是无原理图开工完全可以但把它当作设计流程的前半段而不是整段流程。后面第 7 节我会讲怎么用 AD 自带的功能把这块补回来。1.3 决策对照表什么时候画图什么时候不画判断维度建议先画原理图建议直接画 PCB元件数量超过 30 颗少于 20 颗网络复杂度存在总线、多电源域、差分对单电源、点对点连接协作方式多人分工、需要 Review单人闭环生命周期长期维护、多版本迭代一次性打样、快速验证是否有现成网表有原理图或网表文件只有 Gerber 或实物认证与追溯要求需要完整设计文档内部测试板、工装板这张表我在实际排期的时候基本是照着用的。要注意元件数量这一条并不是硬指标真正的门槛是你能否在脑子里把整块板的连接关系完整地复述一遍。能就敢直接画不能就老老实实画图。2. AD 里没有原理图也能有网络的底层机制搞清楚软件是怎么认识网络的后面所有操作都是自然推导出来的而不是靠记快捷键。这也是我见过最多人卡住的地方——他们会问我在 PCB 里放了两个焊盘为什么没有飞线其实答案就在连通性引擎的工作方式里。2.1 连通性引擎到底靠什么识别网络Altium Designer 的 PCB 文档里有一个持续运行的连通性引擎Connectivity Engine它干的事是实时扫描文档中所有的铜对象——焊盘Pad、走线Track、圆弧Arc、填充Fill、实心区域Region、铺铜Polygon、过孔Via判断哪些铜是物理上接触的把接触在一起的铜归成一个连通块再把这个连通块和一个网络名绑定。关键点在于网络名从哪来无原理图模式下只有三个来源。焊盘自身携带的网络属性。从 PCB 库放置的封装焊盘默认网络是 No Net但如果封装的某个焊盘在库里被预设了网络比如某些厂商标注好的测试点会出现默认网络。网络标签Net Label。你在 PCB 文档里放置的网络标签会把网络名赋予它所附着的铜。手工指定。通过 PCB 面板或者物理网表对话框把某块铜直接指派给某个网络。理解这三条你就知道为什么我放了两个焊盘却没有飞线——因为这两个焊盘都是 No Net引擎不知道它们应该连在一起。你要做的是给它们贴上同一张标签告诉引擎这两个铜块属于同一个网络。2.2 网络标签在 PCB 文档里的真实作用很多人以为网络标签是原理图的专属物件其实 PCB 编辑器里也有位置在菜单Place » Net Label快捷键P然后N。放下去的时候鼠标光标会带一个虚线小方框这个方框就是附着判定区——你必须点到焊盘的焊盘中心或者走线上标签才会真正附着上去。点空了它会变成一个灰色的小横杠飘在那里什么作用都没有。注意判断标签是否附着成功最直接的办法是选中它看属性面板里的 Net 字段。如果显示的是一个具体网络名说明附着上了如果显示的是空或者 No Net说明你点空了删掉重放。同名标签会自动合并成同一个网络。我实测下来在顶层两个不同位置的焊盘上分别放一个叫VCC_3V3的网络标签引擎会立刻把这两个焊盘识别为同一网络并在它们之间画出一条飞线Ratsnest。那条飞线就是你接下来要布线走的路径。这个机制非常好用它等于把建立连接关系和实际连通铜皮这两件事解耦了——你可以先把逻辑关系全部标完再统一布线。2.3 焊盘、走线、铜皮谁的优先级更高当标签、焊盘自带的网络、铺铜网络三者发生冲突时软件的处理逻辑值得单独说一句因为这直接关系到你会不会莫名其妙地造出一堆短路。焊盘自带网络优先级最高。一个焊盘在库里被设成了 GND你再往上贴一个SIGNAL_1的标签标签是不生效的焊盘仍然是 GND。这也是复制粘贴别人板子上的元件时最容易出问题的地方。标签赋给走线时会顺着铜往下传播。你在一条走线的任意位置放一个网络标签整条走线上所有连通的焊盘都会被赋予这个网络名。反过来说如果这条走线中途某个地方断开了断点另一侧的铜块不会继承这个网络于是就会凭空多出一个孤立铜块。铺铜的网络要在属性里手动指定。铺铜不会自动跟随周围的网络必须在 Polygon Pour 属性面板里从下拉框里选或者手工输入网络名。我在实际项目里总结出一个稳妥的顺序先摆元件并确认每个焊盘的默认网络是 No Net再统一放网络标签建立逻辑关系最后做铺铜并指定网络。这个顺序可以最大化减少标签被焊盘自带网络覆盖和铺铜抢网络这两类问题。3. 从零开始一块小板的无原理图完整实操链路我拿一个真实做过的例子来走一遍一块 12V 输入的降压小板AMS1117-3.3 加两个 10uF 电容、一个 LED 加限流电阻、一组 2.54 排针输入和一组 XH2.54 输出总共 8 个元件。目标单面布局、双面走线、板框 35×25mm当天出 Gerber。3.1 建工程、定板框、导入 DWG 结构的三个细节工程一定要建别用 Free Document。File » New » Project » PCB Project然后右键工程Add New to Project » PCB保存成一个文件夹。这一步看起来多余但它决定了后面能不能用反向生成原理图这个功能Free Document 是孤立文档很多工程级菜单是灰的。板框我不建议用手拖坐标直接在 Mechanical 1 层上用Place » Line画一个闭合矩形选中这四条线Design » Board Shape » Define from Selected Objects。如果需要异形板框从结构那边拿到的 DWG 文件可以用File » Import » DXF/DWG导进来导入对话框里有两个坑单位要选对。结构给的多半是毫米但 DWG 内部单位可能是英寸导入时单位和缩放系数都对一遍导入后量一下尺寸。导入的图形会落在你指定的机械层上不要直接拿它当板框。先用Edit » Move » Move之类的命令把它挪到正确位置再用 Define from Selected Objects 重定义。导入进来的线条是图元不是板框这是两个概念。3.2 放置封装库、位号、Comment 一次填对元件我用Place » Component快捷键PC在弹出的库面板里挑封装。这里有三个字段我要求自己放下去的第一时间就填完因为拖到最后再批量改一定会漏字段填写要求漏填的后果Designator唯一如 U1、C1、R1贴片厂无法对位返工Comment具体型号如 AMS1117-3.3BOM 无法采购Footprint与实物一致含封装类型封装不匹配板子报废批量修改的技巧按ShiftFFind Similar Objects在弹出的对话框里把所有相同封装的元件选出来比如把所有0805封装的电容筛出来然后在 PCB Inspector 面板里统一改 Comment 前缀或者统一设置 Layer。这个操作比在原理图里逐个点快得多。如果是单面板设计放元件的时候默认是在 Top Layer你要么逐个改到 Bottom Layer要么在放置前就把当前层切到 Bottom Layer。改到背面之后丝印会自动跑到 Bottom Overlay但文字方向可能反了——选中元件属性里把 Designator 和 Comment 的Mirror关掉、Rotation 调正。这个细节很小但丝印反字贴片厂一定会打电话问你。3.3 用网络标签建立第一份连接关系这是核心步骤。我的做法是按电源流向走一遍先在排针的 12V 输入脚上放一个标签叫VIN_12V快捷键P、N光标移到焊盘中心点击。接着在 AMS1117 的输入脚上放同名标签这时候你会看到两个焊盘之间出现一条细线——那就是飞线说明网络已经建立。命名上我有几个固定习惯可以省掉后面很多排查时间电源用VIN_12V、VCC_3V3、GND带电压值方便核对。地统一用GND不要一会儿GND一会儿GND_1一会儿AGND除非你真的在做数模分离。信号用来源_去向的格式比如LED1_A、KEY1_SIG。看起来啰嗦但当你调试时用万用表一根根量这个名字就是你的施工图。提示网络标签的名字对大小写敏感吗我实测是不敏感的VCC_3V3和vcc_3v3会被当成同一个网络。但正因为这样我更建议统一大写避免自己看着糊涂。标签放完之后一定做一次交叉核对打开Panels » PCB模式下拉框选Nets逐个展开每个网络看展开后列出的焊盘数量和你的预期是否一致。8 个元件的板子这一步花不了两分钟但能挡住 90% 的低级错误。3.4 铺铜、过孔与地网络的收尾逻辑关系理清之后再布线。走线用P、T交互式布线。铺铜用P、G铺完之后立刻在属性面板里把Net指定为GND否则这块铜是 No NetDRC 会报一堆间距错误。过孔的用法有个小技巧地网络上多打过孔可以让顶层和底层的地铜连成一片降低阻抗。我在小板子上通常会在 GND 铜皮上四角各加一个过孔P、V放置然后选中它们统一指定网络为GND。铺铜的参数里有两个选项值得说Remove Dead Copper勾上之后不与指定网络连通的孤立铜块会被自动删掉。这个功能在无原理图流程里很实用因为它能顺手清理掉你残留的碎铜。Pour Over Same Net Objects决定铺铜是否覆盖同网络的焊盘和走线。一般勾上让铜皮和焊盘直接融在一起。到这里一块 8 元件的小板从零到 Gerber 大概四十分钟。下面是敷铜重建的问题这个和热词里AD 在铜皮里面走线怎么避让是同一件事。4. 没有原理图传过来的规则要自己补这是我见过最多人吃亏的地方。从原理图同步 PCB 的时候软件会按模板给你带上一套默认规则而无原理图模式下规则是空的用的是软件全局默认值——默认线宽 10mil默认间距 10mil。10mil 的线走在 12V 主电源上载流根本不够板子打回来一摸就发烫。4.1 线宽与电流把规则改成有据可循设计规则在Design » Rules快捷键D、R重点是Routing » Width和Electrical » Clearance这两组。线宽和载流能力的粗略对应关系我一般按下面这张表快速估算1oz 铜、外层、允许 10℃ 温升走线宽度1oz 外层载流约1.5oz 外层约常见用途0.20mm / 8mil0.7A1.0A信号线、弱小电流0.25mm / 10mil0.9A1.3AAD 默认值个人不建议用于电源0.50mm / 20mil1.8A2.6A一般电源支路1.00mm / 40mil3.5A5.0A主电源、大电流出口注意这张表是工程上用来快速估算的经验值实际能力受铜厚、环境温度、是否有散热铜皮、走线长度影响很大。真正要做大电流设计还是去查 IPC-2221 的载流图表或者在 AD 里用Tools » Layer Stack Manager确认铜厚之后再算。我的做法是给不同网络建 Net Class然后按类给线宽。比如建一个PWR类把所有电源网络放进去规则里给这个类设最小 0.5mm再建一个SIG类最小 0.25mm。这样布线的时候不用每次手动改线宽软件会自动按类匹配。4.2 网络类Net Class在无原理图模式下的手工建立方法Design » Classes快捷键D、C打开类管理器在Net Classes上右键Add Class新建一个类名比如PWR。然后右侧会列出非成员和成员两个列表从非成员里把 VIN_12V、VCC_3V3 这些网络选出来点中间的箭头加进成员列表。这一步在原理图流程里通常是自动的但在无原理图模式下必须手工做而且必须在布线之前做完。因为如果你先布完线再改类已经布好的走线不会自动跟随新规则DRC 也不会报错你就这么带着一条 10mil 的电源线出了 Gerber。差分对也是同理无原理图模式下要先在Design » Classes的Differential Pair Classes里手工建立把_P和_N两个网络配成一对才能用差分布线命令。4.3 铜皮避让与重新铺铜几个实测有效的做法回到在铜皮里面走线为什么没有避让这个问题。答案很简单避让只发生在不同网络之间。如果你的铜皮是 GND你在它上面走一根 GND 的线软件认为它是同网络当然不避让如果走的是 VCC_3V3重新铺铜之后铜皮会按 Clearance 规则自动让开并沿着走线两侧包一圈。实际操作里有两个细节改完线之后一定要 Repour。铺铜不会实时重算菜单在Tools » Polygon Pours » Repour All或者选中铜皮按ShiftR局部重建。很多人说避让没生效其实只是没重新铺。需要保留某块铜时用 Shelve。Tools » Polygon Pours » Shelve会把铜皮挂起显示成一个虚线轮廓布线的时候视野清爽很多改完再 Restore 回来重铺。如果发现了碎铜或者避让效果不理想检查Clearance规则里对应网络类的间距值。我在小功率板上常用的间距是 0.25mm约 10mil高压场合要按实际电压查间距表这个不能拍脑袋。5. 用 PCB 面板当半个原理图浏览器做自查无原理图模式下PCB 面板就是你的原理图。我每次出 Gerber 之前一定会把 PCB 面板的三个视图过一遍十分钟不到但能挡掉绝大多数返工。5.1 Nets 视图核对每个网络的焊盘数量Panels » PCB模式选Nets展开每个网络你会看到它下面的所有焊盘和走线段。我的核对方法是拿一张纸把网络名和预期的焊盘数量写下来逐个对照。举个例子GND网络在这块 8 元件的板子上应该包含排针第 2 脚、输出端子第 2 脚、AMS1117 的 GND 脚、两个电容各一端的负极、LED 的阴极如果走共阴、还有所有的铺铜和过孔。如果展开后只数到 5 个说明有 2 个地方漏贴标签了而且因为没贴标签飞线不会出现你在 PCB 界面上根本看不出来。提示这种漏贴标签是最隐蔽的错误。它不会引发 DRC 报错因为两个 No Net 焊盘之间本来就没什么可检查的。只能靠数量核对发现。5.2 Components 视图顺手把 BOM 出了PCB 面板切到Components模式能列出板上所有元件及其属性。这正好可以用来生成 BOMReports » Bill of Materials。在 PCB 编辑器里这个命令会直接读取 PCB 上的元件属性输出格式可以选 CSV 或 Excel。要提醒的是因为无原理图模式下少了原理图这一级的参数BOM 里的 Description、Manufacturer、Part Number 这些列大概率是空的。如果你需要完整的采购信息要么在 PCB 里逐个元件补 Comment 字段要么导出后手工整理一遍。我个人的做法是Comment 字段直接填完整型号比如AMS1117-3.3这样导出的 BOM 就能直接用采购看型号就行。5.3 DRC 里最该盯的三类报错Tools » Design Rule Check快捷键T、D跑完在 Messages 面板看结果。无原理图模式下下面三类报错出现频率最高报错类型典型原因处理方向Un-Routed Net网络存在但没有实际铜连接照飞线布完Short-Circuit不同网络的铜重了检查标签是否贴错位置Clearance间距小于规则值调规则或挪走线Un-Routed Net是最有价值的一条它本质上是在替你回答我贴的标签都实现了吗。如果这条报错数量是 0说明你贴的每一对同名标签之间都真的连上了铜。6. 连接关系对不上时我是怎么一步步查的上面说的都是顺利的情况。真正消耗时间的是明明贴了标签飞线就是不出来这种。下面这套排查链路是我被坑了三四次之后固定下来的从最常见的可能性开始一般两分钟内能定位。6.1 一个真实案例两个焊盘之间没有飞线当时的场景输入端子的 VIN 脚和稳压芯片的 IN 脚我明明都贴了VIN_12V标签但飞线就是不出现。排查过程是这样的第一步看标签属性。分别选中两个标签看属性面板里的 Net 字段。结果发现其中一个显示的是空值——这个标签没附着上。原因是放标签的时候手抖点在了焊盘旁边的空白处标签飘在铜外面什么作用都没有。删掉重放问题解决。第二步如果标签属性正常看焊盘的默认网络。有一次标签是对的但飞线还是不对。选中焊盘看属性发现它的 Net 是一个奇怪的名字——因为我是从另一块板子上复制过来的封装焊盘上带着原网络的残留属性。这种情况下标签会被覆盖。解决办法是先把焊盘的网络改成 No Net再重新贴标签。第三步检查是否被铺铜抢了网络。还有一种情况飞线是出现了但走线之后 DRC 报 Short-Circuit。原因是铺铜的网络指定错了一块本该是 GND 的铜皮被指定成了某个信号网络于是和附近的走线短路。去 Polygon Pour 属性里确认 Net 字段改完 Repour。第四步检查物理连通。有时候逻辑上是对的飞线也在但 DRC 报 Un-Routed Net。这是好事说明软件在提醒你你只是建立了逻辑关系还没真连上——照飞线布过去就行。6.2 标签打错字、重复网络、孤立网络的三个识别特征打错字VCC_3V3打成VCC_3v3其实没关系不区分大小写但打成VCC_33V就是两个完全不同的网络了。特征是有两个看起来很像的网络各自只连接一个焊盘。检查方法是在 PCB 面板的 Nets 视图里按名字排序相似的网络挨在一起看。重复网络同一个网络名下挂了 40 个焊盘远超你的预期。多半是贴标签的时候连着点了好几下或者复制粘贴铜皮的时候把标签一起复制了。处理方法是展开这个网络逐个核对焊盘位置把多余的标签删掉。孤立网络某个网络展开后只有一个焊盘。这是漏贴另一半标签的典型特征直接去找那个应该连过去的焊盘补上标签。6.3 从 Gerber 反推回来的板子为什么也要走这套流程热词里AD 导入 Gerber 转 PCB是个高频需求。需要说明的是从 Gerber 转出来的 PCB 文档里所有的铜都变成了没有网络的图形元素——走线是线焊盘是多边形铺铜是填充它们之间没有任何逻辑上的连接关系。这意味着你拿到这样一块板子之后处理的流程和本文讲的无原理图绘制几乎是同一套先识别出元件位置并放置对应的封装再用网络标签把连接关系重建出来然后才能做 DRC、做修改、加新元件。区别在于你手上多了一份实物参考可以拿万用表一根根量着确认网络工作量比你从零设计大得多但方向是一致的。注意AD 本身没有一键把 Gerber 转成带网络的 PCB 的功能通常的做法是用 Gerber 查看/编辑工具先转成中间格式再导入 AD。转进来的东西只是图形网络需要人工重建别指望自动化。7. 收尾的两件事反向生成原理图与项目归档板子画完、DRC 清了、Gerber 出了这时候还不能收工。我在吃过几次三个月后客户要改板的亏之后给自己定了一套固定动作。7.1 用 Create/Update Schematic 把原理图补回来较新版本的 Altium Designer 提供了从 PCB 反向生成原理图的能力菜单位置在Design菜单下不同版本叫法略有差异有的叫 Create Schematic from PCB有的叫 Update Schematic from PCB如果你的版本里找不到说明该功能还未提供可以跳过这一步改用下面的手工归档法。这个功能的效果是软件会读取 PCB 上所有的元件和网络信息自动生成一份平面Flat原理图元件按照网络关系连好线。生成的图谈不上美观元件摆放是自动的、连线可能绕来绕去但它把连接关系完整地表达出来了。我拿到这份原理图之后一定会做三件事把元件按功能块重新摆放一遍检查一遍有没有悬空的引脚把它保存成独立的原理图文档并重新编译一次工程。做完这些这个工程就从只有 PCB变成了原理图 PCB的完整工程后面谁接手都能看懂。7.2 我自己的一套归档习惯最后分享几个我在实际项目里固定下来的小习惯跟技术本身关系不大但省了很多事。第一工程文件夹里放一个 README.txt。里面写清楚这块板的用途、输入输出规格、关键网络的名字含义、以及本工程由 PCB 反向生成原理图。三个月后的你自己会感谢现在的你。第二Gerber 文件名带上日期和版本号。比如Adapter_35x25_V1.1_20240612。我见过太多到底哪份是最终版的扯皮加个日期就没这个问题了。第三把关键网络标签的命名规则固化下来。电源带电压、地统一叫 GND、信号用来源_去向。这套规则用熟了之后你贴标签的速度会快很多而且后面排查问题时的脑力消耗会明显降低。第四出 Gerber 之前一定单独导一份 PDF 的丝印和阻焊。打印出来摊在桌面上对着放一遍元件确认位号丝印没有被元件本体盖住、极性标记方向正确。这一步花两分钟能挡住封装方向反了这种致命错误。无原理图绘制 PCB 这件事说到底是一个取舍用省掉画原理图的时间换后面自查和归档的精力。元件少、关系简单、自己的项目这笔买卖划算元件多、要交接、要长期维护那还是老老实实画图。我个人的分界线大概在 20 个元件超过这个数我就会新建一个原理图文档哪怕只是把网络标签在图上摆一遍。
返回列表