Altium DRC实战指南:从新手到规范设计的必经之路
你是不是也有过这样的经历?辛辛苦苦画完PCB,兴冲冲导出Gerber去打样,结果工厂回复:“线距太小,无法生产”;或者板子焊好了,调试时发现某个信号始终异常——回头一看,原来是两个不该连的网络短接了。这些看似低级却频繁发生的错误,其实完全可以通过一个功能避免:DRC(Design Rule Check)。
在Altium Designer中,DRC不是个“高级技巧”,而是每一个合格硬件工程师每天都在用的基础工具。它就像代码里的编译器,不让你把语法错误带进下一阶段。本文不讲空话,带你从真实项目出发,搞懂DRC怎么设、怎么用、怎么避坑,真正把它变成你的设计守门员。
为什么你需要DRC?一个STM32最小系统的教训
假设你在做一块基于STM32F103的最小系统板,包含电源、晶振、复位、下载接口和串口通信。看起来很简单对吧?但如果你跳过DRC,可能很快就会遇到这些问题:
- VCC和GND走线挨得太近,工厂拒单,因为间距只有5mil,低于他们6mil的工艺能力;
- NRST复位引脚没连上按键,焊接完才发现电路不通;
- SWDIO和SWCLK差分走线长度差了200mil,导致下载不稳定;
- LDO输出电容离芯片太远,虽然原理图连上了,但布局不合理引发电源噪声。
这些问题,80%都可以在布线过程中被DRC提前拦截。而你要做的,只是花10分钟设置几条规则。
DRC到底是什么?别被术语吓住
简单说,DRC就是一套“设计交警”系统。你告诉它哪些行为违规(比如车距太近、压线变道),它就在你操作时实时提醒,或者事后给你开罚单。
在Altium里,DRC检查的是PCB上的物理与电气关系,比如:
- 两条不同网络的铜线靠得够不够远?
- 所有网络都连上了吗?
- 电源线够不够宽?
- 高速信号是否等长?
它的核心不在“检查”,而在“规则驱动设计”——先定规矩,再动手,这才是专业做法。
四类必须掌握的DRC规则(附实操配置)
一、电气规则:防止短路和断路
这是最基础也最重要的规则,直接决定板子能不能通电。
关键设置项:
| 规则 | 建议值 | 说明 |
|---|---|---|
| Clearance(安全间距) | 8~10mil(常规) 20mil+(高压/大电流) | 不同网络间的最小距离 |
| Short-Circuit | ✔️ 启用 | 禁止不同网络之间短接 |
| Un-Routed Net | ✔️ 启用 | 检查是否有未完成连接的网络 |
🔧操作路径:
Design → Rules → Electrical
💡新手常踩的坑:默认Clearance是10mil,但如果你用了0603或0402封装,焊盘间距可能就8mil左右。这时候如果忘记为特定网络放宽规则,DRC会疯狂报警。
✅解决方法:创建Net Class!例如将所有电源网络归为Power_Net,单独设置其Clearance为12mil,其他信号保持8mil。
二、布线规则:让走线既美观又可靠
很多初学者只关注“连通就行”,但专业的设计要考虑载流能力、信号完整性。
核心子规则:
- Width(线宽)
- 默认信号线:8–10mil
- 电源线(如VCC/GND):≥20mil(每10mil宽度约承载1A电流)
- GND主干:可设为30–50mil
⚙️ 设置技巧:定义多个Width规则,并按优先级排列。Altium会自动匹配最合适的那条。
Routing Layers
- 可限制某些网络只能在Top/Bottom Layer走线
- 比如RF信号锁定顶层,避免穿越内层造成干扰Differential Pairs
- 差分阻抗(如USB DM/DP)设为90Ω±10%
- 走线长度匹配容差建议±5mil以内
📌 提示:启用
Interactive Routing时,Altium会根据当前网络自动应用正确的线宽——前提是你的Width规则已正确定义!
三、制造规则:确保你的设计能被生产出来
再漂亮的PCB,工厂做不出来也是白搭。制造类规则就是对接生产工艺的桥梁。
必须检查的几项:
| 规则 | 典型要求 | 来源 |
|---|---|---|
| Minimum Track Width | ≥6mil | 多数嘉立创/捷配支持 |
| Minimum Clearance | ≥6mil | 同上 |
| Minimum Through Via Hole | ≥0.3mm(12mil) | 标准钻孔能力 |
| Solder Mask Sliver | ≥4mil | 防止阻焊桥断裂 |
| Hole Size to Board Edge | ≥0.5mm | 避免钻破边缘 |
🏭 实际建议:根据自己常用的PCB厂家(如嘉立创、华秋、PCBWay)的技术参数,建立一套专属的Manufacturing Rules模板。
例如,在Design → Rules → Manufacturing中添加:
Rule Name: Min_Track_Clearance Type: Minimum Annular Ring Value: 6mil Applied To: All layers这样每次新建项目导入该模板,就能确保设计符合代工厂能力。
四、高速信号规则:不只是“连上”那么简单
当你开始接触STM32+SDRAM、FPGA、MIPI、DDR等高速接口时,就必须考虑时序一致性。
关键控制点:
- Length Constraint:限制关键信号总长度。比如HDMI时钟线不超过1500mil。
- Matched Length:数据总线各线长度差控制在±50mil以内,避免采样偏移。
- Max Stub Length:菊花链拓扑中,分支过长会引起反射,应尽量缩短。
🔍 场景举例:你在设计一个并行LCD接口,DATA0-DATA7共8根线。如果不做等长处理,接收端可能会因延迟差异出现误读。此时使用Matched Length规则,设定目标长度±30mil,Altium会在布线时实时显示长度差。
🛠️ 使用方式:
1. 在High Speed规则下新建Matched Length
2. 选择相关网络(如Data_Bus)
3. 设置Tolerance(容差)和Target Length(目标长度)
4. 布线时按Tab键查看实时长度统计
你会发现,原本靠“估摸”的等长布线,现在变得精准可控。
DRC怎么用?一套完整的实战流程
我们以STM32最小系统为例,走一遍从零开始的DRC实践流程。
第一步:建规则,而不是直接画板
别急着摆元件!先打开Design → Rules,建立以下基础规则集:
[Electrical] Clearance: 8mil (All Nets) → Priority 2 Clearance: 20mil (HV_Nets or Power_Pairs) → Priority 1 Short-Circuit: Enabled Un-Routed Net: Enabled [Routing] Width: Default: 10mil → Applies to all nets VCC/GND: 20mil → Applies to Power_Net class Routing Layers: Top & Bottom enabled [High Speed] Matched Length: XTAL_IN/XTAL_OUT ±5mil📌 记得调整优先级!高优先级规则会覆盖低优先级的。比如Power网络的Clearance应高于通用规则。
第二步:开启Online DRC,边画边检
进入Tools → Preferences → PCB Editor → General,勾选:
- ✅Online DRC
- ✅Highlight Conflictive Objects
现在你每画一段线,只要违反规则,就会立刻看到红色波浪线或空心箭头提示。
🎯 实测效果:当你试图把RXD信号线靠近VCC走线且间距小于8mil时,线条瞬间变红,并伴有轻微警告音(可设置)。这时你就知道要绕道了。
第三步:跑一次Batch DRC,全面体检
初步布线完成后,点击Tools → Design Rule Check,弹出对话框:
- ✅Run on completion
- ✅Create Report File
点击“Run”,等待几秒后,切换到右下角的Messages面板,你会看到类似内容:
[Error] Clearance Constraint: Between Net_VCC and Net_RXD → 6.2mil < 8mil [Warning] Un-Routed Net: NRST (PinPair: SW1_1 → U1_NRST)双击任意一条,Altium会自动跳转到PCB对应位置,方便你快速修复。
第四步:生成报告,留下证据
DRC结束后,Altium会生成.rpt文件,内容如下:
****** Report file generated on 2025/4/5 10:00:00 ****** Project: STM32_Minimal.PrjPcb Board: STM32_Minimal.PcbDoc Total Violations Found: 2 - 1 x Clearance Violation - 1 x Un-Routed Net Details: [Clearance] Between Pad1 of U1 and Track segment on BottomLayer Actual: 6.2mil < Required: 8mil → ACTION: Re-route or adjust clearance rule [Un-Routed Net] Net Name: NRST From: SW1_1 to U1_NRST → ACTION: Complete connection这份报告不仅可以用于内部评审,还能作为设计合规性文件提交给客户或制造商。
高手都在用的设计习惯
1. 分阶段使用DRC
- 布局初期:关闭严格的Width和Clearance规则,专注模块分区;
- 布线中期:开启Online DRC,实时纠偏;
- 交付前:运行完整Batch DRC,确保零违规。
灵活开关规则,才能提高效率。
2. 创建自己的规则模板(.rul文件)
做完一个成功项目后,别忘了导出规则:
Design → Rules → Export...→ 保存为ARM_Template.rul
下次新建项目时直接导入,省去重复配置时间。尤其适合系列化产品开发。
3. 善用3D视图辅助验证
虽然DRC是二维逻辑判断,但结合View → Switch to 3D可直观查看:
- 元件是否干涉?
- 接插件高度是否超限?
- 走线是否堆叠过多?
有时候DRC没报错,但空间冲突肉眼可见。两者互补才是王道。
4. 和团队共享规则标准
在企业环境中,可以制定统一的Rule Template,嵌入公司设计规范。新人入职只需加载模板,就能写出符合标准的设计,极大提升整体质量一致性。
写在最后:DRC不是功能,是思维方式
掌握DRC的意义,远远超过学会一个软件按钮。它代表了一种规则先行、预防为主的工程思维。
与其等到打样失败再返工,不如在设计之初就把风险堵住。DRC就是那个帮你“把关”的同事——虽然有时啰嗦,但从不放水。
所以,请记住:
每一次成功的PCB背后,都不是侥幸,而是规则的胜利。
你现在就可以打开Altium,进入Rules编辑器,花10分钟为自己正在做的项目加几条关键规则。下次布线时,你会感谢今天的自己。
💬互动话题:你在使用DRC时遇到过哪些奇葩报警?又是如何解决的?欢迎在评论区分享你的故事!