1. 项目概述:从PCB文件到生产文件的必经之路
作为一名在硬件行业摸爬滚打多年的工程师,我深知从原理图到一块实打实的电路板,中间最让人提心吊胆的环节,往往不是设计本身,而是把设计文件交给工厂的那一刻。你可能会想,我辛辛苦苦用Protel DXP(现在更多人用它的升级版Altium Designer)画好的PCB,直接发过去不就行了?为什么老鸟们总是不厌其烦地强调要自己生成Gerber文件再发板?这绝不是“多此一举”,而是用一点前置的繁琐,换来后期巨大的安心和可控性。今天,我就结合自己踩过的坑和积累的经验,把用Protel DXP生成Gerber文件这个看似基础,实则门道不少的操作,掰开揉碎了讲清楚。
简单来说,Gerber文件是PCB生产界的“普通话”或“工程图纸”。你把PCB源文件(.PcbDoc)直接给工厂,相当于把CAD源文件给了建筑队,他们用的软件版本、设计规则理解、甚至显示颜色设置都可能跟你不一样,最后做出来的东西可能“形似神不似”。而Gerber文件是一种光绘机(一种高精度“打印机”)能直接读取的国际标准格式,它精确描述了每一层铜箔、阻焊、丝印的形状和位置。你自己来转换,就等于你亲自把设计意图“翻译”成了工厂毫无歧义的生产指令,确保了“所见即所得”。这个过程,是工程师掌握生产主动权、避免沟通成本和返工风险的关键一步。
2. 核心概念解析:Gerber与PCB各层到底是什么?
在动手操作之前,我们必须先理解几个核心概念。这能让你在设置时心里有底,知道每一个选项背后的意义,而不是机械地跟着教程点下一步。
2.1 Gerber文件的本质:生产的“底片”
你可以把Gerber文件理解成过去照相用的胶片。PCB工厂的光绘机就像一台高级放大机,它读取Gerber文件里的数据,控制激光在感光菲林(胶片)上曝光,最终得到每一层电路图形的“底片”。这些底片随后用于制作PCB生产中的各种网版,比如蚀刻用的干膜、印刷阻焊油墨的网版等。
Gerber主要有两种格式:RS-274-D和RS-274-X。前者是基本格式,需要一个额外的“光圈表”(D-Code文件)来定义图形中各种线条和焊盘的尺寸形状;后者是扩展格式,把光圈信息直接集成在了文件里。Protel DXP生成的是RS-274-X格式,这大大简化了文件管理,避免了因遗漏D码文件导致的错误,是我们推荐使用的格式。
2.2 Protel DXP中的图层世界:不只是画线
很多新手容易混淆软件里的图层和实际生产的层次。Protel DXP的图层管理(Design -> Board Layers & Colors)是个非常强大的工具,但我们需要明确哪些层需要输出给工厂,哪些只是设计辅助。
信号层(Signal Layers):即我们常说的布线层。Top Layer(顶层)和Bottom Layer(底层)是必须的。对于四层板,还会有Mid-Layer1, Mid-Layer2等中间信号层。这些层上的铜皮走线,最终会变成PCB上的导电通道。
机械层(Mechanical Layers):这是最容易出问题的地方。机械层通常用来定义板子的物理外形、尺寸、内部镂空槽、定位孔、装配说明等。你需要指定一个(或多个)机械层作为板框层。工厂会根据这一层的数据来切割板子。务必确保板框是一个封闭的轮廓线,通常放在
Mechanical 1层。阻焊层(Solder Mask Layers):包括Top Solder和Bottom Solder。这是关键!阻焊层定义的是“不开窗”的地方,即覆盖绿油(或其他颜色阻焊漆)的区域。而焊盘和过孔在阻焊层上默认是“负片”显示(即被挖空),让铜皮露出来以便焊接。所以,你看到的阻焊层图形,通常是整片覆盖,上面有很多对应焊盘的小洞。这个层必须提供。
锡膏防护层(Paste Mask Layers):包括Top Paste和Bottom Paste。这个层只针对表面贴装(SMD)元件,用于制作刷锡膏的钢网。它定义了锡膏应该被印刷到的位置。对于纯插件(THT)的板子,或者你不打算做钢网的话,这个层可以不用提供给PCB厂,但生成Gerber时通常一并输出以备不时之需。
丝印层(Silkscreen Layers):包括Top Overlay和Bottom Overlay。就是板子上的白色(或其他颜色)文字和图标,用于标注元件位号、版本号、公司Logo等。注意:务必检查丝印不要压在焊盘上,否则可能导致焊接不良。
钻孔层(Drill Layers):这是独立于图形层的重要数据。它告诉工厂在哪里钻孔,钻多大的孔。Protel DXP会生成两种钻孔文件:钻孔图(Drill Drawing)和钻孔表(Drill Guide),以及最重要的数控钻孔数据(NC Drill Files)。NC Drill文件是必须的。
禁止布线层(Keep-Out Layer):这个层在设计中用于定义电气布线的边界,但通常不作为生产文件输出。板子的实际外形应该由机械层定义。
重要心得:在输出Gerber前,我强烈建议你通过快捷键
L打开图层显示设置,然后仅打开某一层,在PCB视图下反复检查。比如,只打开Top Layer,看看走线和焊盘是否完整;只打开Top Overlay,检查丝印位置和清晰度。这是发现潜在错误(如走线残留、丝印错位)最有效的方法。
3. 生成Gerber文件的详细操作流程
现在我们进入实战环节。假设你已经完成了一个双面PCB的设计,并且进行了DRC(设计规则检查)无误。
3.1 第一步:前期检查与设置
在生成Gerber之前,有两个地方必须检查:
- 单位统一:确保你的PCB设计是在公制(Metric)还是英制(Imperial)下完成的。通常在原理图库和PCB库阶段就要统一。国内工厂常用公制(毫米),但Gerber文件传统上多用英制(英寸)。这需要你根据习惯和工厂要求确定,但在整个转换过程中必须保持一致。
- 原点设置:编辑 -> 原点 -> 设置。将坐标原点设置在你的板子左下角或某个定位孔上。这能让生成的Gerber文件坐标整齐,方便工厂对齐各层。不设置的话,原点可能在随机位置。
3.2 第二步:启动Gerber输出向导
点击菜单栏:File -> Fabrication Outputs -> Gerber Files。这时会弹出Gerber设置的主对话框,包含多个标签页。
3.3 第三步:通用参数设置(General Tab)
这是精度设定的核心。
- 单位(Units):选择
Inches(英制)。虽然我们设计时可能用毫米,但Gerber标准及多数光绘机处理英制更为普遍,精度设置也更灵活。 - 格式(Format):选择
2:5。这个X:Y格式定义了坐标数据的整数位和小数位。2:5表示坐标值有2位整数和5位小数(以英寸为单位)。这是最高精度之一,允许的最小分辨率为0.00001英寸(即0.254微米),足以满足绝大多数PCB工艺要求。2:4(0.1 mil)精度也很常用,可与工厂确认。
参数选择逻辑:为什么选2:5?这涉及到制造精度。1 mil(千分之一英寸)等于0.0254毫米。2:5格式的小数部分有5位,即可以表示0.00001英寸,约等于0.25微米。而目前主流PCB厂的最小线宽/线距能力在3-4 mil(0.076-0.1mm)左右,钻孔精度在0.1mm左右。2:5的精度远远高于这个要求,确保了数据在转换过程中不会因为精度损失而产生变形。如果板子非常复杂、密度极高,使用高精度格式是安全的。
3.4 第四步:图层选择(Layers Tab)
这是最关键的一步,决定了输出哪些层。勾选Plot Layers下的Used On,然后手动核对和调整。不要完全依赖“Used On”。 对于一个标准双面板,你需要输出的层如下:
| 需要输出的层 | 对应Protel中的层 | 说明 |
|---|---|---|
| 顶层线路 | Top Layer | 必须 |
| 底层线路 | Bottom Layer | 必须 |
| 顶层阻焊 | Top Solder Mask | 必须 |
| 底层阻焊 | Bottom Solder Mask | 必须 |
| 顶层丝印 | Top Overlay | 必须(如需顶层丝印) |
| 底层丝印 | Bottom Overlay | 必须(如需底层丝印) |
| 板外形层 | 例如Mechanical 1 | 必须!用来定义板子切边形状。 |
| 多层焊盘 | Multi-Layer | 非常重要!这个层包含了所有通孔焊盘(包括插件孔和过孔)在所有层上的形状。输出它,才能确保阻焊层对孔的开窗正确。 |
| 钻孔引导层 | Drill Guide | 可选,生成钻孔位置示意图。 |
| 钻孔图层 | Drill Drawing | 可选,生成钻孔尺寸示意图。 |
注意:
Keep-Out Layer通常不要勾选输出,除非你明确用它作为板框(不推荐)。- 在右侧
Mirror Layers(镜像层)列表里,通常全部保持不勾选。除非工厂有特殊要求(例如要求底层视图镜像),否则镜像操作应由光绘机软件完成,我们提供正视图即可。 - 下方
Include unconnected mid-layer pads(包含未连接的中间层焊盘)对于双面板无需考虑。
3.5 第五步:光圈设置(Apertures Tab)
确保Embedded apertures (RS274X)被勾选。如前所述,这会将光圈表嵌入每个Gerber文件,生成RS-274-X格式,避免单独管理D码文件的麻烦。这是默认且推荐的选择。
3.6 第六步:高级设置与钻孔数据
- 钻孔绘制图(Drill Drawing Tab):这里设置钻孔示意图的格式。保持
Plot all used layer pairs(绘制所有使用的钻孔层对)勾选。在Drill Drawing Symbols(钻孔图符号)下选择一种标记符号(如Size of hole string),并设置合适的符号大小,以便在钻孔图上清晰区分不同孔径。 - 钻孔向导(Drill Guide Tab):与钻孔绘图类似,通常保持默认即可。
- 其他标签页:如
Pad Master等,在绝大多数情况下无需改动,保持默认设置。
生成钻孔文件(NC Drill):这是独立的一步。关闭Gerber设置对话框(点击OK后,软件会生成Gerber文件并打开一个CAMtastic!视图)。然后,你需要再次点击:File -> Fabrication Outputs -> NC Drill Files。 在弹出的NC Drill设置中:
- 单位(Units)和格式(Format)必须与刚才Gerber设置完全一致(例如 Inches 和 2:5)。
- 其他选项通常默认即可。
- 点击OK,会提示你设置钻孔文件的后缀,默认即可,再次点击OK生成。
3.7 第七步:文件生成与查看
完成上述步骤后,软件会在你项目目录下自动创建一个Project Outputs for [项目名]的文件夹,里面包含了所有生成的Gerber文件和一个.cam文件。 每个文件的后缀名都有特定含义,了解它们能帮你快速核对:
| Gerber文件后缀 | 对应层 |
|---|---|
.GTL | Top Layer(顶层线路) |
.GBL | Bottom Layer(底层线路) |
.GTS | Top Solder Mask(顶层阻焊) |
.GBS | Bottom Solder Mask(底层阻焊) |
.GTO | Top Overlay(顶层丝印) |
.GBO | Bottom Overlay(底层丝印) |
.GMx或.GML | Mechanical Layer x(机械层x,如板框) |
.GPT | Top Paste Mask(顶层锡膏) |
.GPB | Bottom Paste Mask(底层锡膏) |
.TXT或.DRR | NC Drill File(钻孔报告) |
.DRILL | NC Drill File(钻孔数据) |
重要检查:不要急着发文件!用Protel DXP自带的CAM编辑器(就是生成的.Cam文件)或免费的第三方Gerber查看器(如GC-Prevue、GerbView)打开所有生成的文件,一层层叠加检查。重点看:
- 各层对齐是否准确。
- 板框层(机械层)是否完整闭合。
- 阻焊层是否正确地露出了所有需要焊接的焊盘。
- 丝印是否有重叠、缺失或跑到焊盘上。
- 钻孔文件是否包含所有孔。
4. 不同板型的输出层配置与实战要点
掌握了双面板的输出,其他层数的板子只是在此基础上的增减。
4.1 四层板(典型叠层:Top - GND - PWR - Bottom)
四层板在双面板输出的图层基础上,需要增加中间层。在Gerber设置的Layers标签页下,你会在Plot Layers列表中看到Mid-Layer1和Mid-Layer2(假设你的内层是信号层),或者Internal Plane 1和Internal Plane 2(如果内层是负片电源地层)。
- 对于正片内层(Mid-Layer):像顶层底层一样,直接勾选
Mid-Layer1和Mid-Layer2即可。它们会生成扩展名为.G1,.G2的文件。 - 对于负片内层(Internal Plane):负片层的输出需要特别注意。负片表示铜皮是默认存在的,图形(划线)表示的是“无铜”的区域(即分割线或隔离带)。在输出Gerber时,软件会自动处理。你只需要勾选对应的
Internal Plane层。它会生成如.GP1,.GP2的文件(P代表Plane)。 - 必须输出的层清单(四层板示例):
.GTL(Top Layer).G1(Mid-Layer 1).G2(Mid-Layer 2).GBL(Bottom Layer).GTS,.GBS(阻焊层).GTO,.GBO(丝印层,如有).GMx(机械层/板框层).GPT,.GPB(锡膏层,可选).TXT&.DRILL(钻孔文件)- 以及最重要的:
Multi-Layer
4.2 单面板与多层板
- 单面板:通常只有底层(Bottom Layer)是布线层,顶层(Top Layer)可能只放元件。那么只需要输出
.GBL(底层线路)、.GBS(底层阻焊)、.GTO(顶层丝印,标注元件位置)、板框层和钻孔文件。顶层阻焊(.GTS)可能不需要,除非顶层有需要焊接的贴片元件。 - 六层及以上多层板:原理相同,在
Layers标签页中勾选所有使用到的信号层和内电层即可。务必仔细核对层序,最好在图纸上用文字注明层叠结构(如:L1-Top, L2-GND, L3-Signal, L4-Signal, L5-PWR, L6-Bottom),并随Gerber文件一起发给工厂。
4.3 包含盲埋孔的设计
如果设计使用了盲孔(Blind Via,从表层到内层不通到底)或埋孔(Buried Via,内层到内层),Gerber输出流程本身没有变化,因为孔的信息都包含在.DRILL钻孔文件中。但是,你必须在给工厂的制板说明中,清晰、明确地指出盲埋孔的结构,例如:“1-2层盲孔,孔径0.2mm;2-5层埋孔,孔径0.25mm;1-6层通孔,孔径0.3mm”。通常,专业的PCB工厂CAM工程师会根据你的叠层结构和钻孔文件来判断,但明确的文字说明能杜绝误解。
5. 输出后的检查、打包与交付标准
生成文件只是第一步,严格的自我审查是保证一次成功的关键。
5.1 使用CAM编辑器进行交叉检查
Protel DXP生成的.CAM文件是一个很好的检查工具。打开后,你可以:
- 分层显示/隐藏:单独查看每一层,检查图形完整性。
- 层叠对齐检查:同时显示所有层,检查不同层之间的对位关系,特别是孔盘(Pad)和钻孔(Drill)是否同心,阻焊开窗是否比焊盘大一圈(通常单边大0.1mm)。
- 测量工具:使用测量工具确认关键尺寸,如板框大小、间距等是否符合设计。
5.2 文件打包规范
发给工厂前,将输出文件夹内的所有Gerber文件(.GTL, .GBL, .GTS, .GBS, .GTO, .GBO, .GM1, .GPT, .GPB等)和钻孔文件(.TXT和.DRILL)打包成一个ZIP或RAR压缩包。强烈建议在压缩包内包含一个简单的文本说明文件(如README.txt或制板说明.txt),内容应包括:
- PCB板厚:例如1.6mm。
- 板材类型:例如FR-4,TG值(如TG150)。
- 铜厚:例如1oz(35μm)。
- 阻焊颜色:例如绿色。
- 丝印颜色:例如白色。
- 表面工艺:例如有铅喷锡(HASL)、无铅喷锡、沉金(ENIG)、OSP等。
- 层叠结构(对于多层板):明确说明每一层是什么。
- 特殊工艺要求:如阻抗控制要求、金手指、碳膜按键、半孔(邮票孔)等。
- Gerber格式说明:单位、格式(如英制2:5),以及板框在哪一层(如
Mechanical 1)。
5.3 与工厂的预先沟通
对于第一次合作的新工厂,或者做了复杂工艺的板子,在正式投板前,可以将Gerber文件先发给工厂的客服或工程人员做一次前期工程审查(DFM Check)。他们能从生产工艺角度发现一些你可能忽略的问题,比如线宽线距是否满足其产能、孔距是否太近、阻焊桥是否足够等。这是一个非常好的习惯,能有效降低风险。
6. 常见问题排查与实战避坑指南
即使按照流程操作,也可能会遇到各种问题。这里记录了一些典型坑点和解决方法。
6.1 问题一:生成的Gerber文件用查看器打开,发现焊盘缺失或变形。
- 可能原因:没有输出
Multi-Layer层。这个层包含了所有穿透式焊盘(通孔焊盘)在所有层上的形状。如果缺失,在查看Gerber时,通孔焊盘在顶层(.GTL)和底层(.GBL)上可能只显示为过孔(Via)的小孔,而没有焊环。 - 解决方案:在输出Gerber的
Layers标签页,务必勾选Multi-Layer。
6.2 问题二:板框(外形)不显示或错误。
- 可能原因1:板框画在了
Keep-Out Layer,但输出Gerber时没有勾选该层,而机械层又没有图形。工厂无法得知板子外形。 - 解决方案1:规范做法是将板框画在指定的机械层(如Mechanical 1),并确保输出该层。
Keep-Out Layer仅用于电气限制。 - 可能原因2:板框线不是封闭的轮廓,或者用的是填充(Fill)而不是线条(Line/Arc)。
- 解决方案2:使用
Place -> Line或Place -> Arc在机械层绘制一个封闭的多边形。可以用Design -> Board Shape -> Define from selected objects来快速将选中线条定义为板形。
6.3 问题三:钻孔文件(NC Drill)与线路层对不上。
- 可能原因:生成Gerber文件和NC Drill文件时,单位和格式设置不一致。这是最致命的错误之一,会导致孔全部偏移。
- 解决方案:养成标准操作习惯。在
File -> Fabrication Outputs -> Gerber Files和File -> Fabrication Outputs -> NC Drill Files的两个设置对话框中,确保Units和Format的数值一模一样。建议统一使用Inches和2:5。
6.4 问题四:阻焊层看起来把焊盘盖住了。
- 可能原因:这是正常的视觉混淆。阻焊层(Solder Mask)是“负片”输出。在Gerber文件中,有图形的地方是“覆盖绿油”,空白(无图形)的地方才是“开窗露铜”。所以,当你查看
.GTS或.GBS文件时,看到一整片绿色(代表阻焊层),上面有黑色的小洞,那些洞正好对应焊盘的位置,这才是正确的。如果焊盘位置被填实了,那才是错误。 - 检查方法:在CAM查看器中,将线路层(如.GTL)和阻焊层(如.GTS)叠加显示。你应该看到阻焊层上的开窗比线路层上的焊盘每边大一点点(通常称为“阻焊扩展”Solder Mask Expansion,在PCB规则中设置),以确保焊盘完全暴露。
6.5 问题五:发给工厂后,对方反馈缺少某层文件或无法识别。
- 可能原因:文件命名不规范或使用了非常规后缀。虽然Protel有默认命名规则,但有些工厂的CAM系统可能对后缀名敏感。
- 解决方案:在打包前,按照行业通用惯例(见上文表格)核对文件名。如果工厂有明确要求,可以按其要求重命名。在
README.txt中注明各文件对应层。最稳妥的方式是,输出Gerber时,在最后一个设置页面(“高级”或“生成前”的总结页面),将文件格式设置为RS274X并勾选“包含层名称在文件名中”,这样生成的文件名会自带层描述,更清晰。
最后,再分享一个我个人的工作流小技巧:我为每一个PCB项目都建立一个Release文件夹。在最终输出生产文件时,我会将当次发布的所有文件(包括Gerber、钻孔文件、BOM清单、装配图、制板说明)都放在以版本号命名的子文件夹里,例如V1.2_20231027。这样不仅管理清晰,一旦生产发现问题,也能立刻回溯到当时的确切文件,便于排查。硬件设计,细节决定成败,而规范的文件输出,正是把控细节的第一步。自己动手生成和检查Gerber,是你从设计者迈向产品负责人的重要一课。