1. DRC规则检查:PCB设计的最后一道防线
刚画完PCB板子的工程师们肯定都经历过这样的场景:满心欢喜地点下DRC检查按钮,结果弹出一堆红色错误和黄色警告,瞬间头皮发麻。别慌,这其实是好事——就像考试前的模拟测验,提前发现问题总比板子做出来不能用强。
DRC(Design Rule Check)是Altium Designer中最强大的设计验证工具之一。它就像个严格的质检员,会对照你设定的规则逐条检查PCB设计。我见过太多新手设计师跳过DRC直接投板,结果板子回来不是短路就是开路,最惨的是有个同事的板子因为丝印盖住焊盘,导致BGA芯片根本无法焊接。
提示:建议在布局完成后就开启实时DRC检查(Tools > Design Rule Check > Run Design Rule Check),不要等到最后才检查,这样能边设计边修正。
2. 常见DRC错误解析与实战处理
2.1 电气间距冲突(Clearance Constraint)
"Clearance Constraint (Gap=10mil)"这个报错我几乎在每个项目都会遇到。上周做的一个智能手表项目,就因为0402封装的电阻焊盘间距设置不当,导致12处报错。这里有个实用技巧:在规则设置时,不要简单设置All to All的全局间距,应该按信号类型分层设置:
Design > Rules > Electrical > Clearance > New Rule我通常这样分级设置:
- 电源网络间:15-20mil
- 高速信号间:8-10mil
- 普通信号间:6-8mil
- 板边与走线:30mil(防切割伤线)
遇到密集区域实在无法满足间距时,可以临时添加规则例外(Rule Priority),但一定要在注释里写明原因。
2.2 短路检查(Short-Circuit Constraint)
最可怕的错误莫过于"Short-Circuit Constraint (Allowed=No)"。有次我的板子DRC通过了,但贴片后电源短路,后来发现是两块不同网络的覆铜在拐角处有肉眼难辨的细微连接。现在我的检查清单里一定会包含:
- 所有覆铜区域执行Repour All(快捷键T+G+A)
- 将视图缩放至200%检查交叉点
- 用PCB面板的"Net"模式查看网络连接关系
对于高密度板,建议开启"Online DRC"实时检测,当走线距离过近时会实时显示间距数值。
3. 布线相关规则深度配置
3.1 线宽规则(Width Constraint)
"Width Constraint"报错看似简单,但藏着不少学问。上周帮客户调试的一块工控板,就因为默认线宽规则设置不当,导致大电流线路过热。我的建议配置方案:
| 信号类型 | 最小线宽 | 优选线宽 | 最大线宽 |
|---|---|---|---|
| 电源(>1A) | 20mil | 30mil | 50mil |
| 高速信号 | 6mil | 8mil | 10mil |
| 普通信号 | 5mil | 6mil | 10mil |
| 板框内走线 | 8mil | 10mil | 15mil |
设置技巧:在规则中使用"Where The Object Matches"条件,比如对3.3V网络单独设置规则:"InNet('3V3')"。
3.2 未完成布线(Un-Routed Net)
遇到"Un-Routed Net Constraint"时别急着加跳线,先检查:
- 是否真的需要这组连接(有时原理图改了但PCB没更新)
- 使用"Route > Auto Route > Net"尝试自动连接
- 按"N"键隐藏其他网络,专注处理当前飞线
有个项目我漏了一条DDR的地址线,幸亏DRC报错才避免灾难。现在养成了习惯:布线完成后一定用"Reports > Board Information"查看布线完成率。
4. 生产相关规则精调
4.1 孔尺寸规则(Hole Size Constraint)
"Hole Size Constraint"直接关系到板厂能否生产。上个月有个惨痛教训:设置了0.2mm的过孔,结果板厂最小只能做0.3mm,导致整个项目延期。现在我的孔尺寸规则必定包含:
- 机械孔:≥0.3mm(与板厂确认)
- 过孔:外径/内径≥0.3mm/0.2mm(高速板需更严)
- 螺丝孔:单独设置规则(通常3mm以上)
注意:插件元件的孔径要大于引脚直径0.2-0.3mm,否则很难插装。
4.2 阻焊与丝印规则
"Minimum Solder Mask Sliver"和"Silk To Solder Mask"这类错误最容易被忽视,但影响焊接质量。最近调试的一块板子就因为丝印覆盖焊盘,导致QFN芯片虚焊。我的阻焊规则设置经验:
- 阻焊扩展:通常比焊盘大2-4mil
- 丝印间距:
- 距SMD焊盘:≥8mil
- 距通孔焊盘:≥10mil
- 关键器件(如BGA)周围5mm内禁止丝印
处理丝印冲突时,可以:
- 调整丝印位置(快捷键M+S)
- 缩小丝印字号(建议不小于0.8mm)
- 将丝印改为空心字体
5. 高级规则应用技巧
5.1 差分对规则配置
做高速设计时,常规DRC规则远远不够。上周的HDMI接口设计就遇到差分对间距不一致的问题。正确的配置步骤:
- 先定义差分对(Design > Classes)
- 创建差分对规则:
Design > Rules > Routing > Differential Pairs Routing - 设置关键参数:
- 线间距:保持等于线宽(100Ω阻抗)
- 对内长度公差:≤5mil
- 过孔处添加回流地过孔
实测发现,差分对规则能有效减少信号完整性问题,特别是在USB3.0和MIPI接口上。
5.2 区域规则(Room Rules)
在混合信号板卡中,我习惯使用区域规则。比如在最近的物联网网关设计中:
- 为RF区域创建专用Room
- 设置该区域内:
- 线宽≥10mil
- 禁止过孔
- 全接地屏蔽
- 使用"规则向导"批量应用设置
这样既能保证RF性能,又不会影响其他区域的布线密度。当元件移动时,相关规则会自动跟随Room区域变化。
6. DRC检查实战流程
经过多年踩坑,我总结出一套高效的DRC处理流程:
预处理阶段:
- 更新所有覆铜(T+G+A)
- 锁定已确认的器件(选中后按L)
- 备份当前版本(File > Save As)
分级检查:
- 第一遍:只检查电气规则(短路、开路)
- 第二遍:检查生产规则(线宽、孔径)
- 第三遍:检查装配规则(丝印、阻焊)
错误处理原则:
- 红色错误:必须修正
- 黄色警告:评估风险后决定
- 特殊规则:添加设计注释说明
最终验证:
- 生成3D视图检查机械冲突
- 使用"View > Layers"逐个关闭层检查
- 交叉检查BOM与封装
最近用这个方法检查的10层板,一次通过率从60%提升到95%,节省了大量返工时间。