Altium Designer间距规则全解析:从新手避坑到高手进阶
你有没有遇到过这种情况?板子打样回来,焊上芯片一通电——“啪”一声冒烟了。查来查去,原来是两根不该连的走线靠得太近,制造时轻微偏移就短路了。
或者更糟:产品已经量产,突然在EMC测试中失败,排查发现是模拟信号被数字电源干扰,根源竟是布线间距不足导致耦合。
这些问题,其实都可以在设计阶段用一条规则提前拦截——这就是Altium Designer里的电气间距规则(Clearance)。
别看它名字普通,这可是PCB设计中最基础、最致命、也最容易被忽视的关键防线。今天我们就抛开术语堆砌,用工程师的语言,把Altium里的各类间距规则讲清楚:它们到底管什么?什么时候该用哪一种?怎么设才既安全又能落地生产?
为什么必须用规则驱动设计?
早些年做板子,靠的是“经验+放大镜”。画完图后手动检查关键位置有没有靠太近,靠不靠谱全凭手感和眼力。但现在的电路板动辄四层起步,上百个网络,高速信号满天飞,再这么干等于赌博。
Altium Designer的核心优势之一就是规则驱动设计(Rule-Driven Design)。你可以把它理解为给软件装了一个“设计监理”,你在布线时它就在旁边盯着:
“喂!这根AC线离DC太近了,至少要25mil!”
“那个覆铜快碰到高阻抗反馈电阻了,赶紧绕开!”
一旦违规,立刻标红警告。这种机制的背后,就是我们今天要深挖的——间距规则系统。
而它的核心任务只有一个:防止不同电气对象之间发生短路、漏电、击穿或噪声耦合。
间距规则是怎么工作的?三句话说清原理
很多人设置完规则发现“没生效”,其实是没搞懂它的执行逻辑。记住下面三点:
- 匹配优先:规则不是全局一刀切,而是根据“谁和谁”来判断适用哪条。
- 优先级决胜:如果有多个规则都能匹配当前对象对,优先级高的胜出。
- 实时监控 + DRC兜底:布线过程中实时检测,最后再跑一遍DRC全面扫描。
举个例子:默认规则要求所有网络之间至少6mil;但你单独设置了高压AC与低压DC之间必须≥20mil。当你画AC走线靠近DC时,软件会自动应用那条20mil的特例规则——因为它优先级更高。
所以,规则的本质是建立一张“距离策略表”,告诉EDA工具:“在什么条件下,哪些东西之间要保持多远”。
五类间距规则,各自管啥?怎么选?
Altium中的Clearance规则看似复杂,其实按应用场景拆开看,就五种典型模式。掌握这五类,99%的设计需求都能覆盖。
一、“保底条款”:默认全局间距(Default Clearance)
这是每块板子都有的第一条规则,就像法律里的“一般性规定”。
- 作用范围:
All对All - 控制对象:所有导电元素之间的最小距离(走线↔走线、过孔↔焊盘、覆铜↔走线等)
- 典型值:6~8mil(取决于PCB厂家能力)
Name: Clearance First Object: All Second Object: All Clearance Value: 8mil📌实战建议:
- 初期可设宽松些(比如12mil),方便快速布局;
- 布局完成后收紧到工艺极限,提升布通率;
- 务必确认你的设定符合板厂的最小线距能力(常规FR4工艺通常支持6~7mil)。
⚠️常见误区:
- 设成5mil以下?很多小厂根本做不出来,强行下单只会换来一堆开路/短路废板。
- 忽略覆铜影响?默认规则也管覆铜与其他对象的距离,别以为铺铜是“绝缘”的!
二、“分类管理”:网络类间距(Class-to-Class Clearance)
当项目变大,网络数量暴涨,逐个设置“谁和谁”显然不现实。这时就要学会“抓重点、分群体”。
想象你要隔离三类信号:
- 强电:AC 220V输入
- 数字:MCU、SPI通信
- 模拟:传感器微弱信号(mV级)
你不需要写几十条“AC↔DIGITAL”、“AC↔SENSOR”……而是先把它们归类:
Net Class: Power_AC → 包含 L, N, GND_AC Net Class: Digital_Signal → 包含 MCU_TX, CLK, CS# Net Class: Analog_Input → 包含 TEMP_SENSOR+, V_REF然后新建一条规则:
Name: Clearance_AC_to_Digital First Object: Net Class = Power_AC Second Object: Net Class = Digital_Signal Clearance Value: 15mil Priority: High✅好处:
- 批量管控,避免遗漏;
- 规则结构清晰,后期维护方便;
- 团队协作时标准统一。
🔧配置技巧:
- 在Design » Classes中提前定义好Net Classes;
- 可结合颜色标记,在PCB面板中直观查看归属;
- 推荐命名规范如CLS_Pwr_AC、CLS_Ana_Sensor,便于识别。
三、“精准打击”:特定网络对间距(Specific Net Pair Clearance)
有些场景必须“点对点”精确控制,典型的就是高压与地之间的爬电距离。
例如工业设备常用的+48V供电系统,虽然电流不大,但电压高,长期工作下容易因潮湿、灰尘引发漏电甚至拉弧。这时候就不能只靠“电源类 vs 地类”这种粗粒度规则了。
你需要明确指定:
Name: Creepage_48V_to_GND First Object: Net = +48V Second Object: Net = GND Clearance Value: 12mil Priority: Higher than default📌关键点:
- 这条规则必须优先级高于默认规则和类间规则,否则会被覆盖;
- 若仅需局部生效(如仅限电源模块区域),可用Room限定作用范围;
- 实际距离应参考IPC-2221A标准,考虑工作电压、污染等级等因素。
💡扩展应用:
- Lightning_GND 与 Signal_GND 非金属连接隔离;
- HDMI差分对与射频天线走线避让;
- CANH/CANL与开关电源走线保持额外间距。
四、“隐形杀手”:覆铜与其他对象间距(Polygon Clearance)
很多工程师觉得“铺个地铜而已,又不是走线”,结果一上电噪声满屏飞。
问题往往出在这儿:大面积覆铜边缘电场集中,极易耦合噪声到邻近高阻抗节点,尤其是运放反馈路径、晶振引脚、ADC参考源等敏感区域。
Altium专门为此提供了独立的控制项:
| 参数 | 说明 |
|---|---|
| Minimum Clearance | 覆铜与其他对象的最小间距,默认6~10mil |
| Include Arcs in Clearance Calculation | 是否将圆弧边纳入计算(建议勾选) |
| Use Intelligent Polygon Pour | 开启智能避让,自动绕开障碍物 |
🛠正确做法:
1. 设置通用覆铜间距为8mil;
2. 对敏感网络单独加强,例如:
Name: PolyClear_AnalogRef First Object: Net = VREF_2V5 Second Object: Polygon = All Clearance Value: 15mil- 勾选
Repour on modification,确保修改后自动重新铺铜; - 使用
Tools » Polygon Pour » Repour All主动刷新。
🚨血泪教训:
某客户项目中,ADC采样始终不稳定,调试数周无果。最终发现是GND覆铜太贴近基准电压输出端,造成低频振荡。增加至15mil间距后问题消失。
五、“看不见的串扰”:层间间距(Inter-Layer Clearance)
前面说的都是同层对象间的水平间距。但在多层板中,垂直方向的距离同样重要。
虽然层间介质厚度由叠层决定,但Altium仍允许你在规则中显式声明跨层间距要求,用于DRC检查。
比如一个六层板典型叠层:
L1: Signal (Top) L2: GND Plane L3: Power Plane L4: Signal L5: GND Plane L6: Signal (Bottom)尽管L1和L4之间隔着两个平面,但如果它们在同一区域都有长距离平行走线,依然可能通过边缘场耦合产生串扰。
解决方案:
- 在Layer Stack Manager中合理分配信号层;
- 添加跨层间距规则,限制敏感信号在相邻信号层的平行长度;
- 或直接设置:
Name: InterLayer_Sig First Object: On Layer = Top Layer Second Object: On Layer = InnerLayer4 Clearance: 15mil📌注意:
- 层间间距实际由板材介电常数和厚度决定,规则主要用于提醒和约束;
- 更有效的做法是利用内层完整地平面进行屏蔽隔离。
高手都在用的技巧:脚本批量生成规则
当你开始做标准化产品平台,每次新建项目都要重复设置十几条规则?太低效了。
Altium支持通过Delphi Script或JavaScript脚本自动化创建规则,特别适合企业级设计规范导入。
示例:用Delphi Script添加类间间距规则
procedure AddClassToClassClearance; var Rule : TClearanceConstraint; begin Rule := TClearanceConstraint.Create; Rule.Name := 'Clearance_Analog_Power'; Rule.FirstObject.SetNetClass('Analog_Net_Class'); Rule.SecondObject.SetNetClass('Power_Net_Class'); Rule.Clearance := MMtoCoord(0.3); // 0.3mm ≈ 11.8mil Rule.Priority := 10; AddPCBRule(Rule); end;🎯用途:
- 将公司标准规则集打包成脚本;
- 新项目启动时一键运行,自动部署全套间距策略;
- 结合模板文件(*.POT)实现全流程标准化。
💡 提示:可通过
File » Scripts加载并运行脚本,也可集成进自定义按钮或菜单。
真实案例:一次DRC救回一个项目
某工业控制板在老化测试中频繁出现AC-DC短路,返修率高达15%。拆解发现并非元器件问题,而是PCB制造公差导致交流输入走线与直流控制线局部桥接。
分析原因:
- 设计初期未设置专项隔离规则;
- 默认间距仅8mil,不足以应对安规要求;
- 布线人员凭经验操作,存在侥幸心理。
整改方案:
1. 创建Net Class:
-AC_Input(包含L/N)
-DC_Control(包含MCU_IO, RELAY_CTRL)
2. 添加专用间距规则:plaintext Name: Safety_Clearance_AC_DC First Object: Net Class = AC_Input Second Object: Net Class = DC_Control Clearance Value: 25mil Priority: Highest
3. 启用Live Routing提示功能,布线时即时警示;
4. 输出前强制运行DRC,不允许任何Clearance错误通过。
结果:后续批次零故障,顺利通过UL认证。
工程师必备的五大实践准则
别让规则变成摆设。以下是经过验证的最佳实践:
| 实践要点 | 具体操作 |
|---|---|
| 分层设置,先宽后紧 | 先设宽松默认值 → 再加严关键规则,避免早期满屏报错 |
| 优先级明确 | 数字越大优先级越高,确保特例规则能覆盖通用规则 |
| 善用Room分区管控 | 将电源模块、高速接口等封装进Room,独立设置间距策略 |
| 定期备份规则集 | 导出为.rul文件,纳入Git/SVN版本管理 |
| 与DFM深度联动 | 提前获取板厂工艺能力文档,确保规则可制造 |
📌 特别提醒:不要盲目追求“最小间距”。留一点余量,既是给制造容差,也是给自己留退路。
写在最后:规则不是束缚,而是自由的护栏
有人觉得“设这么多规则太麻烦”,其实恰恰相反。
正是因为有了清晰的规则边界,你才能放心大胆地使用自动布线、推挤走线、扇出等功能,而不必担心一不小心酿成大错。
就像高速公路要有护栏,不是为了限制速度,而是让你敢踩油门。
Altium的间距规则体系,本质上是把你的工程经验和行业标准“翻译”成软件能听懂的语言。当你熟练掌握这套语言,你会发现:
- 布线更快了,因为系统会主动帮你避让;
- 修改更容易了,因为规则集中管理;
- 交付更稳了,因为DRC提前拦住了90%的低级错误。
未来随着AI辅助设计的发展,这类规则还将进一步演化为“智能推理引擎”的输入依据。今天的每一条手工设定,都在为明天的自动化积累知识资产。
所以,下次打开AD时,别急着画线。先花十分钟把Clearance规则理清楚——这才是真正高效设计的起点。
如果你正在搭建企业级PCB设计规范,欢迎留言交流脚本化规则部署的经验。