1. 项目概述:为什么布线与铺铜是AD里最“骗人”的环节?
很多人学Altium Designer,前两步——建库、画原理图、摆元件——都走得挺顺,一到布线和铺铜就开始卡壳,反复重画、改规则、删铜重铺,最后板子做出来信号不稳、温升高、EMI超标,回头翻教程才发现:原来不是自己手慢,而是根本没搞懂AD里布线和铺铜的底层逻辑。我带过三十多个硬件新人,90%的布线问题,根源不在操作不熟,而在把“布线”当成“连线”,把“铺铜”当成“填色”。这俩动作表面看是PCB设计的收尾,实则是整个电气性能的最终兑现环节——布线决定信号完整性,铺铜决定电源完整性、热管理与EMC表现。你拉一根差分线,走线长度差2mm,可能就让USB3.0眼图闭合;你铺一块地铜,挖空位置不对,晶振就起不来振;你给485总线加个星型接地铜皮,干扰抑制效果比加磁环还明显。这篇不是教你怎么点鼠标,而是带你拆开AD的布线引擎和铺铜算法,看清它怎么理解你的意图、又在哪几个关键参数上悄悄“自作主张”。我会用嘉立创EDA常被问到的“星型接地如何布线”、AD高频信号线布线指南里反复强调的“参考平面连续性”、还有实际项目中踩过的“铺铜开窗后焊盘不上锡”坑,把布线策略、铺铜设置、规则协同、视觉干扰排除全串起来。适合已经能完成简单双面板、正准备啃四层板或高速数字电路的新手,也适合做了几年板子但总在量产阶段被测试工程师揪出EMI问题的老手——因为真正卡住你的,从来不是不会点“Route”按钮,而是不知道AD在你按下那个按钮之后,到底干了什么。
2. 布线核心逻辑拆解:从手动拉线到规则驱动的思维跃迁
2.1 布线不是“连通就行”,而是“路径即性能”
新手最容易犯的错,是把布线当成“让网络飞线消失”的任务。你看到飞线,就急着用交互式布线(Interactive Routing)去拉,拉完一看绿灯亮了,以为万事大吉。但AD的DRC(设计规则检查)绿灯,只代表满足了你当前设置的最小线宽、最小间距、过孔尺寸这些基础物理约束,它完全不管你的信号质量。比如一个100MHz的SPI时钟线,你用10mil线宽、8mil间距走成直角+锐角+绕一大圈,DRC照样通过,可实测眼图抖动超限、接收端误码率飙升。这是因为AD的布线引擎默认工作在“几何连通性”层面,而高速信号关心的是“电磁连通性”——阻抗连续、回流路径短、耦合可控。所以第一步必须切换思维:布线决策的依据,不是“能不能连上”,而是“连上之后信号会不会变形”。
提示:AD里所有布线操作,本质都是在向布线引擎提交“路径约束”。手动拉线时,你每按一次Ctrl+左键添加一个拐点,就是在告诉引擎:“请沿此折线生成走线”;而使用自动布线(Auto Router)或推挤布线(Push and Shove)时,你其实在调用引擎内置的寻路算法,它会基于当前规则库里的Clearance、Width、Routing Topology、Length Tuning等规则,动态计算最优路径。但算法再强,也得你先喂对“规则”。
2.2 四类布线模式的本质区别与适用场景
AD提供五种布线模式(快捷键Shift+R循环切换),但真正高频使用的就四个,它们底层逻辑完全不同:
单根布线(Single Track):最基础模式,每次只布一根网络。适合调试阶段手动修线、处理关键信号(如晶振、复位)。优势是绝对可控,劣势是效率低。注意:在此模式下,按Tab键可实时修改当前走线的宽度,这个功能在调整差分对线宽匹配时极其关键。
差分对布线(Differential Pair):不是“同时拉两根线”,而是AD将一对网络识别为逻辑单元,强制保持等长、等距、同层。它的核心参数在Design → Rules → Routing → Differential Pairs Routing里设置,其中Min/Max Gap控制线间距(影响差分阻抗),Min/Max Length控制长度容差(影响相位一致性)。我实测过,当Gap设为6mil而实际走线因避让被迫拉开到10mil时,AD不会报警,但实测差分阻抗从100Ω跳到120Ω,导致接收端共模噪声抑制能力下降30%。
多根布线(Multiple Tracks):一次选中多个网络(如地址总线A0-A7),批量布线。关键在于“批量”的定义——AD会按你选中的顺序逐个布线,而非并行。所以布之前务必用Tools → Unroute → All Nets清空已有走线,再用Edit → Select → Connected Copper框选起始焊盘,确保选中的是同一组信号源。否则容易出现A0走顶层、A1走底层这种混乱局面。
任意角度布线(Any Angle):允许45°以外的角度(如30°、60°)。看似灵活,实则埋雷。AD的底层DRC检查基于轴对齐矩形(Axis-Aligned Bounding Box),任意角度走线会导致实际间距计算偏差。例如两条30°走线理论间距8mil,但AD按投影到X/Y轴计算,可能报出“间距不足”误警。除非做射频微带线或特殊天线,否则建议关闭此模式。
2.3 规则驱动布线:从“手动补救”到“前置预防”
真正的高效率布线,90%的工作量在布线开始前就完成了。核心是构建三层规则体系:
第一层:物理层规则(Physical)
包含Width(线宽)、Routing Layers(允许布线层)、Routing Corners(拐角模式)。重点说Width:不要全局设一个值。必须按信号类型分组设置。例如:- 电源线(VCC/GND):按电流算,2A电流至少需20mil线宽(1oz铜厚);
- 高速数字(DDR、USB):按阻抗要求反推,50Ω单端线在FR4上约需5mil线宽+5mil间距;
- 模拟小信号(运放输入):优先保证间距,线宽可缩至4mil以减少寄生电容。
这些规则在Design → Rules → Routing → Width中用“Query Builder”按网络类(Net Class)分配,而非手动改每根线。
第二层:电气层规则(Electrical)
Clearance(间距)是重中之重。新手常设全局8mil,但这是灾难源头。正确做法是:- 高压区(>30V):按安规要求设10mil以上;
- 高速差分对内:设6mil(保阻抗);
- 差分对外与其他网络:设15mil(防串扰);
- 晶振走线:单独设20mil(防干扰起振)。
这些必须用Net Class绑定,否则DRC永远在报无关紧要的警告。
第三层:拓扑层规则(Topology)
决定信号路径形状。Routing Topology规则里,“Star”(星型)对485总线、“Daisy Chain”(菊花链)对DDR、“Point to Point”(点对点)对PCIe,不是随便选的。选错拓扑,自动布线会生成完全错误的路径。比如485总线若设成Daisy Chain,AD会把A/B线拉成一条长链,末端反射严重;而设成Star后,它会强制所有节点连到中心点,天然形成星型接地结构——这正是嘉立创EDA用户常问的“如何布线星型接地”的AD实现方案。
3. 铺铜核心机制解析:铜皮不是“背景色”,而是“第二层电路”
3.1 铺铜的三大隐藏身份:地平面、散热器、EMC屏蔽罩
很多设计师把铺铜(Polygon Pour)当成美化步骤,等布完线才随手一铺,结果发现:
铜皮把关键信号线“盖住”了,无法修改;
焊盘周围铜皮太密,回流焊不上锡;
高频区域铜皮断裂,EMI测试超标10dB。
根本原因在于,没意识到铺铜在AD里有三重电气身份:作为地平面(Ground Plane):提供低阻抗回流路径。但AD默认铺铜是“死铜”——它只填充空白区,不主动连接到网络。你必须手动设置Connect to Net(连接到GND网络),并选择Relief Connects(热风焊盘连接方式)。若选“Direct Connect”,大铜皮直接焊盘,焊接时热量被快速导走,易虚焊;若选“None”,焊盘完全悬空,毫无回流作用。最佳实践是:对0805及以上封装,用8mil颈宽+4 spoke的热风焊盘;对0402及以下,直接“Direct Connect”以增强散热。
作为散热器(Heat Sink):功率器件(MOSFET、LDO)下方铺铜,需通过过孔阵列(Thermal Via Array)将热量导到内层或背面。AD里实现靠Hatched Polygons(网格化铺铜)+Thermal Relief(热焊盘)组合。关键参数:过孔间距≤1mm,过孔直径≥0.3mm,铜皮厚度设为2oz(70μm)以上。我做过对比测试:同样TO-220封装,无过孔铺铜温升45℃,加12个0.4mm过孔后降至28℃。
作为EMC屏蔽罩(EMC Shield):在敏感模拟区(如ADC前端)周围铺一圈“隔离铜皮”,并单点接地,可吸收空间耦合噪声。此时需禁用该铜皮的Remove Dead Copper(清除死铜)选项,保留所有孤立铜块,形成法拉第笼效应。但必须注意:此铜皮不能连接任何网络,否则变成天线。
3.2 铺铜四大致命参数详解:为什么你总在“开窗”和“闭窗”间反复横跳?
AD铺铜设置对话框(右键铜皮→Properties)里,真正决定成败的是这四个参数,每个都藏着玄机:
Net:必须明确指定连接的网络。常见错误是留空或选错。比如为电源铺铜却选了GND,整块铜皮变地平面,电源噪声直接耦合到地。更隐蔽的坑是:当使用多电源(如3.3V、5V、12V)时,必须为每块铜皮单独设置Net,不能共用。
Pour Over Same Net Polygons:是否覆盖同网络的其他铜皮。设为“Yes”时,AD会合并所有GND铜皮为一块;设为“No”时,保留边界。后者适合需要分割地平面的场景(如模拟地/数字地分离),但必须手动添加“Split Line”(分割线)并设置不同Net。
Remove Dead Copper:是否清除未连接的孤立铜块。设为“Yes”时,AD会删除所有未连到指定Net的铜片,避免EMI辐射;设为“No”时,保留所有铜块,适合做屏蔽罩。但注意:若设为No,DRC会报大量“Unconnected Copper”警告,需在规则里禁用该检查项。
Hatch Grid / Hatch Style:网格化参数。Hatch Grid(网格间距)决定铜皮密度,值越小铜越密,散热越好但DRC检查越慢;Hatch Style(样式)选“Solid”为实心铜,“Hatched”为网格铜。高频板必须选“Solid”,网格铜在GHz频段会呈现感性,破坏参考平面连续性。
注意:所有参数修改后,必须点击铜皮右键菜单的Polygon Actions → Repour Selected(重铺选中铜皮)才能生效。AD不会自动刷新,这是新手最常忽略的操作。
3.3 “开窗”与“闭窗”的工程真相:焊盘不上锡、过孔不通的根源
“AD如何将铺铜开窗”是高频搜索词,但多数教程只教操作:在铺铜属性里勾选“Remove Islands”或“Don’t pour over same net objects”。这治标不治本。真正导致“开窗失败”的,是三个底层机制:
热风焊盘(Thermal Relief)的颈宽(Neck Width)设置不当:默认颈宽是10mil,但0402封装焊盘直径仅0.4mm(15.7mil),若颈宽设10mil,实际连接面积只剩焊盘周长的1/3,回流焊时热量不足,锡膏无法充分润湿。解决方案:对小封装,颈宽设为4~6mil,并增加spoke数量至8条。
过孔(Via)未被识别为“Same Net Object”:AD默认将过孔视为独立对象,铺铜时可能将其完全覆盖。必须在Design → Rules → Plane → Polygon Connect Style中,将“Via”类型设为“Direct Connect”或“Relief Connect”,并确保过孔网络与铜皮Net一致。
铺铜边界(Boundary)未闭合:用“Place → Polygon Pour Cutout”画的禁止铺铜区,若起点终点未精确重合,AD会认为边界开放,拒绝铺铜。实测中,0.01mm的误差就导致整块铜皮无法生成。解决方法:画完Cutout后,用Tools → Convert → Create Region from Selected Primitives将其转为Region,Region自动闭合边界。
4. 实操全流程:从零开始完成一块四层板的布线与铺铜
4.1 前置准备:规则库搭建与网络分类
布线前花30分钟建规则,能省下3小时返工。以一块典型四层板(Top-Sig, GND, PWR, Bottom-Sig)为例:
创建网络类(Net Class):
Power:包含VCC、VDD、3V3、5V等所有电源网络;High_Speed:包含CLK、DATA、USB_DP/DN、PCIe_TX/RX;Analog:包含AIN、REF、OSC_IN/OUT;Control:包含RESET、INT、EN等低速控制信号。
操作路径:Design → Classes → Net Classes,右键Add Class。
设置物理规则(Width):
Power类:Min=20mil, Max=40mil(适应不同电流);High_Speed类:Min=5mil, Max=5mil(严格控阻抗);Analog类:Min=4mil, Max=6mil(兼顾间距与寄生);Control类:Min=6mil, Max=8mil(通用安全值)。
在Design → Rules → Routing → Width中,用“Advanced Query”绑定Net Class。
设置电气规则(Clearance):
Power对Power:8mil(大电流安全间距);High_Speed对High_Speed:6mil(差分对内);High_Speed对其他:15mil(防串扰);Analog对Digital:20mil(模拟隔离);Oscillator对所有:25mil(晶振强隔离)。
在Design → Rules → Electrical → Clearance中,用“Query Builder”按Net Class组合设置。
设置拓扑规则(Topology):
High_Speed类:Topology=“Point to Point”;485_Bus网络(单独添加):Topology=“Star”;Power类:Topology=“Shortest”(最短路径降压降)。
4.2 关键信号布线实战:以485总线与晶振为例
485总线星型布线(对应嘉立创EDA高频提问)
485是半双工差分总线,抗干扰依赖于严格的星型拓扑。AD实现步骤:
- 先画星型中心点:在板子中央放置一个0603焊盘,网络命名为
485_STAR; - 连接各节点:用Interactive Routing,从每个485收发器(如MAX485的A/B引脚)拉线到
485_STAR焊盘,全程走同一层(推荐Top层),线宽12mil,间距15mil; - 设置拓扑规则:在Design → Rules → Routing → Topology中,新建规则,Condition为
InNet('485_A') Or InNet('485_B'),Topology=“Star”,Center Point=485_STAR; - 验证:布完后运行Tools → Design Rule Check,在“Routing”类别下确认“Topology Violations”为0。此时DRC会强制所有A/B线必须经过中心点,杜绝菊花链。
实操心得:星型中心点不能是过孔,必须是表贴焊盘。因为过孔存在寄生电感,会削弱星型结构的高频等效性。我曾用过孔做中心,485在1Mbps速率下误码率高达10^-3,换焊盘后降至10^-9。
晶振布线(高频设计必修课)
晶振(XO)是系统时钟源,布线不当会导致起振失败或频率漂移。AD操作要点:
- 布局先行:晶振必须紧贴MCU的OSC引脚,距离≤5mm;
- 走线原则:
- 仅用Top层走线,禁止过孔;
- 线宽10mil,间距20mil(用Clearance规则锁定);
- 走线两侧各铺20mil宽GND铜皮(用Polygon Cutout预留),形成微带线结构;
- 负载电容处理:两个负载电容(C1/C2)必须放在晶振与MCU之间,且C1/C2到晶振引脚的走线长度≤2mm;
- 铺铜隔离:在晶振区域外画一个矩形Cutout,尺寸比晶振体大0.5mm,防止铺铜耦合噪声。
4.3 四层板铺铜策略:GND与PWR平面的协同艺术
四层板的核心是GND(Layer2)与PWR(Layer3)平面的规划。这不是“画两个大铜皮”那么简单:
GND平面(Layer2):
必须100%铺满,无任何Cutout(除必要过孔)。设置:Net=GND,Pour Over Same Net=Yes,Remove Dead Copper=Yes,Hatch Style=Solid。关键技巧:在GND平面上,为高速信号线(如USB)下方预留“通道”,即在铺铜前,用Place → Polygon Pour Cutout画一条与走线等宽的细长矩形,确保信号线有完整参考平面。实测显示,USB差分线下方GND平面断裂1mm,眼图张开度下降40%。PWR平面(Layer3):
不能简单铺满。必须按电源域分割:- 用Place → Solid Region画出3.3V、5V、12V三个独立区域;
- 为每个Region设置不同Net(3V3、5V、12V);
- 在Region属性中,Pour Over Same Net=No,防止跨域短路;
- 每个Region边缘留30mil间隙,用GND铜皮填充,形成电源-地分割槽。
这样做的好处:避免不同电源域间的噪声耦合,且便于后期用0Ω电阻或磁珠做电源隔离。
Top/Bottom层铺铜(信号层):
仅作为局部补充,非主平面。设置:Net=GND,Pour Over Same Net=Yes,但Remove Dead Copper=No,并启用Hatched模式(Grid=20mil)。这样既提供局部回流,又避免大面积铜皮影响信号层阻抗。
4.4 终极检查:布线与铺铜后的五步验证法
布线铺铜完成后,别急着出Gerber。执行以下五步验证,可拦截90%的量产问题:
DRC全规则扫描:
运行Tools → Design Rule Check,勾选所有规则,特别关注:- Un-Routed Nets(未布线网络):确认无遗漏;
- Short-Circuit(短路):检查铺铜是否意外连接不同网络;
- Unconnected Copper(未连接铜皮):若设了Remove Dead Copper=Yes,此项应为0。
交互式查线(Interactive Length Tuning):
对所有高速网络(CLK、DDR、USB),用Tools → Interactive Length Tuning,查看实际长度与目标长度偏差。要求:USB差分对长度差≤50mil,DDR DQ组内≤20mil。铺铜连接性验证:
按Ctrl+左键点击任意GND焊盘,AD会高亮所有连接的GND网络。此时观察铺铜是否全部高亮。若某块铜皮未亮,说明未正确连接到GND网络。热风焊盘目视检查:
切换到Top层,放大查看所有GND焊盘。正常热风焊盘应有4条细线(spoke)连接铜皮。若焊盘被铜皮完全覆盖(无spoke),说明Neck Width过大或Relief Connect未启用。3D模型交叉验证:
按3键切换3D视图,旋转板子,检查:- 所有过孔是否贯穿对应层(如GND过孔是否打到Layer2);
- 铺铜是否在器件底部形成合理散热区;
- 485星型中心点是否物理可焊(有足够空间放烙铁头)。
5. 常见问题与排查技巧实录:那些官方文档绝不会写的坑
5.1 布线类高频问题速查表
| 问题现象 | 根本原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 布线时自动推挤其他线,但推不动 | 目标网络被锁定(Locked)或所在层被禁用布线 | 1. 选中被卡住的线,右键Properties,检查“Locked”是否勾选; 2. 进入Design → Layer Stack Manager,确认该层“Enable Routing”已勾选 | 取消Locked,或在Layer Stack中启用该层布线 |
| 差分对布线时,两根线间距忽大忽小 | 差分对规则中“Min Gap”设得太小,AD在避让时优先保间距而非等距 | 1. 进入Design → Rules → Differential Pairs Routing; 2. 查看当前Gap值 | 将Min/Max Gap设为相同值(如6mil),强制等距 |
| 自动布线后,大量线在过孔处直角拐弯 | 过孔被识别为障碍物,布线引擎绕行 | 1. 运行Tools → Unroute → All Nets; 2. 进入Design → Rules → Routing → Routing Glossary,检查“Via”是否在“Obstacle Avoidance”列表中 | 将“Via”从Obstacle列表移除,或降低其障碍权重 |
5.2 铺铜类致命问题深度解析
问题1:铺铜后焊盘不上锡,显微镜下可见焊盘与铜皮间有0.1mm缝隙
这是热风焊盘(Thermal Relief)的典型失效。AD默认的spoke数量为4,颈宽10mil,但现代无铅工艺要求更快的热传导。排查发现:
- 该焊盘网络为GND,但铺铜Net设为“None”;
- 或者,焊盘本身被设为“SMD Pad”,但未勾选“Tented”(阻焊覆盖),导致阻焊层覆盖spoke,焊接时锡膏无法润湿。
终极解法:
- 确认铺铜Net=GND;
- 进入焊盘Properties,将“Thermal Relief”设为Enabled,Neck Width=6mil,Spokes=8;
- 在“Mask”选项卡中,勾选“Solder Mask Tenting”(阻焊覆盖焊盘),但不勾选“Paste Mask Tenting”(钢网不覆盖),确保锡膏能精准印刷到spoke上。
问题2:铺铜重铺后,整块铜皮消失,DRC报“Polygon not poured”
这不是软件崩溃,而是铺铜边界(Boundary)被意外修改。AD的铺铜边界由一系列顶点坐标定义,任何微小移动都会导致边界失效。我遇到过最诡异的一次:同事用鼠标滚轮缩放时,不小心拖动了边界线的一个顶点,坐标偏移0.001mm,AD判定边界开放,拒绝铺铜。
排查流程:
- 右键铜皮→Properties,查看“Boundary”选项卡,确认顶点数≥3;
- 点击“Edit Boundary”,进入编辑模式,用鼠标悬停在每个顶点,看坐标是否连续(末点坐标≈首点坐标);
- 若发现断点,用“Place → Track”手动补一段线,再用Tools → Convert → Create Region重建边界。
预防技巧:画完铺铜边界后,立即按Ctrl+D锁定所有对象(Design → Board Insight → Lock All Objects),避免误操作。
问题3:隐藏铺铜(Hide Polygon)后,DRC仍报铜皮相关错误
AD的“隐藏”只是视觉关闭,铜皮实体依然存在并参与DRC。很多用户以为隐藏就等于删除,结果出Gerber时铜皮还在。
正确操作:
- 若需临时移除铜皮:右键铜皮→Polygon Actions → Remove Selected(彻底删除);
- 若需永久禁用:在铺铜Properties中,将“Enabled”取消勾选(此时铜皮灰显,DRC忽略);
- 若只是想看走线:按L键打开View Configuration,取消勾选“Polygons”图层。
实操心得:我习惯在布线阶段将所有铺铜设为“Enabled=False”,等布线完成再统一设为True并重铺。这样能避免铜皮遮挡走线,且DRC只检查走线规则,速度提升3倍。
5.3 性能优化类独家技巧
- 加速铺铜重铺:大型板子重铺铜皮常卡死。解决方案:在Preferences → PCB Editor → General中,将“Repour Polygons”设为“On Demand”(按需重铺),并关闭“Repour after every edit”;
- 清理缓存提速:AD缓存(Cache)积累会导致响应迟钝。定期执行:File → Release Cache,或手动删除
ProjectName.PcbDoc.CmpData文件; - 高频信号线布线指南落地:对>100MHz信号,启用Tools → Interactive Routing → Options → Interactive Routing Options,勾选“Restrict to 45 Degree”并设“Arc Angle”=0,强制走线为45°或直角,避免任意角度引入阻抗突变。
6. 从AD到嘉立创EDA:布线与铺铜思路的迁移要点
虽然标题是AD教程,但很多用户实际在嘉立创EDA上做设计,搜索“嘉立创eda如何布线星型接地”印证了这点。两者思路相通,但操作细节差异巨大,这里提炼三条迁移要点:
星型接地实现差异:
AD靠Topology规则+中心焊盘实现;嘉立创EDA无Topology规则,必须手动画“星型辐射线”,然后用“敷铜”工具分别对每条线做“局部铺铜”,再通过“敷铜连接”设置单点连接。本质相同,但AD自动化程度更高。铺铜开窗逻辑一致:
两者都依赖“禁止铺铜区”(Cutout/Keepout)。嘉立创的“敷铜开窗”对应AD的“Polygon Pour Cutout”,操作路径不同(嘉立创在“敷铜”工具栏),但原理一样:画一个封闭区域,铺铜时自动避开。规则驱动理念普适:
嘉立创EDA虽界面简化,但仍有“设计规则”入口(右上角齿轮图标)。必须设置:线宽规则(按网络类)、间距规则(高压/高速/普通分三级)、过孔规则(最小孔径/环宽)。没有规则,就等于没有布线约束,所有“自动”都是瞎碰。
最后分享一个小技巧:无论用AD还是嘉立创,布线前先花10分钟,用纸笔画出关键信号的“理想路径图”——比如485总线必须星型、晶振必须短直、电源必须宽厚。这张图就是你的布线宪法,鼠标再快,也不能违背它。我见过太多人盯着屏幕拉线两小时,不如抬头看一眼这张纸,5分钟就找到最优解。布线与铺铜,终究不是软件操作,而是电气设计思想的具象化过程。