Altium Designer Gerber文件导出全攻略:从参数解析到实战避坑

第一次在Altium Designer里点击"导出Gerber"按钮时,那种面对二十多个勾选项的手足无措感,相信每个PCB工程师都记忆犹新。去年我们团队就曾因为一个勾选失误,导致整批500片PCB的阻焊层全部错位,直接损失近十万元。本文将用血泪教训换来的经验,带你穿透那些晦涩的层名称,直击Gerber输出的核心逻辑。

1. Gerber各层物理意义深度解码

1.1 阻焊层(Solder Mask)的负片哲学

很多工程师对 solder mask 存在根本性误解——这不是"要涂绿油"的层,而是"不要涂绿油"的层。 阻焊层采用负片逻辑 :你在该层绘制的图形,实际效果是去除该区域的绿油。例如:

| 设计操作                  | 实际板卡表现               |
|---------------------------|---------------------------|
| 在Top Solder层画矩形      | 该区域裸露铜箔,可焊接     |
| 未在Solder层做任何绘制    | 默认覆盖绿油绝缘层         |

典型错误案例:某工程师将整条走线复制到阻焊层,以为能"保护走线",结果导致整条走线裸露氧化。正确做法是仅在焊盘位置保留阻焊开窗,常规走线无需特别处理。

1.2 钢网层(Paste Mask)的精密控制

与阻焊层不同, paste mask 直接决定SMT钢网的开孔位置和尺寸。关键参数对照:

# 推荐钢网层尺寸算法(针对0402及以上元件)
def paste_mask_size(pad_size):
    if pad_size[0] <= 0.5:  # 单位mm
        return pad_size * 0.95  # 微缩5%防锡珠
    else:
        return pad_size * 1.05  # 放大5%增加上锡量

注意:BGA封装需要特殊处理,通常采用十字分割或网格开孔,避免焊接时产生气孔。

1.3 钻孔文件的现代演进

传统 Drill Drawing Drill Guide 层在数控时代已简化,但新型 Drill Table 成为必备项。建议配置:

  • 使用 NC Drill Files 生成 .drl 文件
  • 勾选 Tool Sequence 优化钻孔路径
  • 添加 Drill Symbol 图例(直径≥0.3mm)

2. 六步导出完美Gerber文件集

2.1 层选择矩阵配置

Gerber Setup 的Layers标签页,按此原则勾选:

1. **必须输出层**:
   - [x] Top/Bottom Layer
   - [x] Top/Bottom Solder Mask
   - [x] Top/Bottom Paste Mask
   - [x] Top/Bottom Overlay

2. **可选层**:
   - [ ] Drill Guide (数控时代可不选)
   - [√] Mechanical 1 (板外形层)
   - [√] Keep-Out Layer (禁布区)

3. **高级选项**:
   - [√] Include unconnected mid-layer pads
   - [ ] Board edge only (拼板时需要关闭)

2.2 光圈设置避坑指南

遇到 Aperture errors 报警时,优先尝试:

  • Advanced 标签页勾选 Embedded apertures(RS274X)
  • 或手动添加 G54D10* 格式的光圈定义
  • 禁用 Software Arcs 选项(某些板厂CAM软件兼容性问题)

2.3 钻孔文件黄金参数

NC Drill Setup 对话框中关键设置:

  • 单位:选择与Gerber一致(毫米/英寸)
  • 格式:2:5(最高精度)
  • 前导/后导零:保持与Gerber相同
  • 勾选 Generate Drill Report (含孔数量统计)

3. 板厂反馈问题诊断手册

3.1 阻焊桥断裂分析

当板厂反馈"solder mask bridge broken"时,检查:

  • 阻焊扩展参数(通常设为0.1mm)
  • 相邻焊盘中心距是否小于2倍焊盘半径
  • 是否存在非常规形状焊盘(如椭圆形)

解决方案矩阵:

问题类型 修复方法 参数调整建议
标准QFP封装 减小阻焊扩展值 Solder Mask → 0.05mm
高密度BGA 启用Tented Via 勾选Tented Vias选项
异形连接器 手动绘制阻焊图形 使用Polygon工具

3.2 钢网开孔异常处理

收到"SMT贴片不良"反馈后的排查流程:

  1. 对比 Paste Mask Top Layer 焊盘位置偏差
  2. 检查是否存在未定义的 Paste Mask Expansion 规则
  3. 验证特殊器件(如QFN)的钢网开孔策略

关键技巧:使用3D视图切换 Paste Mask 可见性,直观检查开孔覆盖情况。

4. 高级技巧:Gerber 274X vs 274D

4.1 格式选择决策树

graph TD
    A[板厂要求?] -->|有明确要求| B[按板厂指定]
    A -->|无要求| C{板卡复杂度}
    C -->|简单双面板| D[274D]
    C -->|HDI/盲埋孔| E[274X]

虽然不能展示mermaid图表,但我们可以用文字描述选择逻辑:对于简单双面板,274D格式足够;当设计包含盲埋孔或高密度走线时,274X的嵌入式光圈特性更可靠。与板厂确认前,优先选择274X格式。

4.2 生成文件完整性检查

完整Gerber文件包应包含:

  • .GTL / .GBL (顶层/底层走线)
  • .GTS / .GBS (阻焊层)
  • .GTP / .GBP (钢网层)
  • .GMx (机械层)
  • .TXT (钻孔数据)
  • .DRR (钻孔报告)
  • .IPC (网表校验文件)

用免费工具如[Gerber Viewer]快速验证文件完整性(注:此处不提供具体工具名称,读者可自行搜索主流查看器)。

5. 实战演练:四层板完整输出流程

5.1 层叠结构映射

假设我们有如下层叠:

1. Top Layer (信号)
2. GND Plane (负片)
3. Power Plane (负片)
4. Bottom Layer (信号)

对应Gerber输出策略:

  • 负片层需转换为 Positive 输出
  • 添加 Layer Pairs 定义( File → Layer Stack Manager
  • 电源层单独输出 Plane Report

5.2 特定设计处理

阻抗控制线处理:

  • 在阻焊层保持完整覆盖
  • 添加 Impedance Note 到机械层
  • 输出 Stackup Report 供板厂参考

射频信号处理:

  • 禁用阻焊开窗(减少阻抗突变)
  • 钢网层做避让处理(防止锡膏影响性能)
  • 添加 Antenna Keepout 标注

6. 自动化脚本提升效率

6.1 输出脚本示例

创建 File → Script 运行以下代码片段:

Procedure GenerateGerbers;
Begin
    ResetParameters;
    AddStringParameter('Format','274X');
    AddStringParameter('Layers','All');
    RunProcess('CAMtastic:ExportGerber');
End;

6.2 批量处理技巧

设置 Output Job 文件实现:

  1. 一键生成Gerber+钻孔+IPC网表
  2. 自动打包ZIP压缩包
  3. 附加设计规范检查报告

.OutJob 文件保存为模板,后续项目直接调用。

最后分享一个真实教训:某次提交生产前,我习惯性地勾选了所有机械层,结果板厂将注释文字也当作了外形切割线。现在我的工作流程中,必定会先用ViewMate工具做最终视觉确认,这个额外步骤多次拯救了即将犯错的我。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐