1. 问题背景与现象分析
作为一名PCB设计工程师,在完成布线后执行DRC(设计规则检查)时,经常会遇到"Unrouted nets"或"Connection errors"这类连接性问题。新手最容易踩的坑就是焊盘与走线看似连接,实则处于不同层的情况。这种现象在PADS VX.2.7中表现为:
- 视觉检查:走线与焊盘显示颜色不一致(例如顶层走线为红色,焊盘却显示蓝色)
- DRC报错:检查报告明确提示特定网络存在开路
- 鼠标悬停:高亮显示时发现连接处存在断裂
注意:颜色显示取决于层设置,不同公司/设计可能有不同的颜色方案,但原理相同
我曾处理过一个四层板案例,明明将元件放置在顶层(Top Layer),但焊盘始终显示为内层(Mid Layer)的绿色。即使重新放置元件、检查层设置都无效,最终发现是封装库的焊盘定义存在问题。
2. 问题根源探究
2.1 焊盘结构的本质
在PADS中,一个完整的焊盘由三部分组成:
- 贴装面(Mounting Side):元件实际焊接的表面
- 内层(Internal):多层板内部的连接部分
- 对面(Opposite Side):相对于贴装面的另一侧
当这三个部分的尺寸设置不当时,就会出现"焊盘跨层"现象。常见错误配置包括:
- 贴装面尺寸正确但内层/对面未清零
- 误将通孔焊盘设置用于表贴元件
- 从其他封装复制参数时未完全适配
2.2 封装库的管理问题
多数连接性问题源于不规范的库管理:
- 历史遗留问题:旧版封装直接用于新设计
- 标准不统一:不同工程师创建的封装参数不一致
- 修改传播:修改库文件未同步更新到当前设计
建议建立公司内部的封装库管理规范,包含:
- 命名规则(如"SMD0805_R"表示矩形焊盘)
- 层参数默认值(表贴器件内层/对面清零)
- 版本控制(使用Git/SVN管理库文件)
3. 详细解决方案
3.1 临时修复方法(针对当前设计)
对于已出现问题的设计,按以下步骤修正:
-
定位问题元件
pads复制右键点击报错元件 → 选择"Edit Decal" -
修改焊盘参数
- 选中问题焊盘 → 右键 → "Pad Stack"
- 在弹出窗口中:
- 将"Internal"的Width/Length设为0
- 将"Opposite"的Width/Length设为0
- 确保"Mounting Side"尺寸正确
-
验证修改
- 保存修改后返回PCB界面
- 按"F5"刷新显示
- 重新运行DRC检查
3.2 根本解决方案(修改库文件)
为避免后续设计重复出现此问题,应修正库文件:
-
打开库管理器
pads复制File → Library → 选择对应库 -
编辑标准封装
- 找到相关封装(如0805、SOP-8等)
- 对所有焊盘执行上述参数修改
- 特别检查:
- 表贴器件(内层/对面清零)
- 通孔器件(各层尺寸合理)
- 异形焊盘(特殊形状需单独验证)
-
更新设计引用
pads复制Tools → Update from Library 勾选"Decals" → 选择修改过的封装
4. 深度技术解析
4.1 焊盘栈(Pad Stack)工作原理
焊盘栈定义了焊盘在不同层的表现形式:
| 层类型 | 表贴器件建议设置 | 通孔器件设置 |
|---|---|---|
| Mounting Side | 实际焊接尺寸 | 钻孔直径+0.2mm |
| Internal | 0 | 通常比钻孔大0.4mm |
| Opposite Side | 0 | 与Mounting Side相同 |
特殊案例:
- 散热焊盘:可能需要设置较大的内层连接
- 高频信号:严格控制反焊盘(Anti-pad)尺寸
4.2 PADS的层处理逻辑
PADS处理焊盘层遵循以下优先级:
- 首先检查焊盘栈定义
- 然后应用元件放置层
- 最后叠加设计规则限制
常见误区:
- 认为"元件放在顶层,焊盘就一定在顶层"
- 忽略封装本身定义的层参数
- 未考虑板厂加工的实际需求
5. 实战经验分享
5.1 设计检查清单
在提交制板前,建议执行以下检查:
-
封装验证
- 新建空白PCB放置测试元件
- 用"Layer Setting"工具切换层显示
- 确认焊盘颜色随层变化正确
-
连接性测试
- 对关键网络执行"Show Connectivity"
- 使用"View Nets"查看实际连接路径
- 特别检查:
- BGA底部焊盘
- 散热过孔
- 高密度连接区域
-
DRC策略
pads复制Setup → Design Rules → Default → Clearance 设置"Pad to Trace"、"SMD to Plane"等关键规则
5.2 常见问题速查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 焊盘显示为"X"形 | 未定义当前层焊盘形状 | 修改Pad Stack层参数 |
| 部分网络始终报错 | 存在未连接的隐藏过孔 | 使用"Delete Unused Vias" |
| 焊盘与走线同色仍报错 | 实际存在微小间隙 | 放大至5000倍检查连接点 |
| 仅某些角度显示断开 | 显示渲染问题 | 按"Ctrl+D"刷新图形 |
6. 进阶技巧
6.1 高效封装创建方法
-
使用向导工具
pads复制Tools → PCB Decal Wizard 选择封装类型(QFP、BGA等)→ 输入参数自动生成 -
参数化设计
- 建立Excel计算表关联尺寸与焊盘参数
- 使用"Import Excel"批量创建相似封装
-
3D验证
pads复制View → 3D View 检查元件与焊盘的立体匹配关系
6.2 设计复用技巧
-
智能粘贴
pads复制复制元件 → Edit → Paste Special 勾选"Keep signal names"复用网络 -
模块化设计
- 将已验证的电路保存为"Reuse Block"
- 通过"Make Like Reuse"快速调用
-
版本对比
pads复制Tools → Compare/ECO 检测封装修改带来的潜在影响
在实际项目中,我习惯在完成关键部分布线后,先用局部DRC检查连接性,而不是等到最后。这样可以及早发现问题,避免大规模返工。对于复杂设计,建议每完成25%进度就执行一次完整性检查。