1. 项目概述:为什么Gerber文件是PCB制造的“普通话”
在电子硬件开发领域,完成一块PCB的设计只是万里长征的第一步。当你把精心绘制的.PcbDoc文件发给板厂,得到的回复很可能是:“请提供Gerber文件。”对于很多刚接触Altium Designer(简称AD)的工程师,尤其是学生和初级硬件工程师来说,从设计文件到生产文件的转换,常常是第一个让人感到困惑的环节。为什么不能直接发PCB源文件?Gerber到底是什么?AD里那么多选项该怎么选?
简单来说,Gerber文件是PCB行业的“普通话”和“工程蓝图”。它是一套标准化的光绘文件格式,用于描述PCB每一层的图形信息,如走线、焊盘、丝印、阻焊等。板厂的生产设备(如光绘机、钻孔机)只认Gerber文件。直接发送.PcbDoc或.SchDoc等源文件存在诸多风险:一是可能泄露你的核心设计源图与知识产权;二是不同版本的EDA软件可能存在兼容性问题,导致板厂打开后图层错乱;三是源文件中包含的大量设计规则、未使用的库元件等冗余信息,并非生产所需。
因此,掌握正确生成Gerber文件的方法,是硬件工程师从设计走向生产的必备技能。本教程将基于Altium Designer 18这一经典且用户基数庞大的版本,为你拆解从参数设置到文件输出的全流程,并深入解释每一个选项背后的含义。无论你用的是AD16、AD19还是更新的AD24,其核心逻辑和步骤都是相通的,本教程的经验将帮助你建立一套稳固且可迁移的方法论。
2. 核心思路与文件输出框架解析
在点击“生成Gerber”按钮之前,我们需要建立一个清晰的认知框架:我们到底要输出哪些文件?这些文件分别对应PCB的哪个部分?AD的Gerber输出设置界面看似复杂,实则逻辑清晰,可以归纳为“一个核心,两类文件,多层输出”。
一个核心:即“Gerber Setup”对话框,这是所有输出的总控制台。其核心思想是“一层一文件”,即PCB的每一个物理或逻辑层,都需要单独输出为一个Gerber文件。
两类文件:
- 光绘文件(Gerber Files):用于描述各层图形,扩展名通常是
.GTL(顶层)、.GBL(底层)、.GTO(顶层丝印)等。这是生产的核心。 - 钻孔文件(NC Drill Files):用于描述PCB上所有孔(通孔、盲埋孔)的位置和大小,扩展名是
.TXT和.DRL。这是钻孔机的指令集。
多层输出:一个典型的双层板,至少需要输出以下文件集合:
- 线路层:顶层(Top Layer)、底层(Bottom Layer)。
- 丝印层:顶层丝印(Top Overlay)、底层丝印(Bottom Overlay,如果有)。
- 阻焊层:顶层阻焊(Top Solder Mask)、底层阻焊(Bottom Solder Mask)。定义“哪里不盖绿油”,露出焊盘。
- 助焊层/钢网层:顶层助焊(Top Paste Mask)、底层助焊(Bottom Paste Mask)。用于制作SMT钢网,定义“哪里要涂锡膏”。
- 机械层/边框层:通常指定一个机械层(如Mechanical 1)作为板框(Board Outline)。
- 钻孔图与钻孔文件:钻孔图(Drill Drawing)提供视觉参考,钻孔文件(NC Drill)提供机器数据。
理解了输出什么,我们再来看AD中如何组织。AD的Gerber输出功能位于文件(File) -> 制造输出(Fabrication Outputs) -> Gerber Files。打开后,你会看到一个多选项卡的对话框,接下来的所有操作都将在此进行。我们的目标就是正确配置每一个选项卡,确保输出的文件集合完整、准确,能被板厂无缝识别。
3. 分步详解Gerber文件生成全流程
3.1 通用参数设置:奠定输出基础
首先进入的是“通用(General)”选项卡。这里的设置适用于所有输出的Gerber层,是全局性的基础配置。
- 单位(Units):选择“英寸(Inches)”。虽然国内公制更常用,但PCB制造行业(尤其是钻头规格、光绘机)传统上以英制为主,选择英寸兼容性最好。
- 格式(Format):选择“2:5”。这表示坐标数值的格式为“整数位:小数位”,即2位整数,5位小数。2:5格式提供了足够高的精度(0.00001英寸,约0.25微米),能满足绝大多数高精度板的要求。格式“2:4”或“2:3”精度较低,不推荐在高密度设计中采用。
注意:单位与格式必须与后续钻孔文件的设置完全一致,否则会导致孔位对不上,造成灾难性错误。这是第一个需要牢记的检查点。
3.2 分层输出配置:定义每一层的“画像”
这是最核心的步骤,在“层(Layers)”选项卡中完成。你需要手动选择哪些层需要被输出为Gerber文件。点击“绘制层(Plot Layers)”旁边的下拉菜单,选择“使用的层(Used On)”,AD会自动列出你PCB中用到的所有层。但这还不够,我们需要仔细核对和添加。
- 添加必要的机械层:在层列表下方,找到“机械层(Mechanical Layers)”区域。你需要至少勾选一个机械层(例如
Mechanical 1)用于输出板框。请确保你在PCB设计中,已将板子的外形轮廓绘制在选定的这个机械层上。 - 镜像层处理:通常,底层(Bottom Layer)和底层丝印(Bottom Overlay)需要勾选“镜像(Mirror)”选项。因为从制造角度看,底层是从PCB的底部向上看的视图,输出时需要镜像,这样光绘文件才能正确对应。
- 包含未连接中间层焊盘:对于多层板,在中间信号层(Mid-Layer)的设置中,建议勾选“包含未连接的中间层焊盘(Include unconnected mid-layer pads)”。这能确保即使某个过孔在该层没有电气连接,其焊盘也会被绘制出来,保证孔环的完整性。
一个典型的双层板层设置示例如下:
Top Layer- 勾选Bottom Layer- 勾选,并勾选“镜像”Top Overlay- 勾选Bottom Overlay- 勾选,并勾选“镜像”Top Solder Mask- 勾选Bottom Solder Mask- 勾选,并勾选“镜像”Top Paste Mask- 勾选Bottom Paste Mask- 勾选,并勾选“镜像”Mechanical 1- 勾选(假设板框在此层)
3.3 钻孔图层配置:为每个孔“建档”
切换到“钻孔图层(Drill Layers)”选项卡。这里配置钻孔图和钻孔导引图。
- 钻孔图(Drill Drawing):勾选“钻孔图(Drill Drawing Plots)”下的“所有使用的层对(Plot all used layer pairs)”。这会在Gerber中生成一个包含所有孔符号和尺寸表的图层,供人工检查用。
- 钻孔导引图(Drill Guide):通常与钻孔图设置相同即可。它在老式工艺中用于引导钻孔,现代生产中重要性下降,但输出无妨。
- 钻孔符号尺寸:保持默认或根据板子密度微调。对于孔非常密集的板子,可以适当增大符号尺寸以避免重叠。
3.4 光圈设置与高级选项:优化文件质量
- 光圈(Apertures)”选项卡:强烈建议勾选“嵌入的光圈(RS274X)”。RS274X是现代Gerber标准,它将光圈定义(D码表)嵌入到每个Gerber文件内部。这样你只需要发送
.gbr文件,板厂就能直接读取,避免了因单独发送过时的.apr光圈文件而导致的不匹配错误。这是目前最通用、最可靠的方式。 - 高级(Advanced)”选项卡:
- 前导/尾随零(Leading/Trailing Zeroes):选择“抑制前导零(Suppress leading zeroes)”。这与多数CAM软件的处理方式一致。
- 其他选项:“使用软件弧线(Use software arcs)”建议勾选,能生成更光滑的弧线;“为多边形生成负片(Generate negative planes for polygons)”仅当你在电源层使用了负片(Split/Mixed Plane)设计时才需要勾选,正片设计则不必。
完成以上所有选项卡的设置后,点击“确定(OK)”。AD会在你项目目录下自动生成一个Project Outputs for [项目名]的文件夹,并将所有Gerber文件(.GTL, .GBL, .GTO...)输出到其中。
3.5 生成钻孔文件:输出机器的钻孔指令
Gerber文件处理了图形,钻孔则需要单独生成。路径为:文件(File) -> 制造输出(Fabrication Outputs) -> NC Drill Files。
弹出的“NC钻孔设置”对话框是关键:
- 单位与格式:必须与Gerber设置严格一致!单位选“英寸(Inches)”,格式选“2:5”。
- 前导/尾随零:同样选择“抑制前导零(Suppress leading zeroes)”。
- 其他设置:通常保持默认即可。
点击“确定”后,会再次弹出一个“输入钻孔数据”对话框,直接点击“确定”。这样就会在同一个输出文件夹内生成钻孔文件(通常是一个.TXT文件和一个.DRL文件)。
4. 输出文件检查、打包与交付标准
生成文件后,工作只完成了一半。在发送给板厂前,必须进行严谨的检查。
4.1 使用AD自带CAM工具进行预览
AD内置了一个强大的Gerber查看器。在输出文件夹中,选中所有生成的.Gerber文件(不包括.Drill文件),右键选择“用CAMtastic打开(Open in CAMtastic)”。CAMtastic会自动导入并叠加所有图层。
检查要点:
- 图层对齐:检查各层是否完全对齐,特别是孔(Drill层)是否与各层的焊盘中心对齐。使用“测量”工具抽查几个关键孔位。
- 板框完整性:检查机械层输出的板框是否闭合,是否为所需形状和尺寸。
- 阻焊与焊盘:关闭除阻焊层和对应线路层外的所有层,检查阻焊层是否正确地露出了所有需要焊接的焊盘,且开窗比焊盘稍大(通常单边大0.1mm)。
- 丝印清晰度:检查丝印层文字、图形是否清晰,有无与焊盘重叠(DFM问题),位置是否正确。
4.2 文件打包与命名规范
检查无误后,需要将文件打包。标准的交付包应包含:
- 所有Gerber光绘文件(
.GTL, .GBL, .GTO, .GBO, .GTS, .GBS, .GTP, .GBP, .GM1...)。 - 钻孔文件(
.TXT和.DRL)。 - 一个简单的说明文档(Readme.txt):这是体现专业性的好习惯。内容应包括:
- 板子名称、厚度、层数、表面工艺(如沉金、喷锡)。
- 所用AD软件版本。
- Gerber单位与格式(英寸,2:5)。
- 各文件对应的图层说明(例如:
.GTL- Top Layer,.GBL- Bottom Layer...)。 - 特殊工艺要求(如阻抗控制、金手指、半孔等)。
文件命名建议:虽然AD会生成默认名,但清晰易懂的名字更好。例如:XXX_TOP_COPPER.GTL、XXX_BOTTOM_SOLDERMASK.GBS。保持压缩包(如ZIP)内的文件结构扁平化,不要包含多层嵌套文件夹。
4.3 与板厂的沟通确认
将压缩包发送给板厂客服后,不要就此结束。务必主动要求板厂工程师提供一次工程确认(Engineering Check, EQ)。正规板厂都会将处理好的Gerber文件以PDF或图片形式发回给你确认。这是最后一道,也是最重要的安全阀。你需要仔细核对EQ文件中的板框、层叠、孔径、槽孔等关键信息是否与你的设计意图完全一致。
5. 高频问题排查与实战技巧实录
即使按照教程操作,在实际项目中仍会遇到各种问题。下面是一些常见“坑点”及解决方案。
5.1 生成Gerber后外形(板框)丢失
这是最常见的问题之一。表现为在CAMtastic中打开,看不到板子的边框。
- 原因:未正确设置用于描述板框的机械层。在PCB设计中,板框可能被画在“Keep-Out Layer”或某个“Mechanical Layer”上,但在Gerber输出时,该层未被添加到输出层列表。
- 解决方案:
- 在PCB编辑界面,确认你的板框绘制在哪一层(例如
Mechanical 1)。 - 在Gerber设置的“层(Layers)”选项卡中,在“机械层(Mechanical Layers)”列表里,找到并勾选该层(如
Mechanical 1)。 - 更规范的做法是:在PCB设计阶段,就使用
设计(Design) -> 板子形状(Board Shape) -> 按照选择对象定义(Define from selected objects)来定义板型。这样,板框信息会内嵌,不易丢失。输出Gerber时,在“层”选项卡的右侧“包含板子外形(Include Board Outline)”区域,确保勾选了“从板子形状生成(From Board Shape)”。
- 在PCB编辑界面,确认你的板框绘制在哪一层(例如
5.2 丝印文字或Logo在Gerber中显示为空心框
- 原因:AD中使用的TrueType字体(如Arial, Times New Roman)或某些复杂的矢量图形,在转换为Gerber的矢量图形(线段和弧)时,如果转换精度(光圈)设置不足,就会显示为轮廓。
- 解决方案:
- 设计阶段预防:对于PCB丝印,尽量使用AD自带的
Stroke字体(如Default),这种字体本身就是由线段构成的,Gerber兼容性最好。 - 输出阶段补救:在Gerber设置的“高级(Advanced)”选项卡中,找到“TrueType字体到矢量(TrueType Fonts to Vectors)”部分。将“分辨率(Resolution)”和“线宽(Line Width)”的值调高(例如分辨率从1000调到5000,线宽从0.15mm调到0.1mm)。这会使转换更精细,但会增大文件体积。对于Logo,最好在导入AD前,在矢量软件(如Illustrator)中将其转换为轮廓并简化路径。
- 设计阶段预防:对于PCB丝印,尽量使用AD自带的
5.3 钻孔文件与Gerber文件对不上
- 原因:几乎100%是由于单位或格式不一致造成的。Gerber文件设置为“英寸,2:5”,而NC Drill文件却设置成了“毫米,2:4”。
- 解决方案:严格按照第3.1和3.5节的要求,确保Gerber和NC Drill设置中的“单位(Units)”和“格式(Format)”一字不差。在输出前,养成将这两处设置截图保存的习惯,便于核对和提供给板厂参考。
5.4 阻焊层开窗异常(该露的没露,不该露的露了)
- 原因:阻焊层(Solder Mask)在Gerber中是“负片”显示,即文件中有图形的地方是“开窗”(不盖油墨),露出铜皮;无图形的地方是“覆盖油墨”。混乱常源于对焊盘和过孔的处理规则不清晰。
- 检查与设置:
- 在PCB设计中,选中一个焊盘,在属性面板查看其“阻焊层扩展(Solder Mask Expansion)”规则。通常是按规则或手动指定一个正值(如0.1mm),这意味着阻焊开窗会比焊盘本身大一圈。
- 对于过孔,如果你希望过孔盖油(塞孔),则其阻焊层应没有开窗。这需要在过孔属性中,将“阻焊层扩展”设置为“来自规则(From Rule)”,并在PCB规则(Rules)中,为过孔设置一个特殊的、开窗为0或负值的阻焊规则。如果你希望过孔露铜(作为测试点),则其开窗应类似焊盘。
- 在CAMtastic中检查时,务必理解你看到的是“负片”效果。可以单独显示阻焊层和线路层进行叠加比对。
5.5 使用“Gerber导出向导”还是手动设置?
AD提供了“文件 -> 导出 -> Gerber”的向导功能。对于简单板或快速导出,向导可以节省时间。但对于复杂板或有特殊要求的板,强烈建议使用本文详述的手动设置方法。因为向导会隐藏很多高级选项,且其默认设置可能不符合特定板厂的要求。手动设置让你对每一个输出细节都拥有完全的控制权,出了问题也更容易追溯和调试。一旦你通过手动方式成功配置并保存好输出设置(.GerberSetup文件),以后对于类似工艺的板子,直接加载这个设置文件即可,一劳永逸。
生成Gerber文件是一项要求极度严谨和细致的工作,任何一个微小的疏忽都可能导致整批PCB报废。它考验的不仅是软件操作熟练度,更是工程师对设计与制造之间桥梁的深刻理解。最好的学习方式就是找一块简单的已验证的PCB,跟随本教程从头到尾操作一遍,然后在CAMtastic中仔细对比Gerber与原始PCB的每一个细节。当你能够独立、自信地交付一套“零问题”的Gerber文件时,你就真正掌握了从设计者到制造者的关键一跃。