第07章-设计规则检查与验证

第七章:设计规则检查与验证

7.1 设计规则检查概述

7.1.1 什么是DRC

设计规则检查(Design Rules Check,DRC)是PCB设计中的关键验证步骤,用于确保设计符合制造工艺要求和电气规范。

DRC的重要性:

  • 确保PCB可制造
  • 避免电气短路和开路
  • 提高产品质量和可靠性
  • 减少设计迭代和返工

7.1.2 KiCad DRC功能

KiCad提供全面的DRC功能:

物理规则检查:
├── 间距检查(Clearance)
├── 线宽检查(Track Width)
├── 过孔检查(Via Size)
├── 孔径检查(Hole Size)
├── 环宽检查(Annular Ring)
└── 丝印检查(Silkscreen)

电气规则检查:
├── 未连接检查(Unconnected)
├── 短路检查(Short Circuit)
├── 网络完整性(Net Integrity)
└── 差分对检查(Differential Pairs)

机械检查:
├── 板框完整性(Board Outline)
├── 元器件碰撞(Collision)
└── 禁止区域(Keep-out)

7.2 配置设计规则

7.2.1 板子设置

菜单:File → Board Setup
或快捷键:Ctrl+Shift+S

7.2.2 约束规则(Constraints)

基本约束设置:

Board Setup → Design Rules → Constraints

最小间距(Minimum Clearance):
  定义不同网络之间的最小距离
  推荐值:0.15mm ~ 0.2mm

最小线宽(Minimum Track Width):
  走线的最小宽度
  推荐值:0.15mm ~ 0.2mm

最小过孔(Minimum Via Size):
  过孔外径/钻孔最小值
  推荐值:0.8mm/0.4mm 或 0.6mm/0.3mm

最小环宽(Minimum Annular Ring):
  过孔环宽最小值
  推荐值:0.15mm

铜到板边距离(Copper to Edge):
  铜箔到板边的最小距离
  推荐值:0.25mm ~ 0.5mm

丝印到焊盘距离(Silkscreen to Pad):
  丝印与焊盘的最小间距
  推荐值:0.1mm

7.2.3 网络类(Net Classes)

网络类允许为不同类型的网络设置不同的规则。

创建网络类:

Board Setup → Design Rules → Net Classes

步骤:
1. 点击"+"添加新网络类
2. 输入类名称(如"Power"、"Signal"、"HighSpeed")
3. 设置该类的规则参数:
   - 间距
   - 线宽
   - 过孔尺寸
   - 差分对间距

常用网络类配置:

Default(默认信号):
  Clearance: 0.2mm
  Track Width: 0.25mm
  Via Size: 0.8mm / 0.4mm

Power(电源):
  Clearance: 0.3mm
  Track Width: 0.5mm
  Via Size: 1.0mm / 0.5mm

GND(地线):
  Clearance: 0.3mm
  Track Width: 0.5mm
  Via Size: 1.0mm / 0.5mm

HighSpeed(高速信号):
  Clearance: 0.15mm
  Track Width: 0.2mm
  Via Size: 0.6mm / 0.3mm

DiffPair(差分对):
  Clearance: 0.15mm
  Track Width: 0.18mm
  Differential Pair Gap: 0.15mm

分配网络到类:

Board Setup → Design Rules → Net Classes

方法1:手动分配
  在网络列表中选择网络
  指定所属网络类

方法2:使用模式匹配
  输入通配符模式
  如"VCC*"匹配所有VCC开头的网络

7.2.4 自定义规则

KiCad支持使用自定义规则文件进行更精细的控制。

规则文件位置:

Board Setup → Design Rules → Custom Rules

或编辑文件:
<project>.kicad_dru

规则语法:

# 规则版本声明
(version 1)

# 基本规则示例
(rule "电源线最小线宽"
    (condition "A.NetClass == 'Power'")
    (constraint track_width (min 0.5mm))
)

# 间距规则
(rule "高压区域间距"
    (condition "A.Zone == 'HighVoltage'")
    (constraint clearance (min 1mm))
)

# 禁止特定层的规则
(rule "禁止底层信号"
    (layer "B.Cu")
    (condition "A.NetClass == 'Sensitive'")
    (constraint disallow track)
)

# 差分对规则
(rule "USB差分对"
    (condition "A.inDiffPair('USB_*')")
    (constraint diff_pair_gap (opt 0.15mm))
    (constraint diff_pair_uncoupled (max 3mm))
)

常用规则条件:

A.NetClass == 'ClassName'    : 网络类匹配
A.NetName == 'NetName'       : 网络名匹配
A.Type == 'Track'            : 类型匹配
A.inDiffPair('pattern')      : 差分对匹配
A.Layer == 'F.Cu'            : 层匹配
A.NetClass != B.NetClass     : 不同网络类
A.isPlated()                 : 是电镀孔

常用约束类型:

clearance        : 间距
track_width      : 线宽
via_diameter     : 过孔外径
via_drill        : 过孔钻孔
hole_diameter    : 孔径
annular_width    : 环宽
diff_pair_gap    : 差分对间距
diff_pair_uncoupled : 差分对最大非耦合长度
length           : 走线长度
skew             : 差分对偏斜

7.3 运行DRC检查

7.3.1 启动DRC

菜单:Inspect → Design Rules Checker
或快捷键:Ctrl+Shift+D

7.3.2 DRC选项

DRC对话框选项:

测试选项:
□ Refill all zones before DRC
  运行DRC前重新填充所有覆铜区域

□ Test for parity between PCB and schematic
  检查PCB与原理图的一致性

□ Report all errors for tracks
  报告走线的所有错误

严重级别过滤:
□ Errors    : 显示错误
□ Warnings  : 显示警告
□ Exclusions: 显示已排除项

7.3.3 理解DRC结果

错误类型:

Clearance Violation(间距违规):
  原因:两个元素之间距离过近
  图标:红色圆圈
  修复:增加间距或修改设计规则

Track Width Violation(线宽违规):
  原因:走线宽度小于最小值
  修复:增加线宽或修改规则

Via Violation(过孔违规):
  原因:过孔尺寸不符合规则
  修复:修改过孔尺寸

Unconnected Items(未连接项):
  原因:网络中存在未连接的焊盘
  修复:完成布线

Short Circuit(短路):
  原因:不同网络意外连接
  修复:移除错误连接

Hole near Hole(孔距过近):
  原因:两个钻孔距离过近
  修复:调整元器件位置或过孔位置

7.3.4 定位和修复问题

定位错误:

1. 在DRC结果列表中双击条目
2. 视图自动跳转到问题位置
3. 问题区域会高亮显示

修复错误:

间距错误:
  - 移动走线或元器件
  - 调整走线路径
  - 减小线宽(如果允许)

未连接错误:
  - 完成布线
  - 检查网表是否正确

短路错误:
  - 检查覆铜区域
  - 检查走线连接
  - 删除错误连接

7.3.5 排除特定违规

对于已确认可接受的违规,可以选择排除:

1. 在DRC结果中选择条目
2. 右键 → Exclude this violation
3. 或点击"排除"按钮
4. 排除的项目会标记但不再报错

7.4 电气规则检查(ERC)

7.4.1 ERC概述

电气规则检查在原理图编辑器中进行,验证电气连接的正确性。

7.4.2 运行ERC

在Eeschema中:
菜单:Inspect → Electrical Rules Checker
或快捷键:Ctrl+Shift+E

7.4.3 ERC规则配置

File → Schematic Setup → Electrical Rules

引脚类型矩阵:
定义不同引脚类型连接时的处理方式

选项:
- OK    : 允许连接
- Warning: 警告
- Error : 错误

示例:
输出-输出连接 → Error
输入-输入连接 → Warning
输入-无驱动   → Error

7.4.4 常见ERC问题

Pin not connected:
  引脚未连接
  解决:连接导线或添加无连接标志

Input pin not driven:
  输入引脚无驱动
  解决:连接到输出或电源

Conflicting outputs:
  输出冲突
  解决:检查电路设计

Duplicate reference designator:
  重复参考标号
  解决:重新注释

7.5 网表一致性检查

7.5.1 原理图-PCB同步

确保PCB与原理图同步:

方法1:更新PCB
  在Eeschema: Tools → Update PCB from Schematic

方法2:更新原理图
  在Pcbnew: Tools → Update Schematic from PCB

方法3:交叉对比
  运行DRC时选择"Test for parity"

7.5.2 常见不一致问题

Missing footprint:
  原理图符号缺少对应的PCB封装
  
Extra footprint:
  PCB中有原理图中不存在的封装
  
Net mismatch:
  网络连接不一致
  
Value mismatch:
  元器件值不匹配

7.6 3D检查

7.6.1 使用3D查看器验证

打开3D查看器:
  View → 3D Viewer 或 Alt+3

检查内容:
- 元器件高度冲突
- 连接器对接空间
- 散热片高度
- 机械外壳配合

7.6.2 碰撞检测

3D查看器中检查:
- 元器件是否相互碰撞
- 高度元器件是否超出限制
- 连接器是否有足够空间

7.7 制造性检查

7.7.1 常见制造要求

PCB制造商典型要求:

最小线宽/间距:
  标准工艺:0.15mm / 0.15mm
  高精度工艺:0.1mm / 0.1mm

最小钻孔:
  标准工艺:0.3mm
  高精度工艺:0.2mm

最小环宽:
  标准:0.15mm
  推荐:0.2mm

阻焊桥:
  最小:0.1mm

铜到板边:
  最小:0.25mm

7.7.2 面向制造的设计检查清单

□ 线宽符合制造商要求
□ 间距符合制造商要求
□ 钻孔尺寸符合要求
□ 板框封闭且没有自交叉
□ 没有孤立的铜皮
□ 丝印不覆盖焊盘
□ 阻焊开窗正确
□ V-Cut/邮票孔位置合理
□ 定位孔位置正确
□ 所有元器件有封装

7.8 设计审查最佳实践

7.8.1 审查流程

第一阶段:原理图审查
1. 检查电气连接逻辑
2. 验证元器件参数
3. 运行ERC
4. 检查封装分配

第二阶段:布局审查
1. 检查元器件布局
2. 验证关键信号路径
3. 检查热管理
4. 运行DRC

第三阶段:制造审查
1. 检查制造规则
2. 验证丝印可读性
3. 检查装配考虑
4. 审核BOM

第四阶段:最终检查
1. 3D检查
2. 生成Gerber
3. 在Gerber查看器验证
4. 文档完整性检查

7.8.2 常见设计错误

原理图错误:
- 未连接的引脚
- 错误的电源连接
- 缺少去耦电容
- 引脚类型配置错误

布局错误:
- 元器件间距不足
- 走线过细
- 过孔放置不当
- 覆铜连接不良

制造错误:
- 丝印覆盖焊盘
- 阻焊桥过窄
- 板框不完整
- 钻孔过密

7.9 命令行DRC

7.9.1 使用kicad-cli运行DRC

# 运行PCB DRC
kicad-cli pcb drc \
    --output report.json \
    --format json \
    --severity-all \
    myproject.kicad_pcb

# 运行原理图ERC
kicad-cli sch erc \
    --output erc_report.json \
    --format json \
    myproject.kicad_sch

7.9.2 CI/CD集成

# GitLab CI示例
drc-check:
  stage: verify
  script:
    - kicad-cli pcb drc --output drc.json --format json board.kicad_pcb
    - python check_drc.py drc.json
  artifacts:
    reports:
      junit: drc-report.xml

7.10 本章小结

本章详细介绍了KiCad的设计规则检查和验证功能:

  1. DRC概述:了解了设计规则检查的重要性和KiCad的DRC功能。

  2. 规则配置:学会了配置约束规则、网络类和自定义规则。

  3. 运行DRC:掌握了运行DRC检查和理解结果的方法。

  4. ERC检查:了解了电气规则检查的配置和使用。

  5. 一致性检查:学会了保持原理图和PCB同步的方法。

  6. 3D检查:了解了使用3D查看器进行可视化验证。

  7. 制造性检查:掌握了面向制造的设计检查要点。

  8. 最佳实践:了解了设计审查的流程和常见错误。

  9. 命令行工具:学会了使用命令行运行DRC检查。

通过本章的学习,读者应该能够全面验证PCB设计,确保设计的正确性和可制造性。在下一章中,我们将学习KiCad的电路仿真功能。


posted @ 2026-01-10 13:17  我才是银古  阅读(21)  评论(0)    收藏  举报