1. 项目概述:从PCB文件到Gerber文件的必要性
作为一名在硬件行业摸爬滚打了十多年的工程师,我经手过的PCB设计文件少说也有几百个。早期和工厂打交道,最头疼的问题之一就是“货不对板”——明明在电脑上检查得完美无缺的PCB设计,发到工厂做回来的板子,要么丝印位置跑偏,要么阻焊开窗大小不对,甚至有过把不该露铜的地方给开窗了的惨痛经历。后来,行业里的老鸟告诉我一个秘诀:别直接发PCB源文件,一定要自己转成Gerber文件再给工厂。这个习惯我一直保持至今,无论是用Protel DXP、Altium Designer还是其他EDA工具,这都成了出板前的标准动作。今天,我就以经典的Protel DXP为例,把这个看似“多此一举”但至关重要的流程掰开揉碎了讲清楚,特别是其中那些容易踩坑的细节和参数设置背后的逻辑。
简单来说,Gerber文件是PCB制造行业的“通用语言”或“工程蓝图”。你把PCB源文件(比如.PcbDoc)直接发给工厂,相当于把Word文档给了印刷厂,印刷厂用什么版本的Word、什么字体、什么排版规则打开,最终印出来的效果可能天差地别。而Gerber文件则是将你的设计“固化”成一系列描述图形、钻孔位置和孔径的标准化指令集,任何一家正规的PCB工厂用其CAM(计算机辅助制造)软件读取,得到的结果都是一致的。这从根本上避免了因软件版本差异、设计规则理解不同、甚至工厂工程师误操作导致的生产错误。对于涉及FPGA/CPLD、MCU/嵌入式系统这类集成度高、布线复杂的板子,或者汽车电子、医疗电子这类对可靠性要求极高的领域,自己掌控Gerber文件的生成,是保证产品一致性和质量的第一步。
2. 核心概念解析:Gerber文件与PCB各层的关系
在动手操作之前,我们必须先理解Gerber文件到底是什么,以及它和我们在Protel DXP里看到的那些花花绿绿的图层是什么对应关系。很多新手觉得这一步枯燥,但这一步没搞懂,后面导出时选错层,板子就彻底废了。
2.1 Gerber文件的本质:光绘机的指令集
你可以把Gerber文件想象成给一台非常精密的“绘图仪”——光绘机——的指令清单。这台机器有一个激光头(相当于笔),在一块涂有感光材料的菲林(胶片)或直接在内层铜箔上“作画”。Gerber文件里的每一行代码,都告诉这台机器:移动到某个坐标(X,Y),打开哪个形状的“笔尖”(称为光圈D-Code),画一条线或者“曝光”一个图形。RS-274-X格式之所以成为主流,就是因为它把这个“笔尖形状库”(D码)直接打包在了文件里,避免了单独传送D码文件可能带来的不匹配问题,可靠性大大提升。我们导出时强制选择“Embedded apertures(RS274X)”就是为了生成这种一体化的、不易出错的文件。
2.2 Protel DXP图层体系深度解读
原始资料里列出了图层,但为什么这些层要这样设置?哪些必须给工厂,哪些自己留着?这里结合我的经验详细说一下:
1. 信号层(Signal Layers):这是电路的“高速公路”,承载实际的电气连接。Top和Bottom层最直观,中间层(Mid)用于复杂板子的走线。导出Gerber时,每一层信号层都会对应生成一个独立的.GTL(顶层)、.GBL(底层)或.G1,.G2…(中间层)文件。这里有个关键点:内电层(Internal Plane)如果用作负片(Negative),其Gerber生成逻辑与正片信号层不同,它描述的是“挖空”的区域。对于简单的两层板,通常只有Top和Bottom。
2. 阻焊层(Solder Mask):这是板上那层绿色的(或其他颜色的)油漆。它的作用是“防止焊接”。听起来有点反直觉?其实,阻焊层会把不需要焊接的铜皮覆盖住,只把需要焊接的焊盘露出来。所以,阻焊层Gerber(.GTS,.GBS)文件里描述的图形,实际上是“开窗”的位置。一个极易出错的点是:软件默认的阻焊层扩展(Solder Mask Expansion)规则。比如一个0.6mm直径的焊盘,阻焊开窗可能会自动扩大0.1mm,变成0.8mm直径,以确保焊盘边缘能被完全露出,方便上锡。你必须检查这个规则是否合理,对于高密度的BGA封装(常见于处理器与DSP、智能手机主控),过大的开窗可能导致焊盘之间的阻焊桥太细,容易脱落造成短路。
3. 锡膏防护层/钢网层(Paste Mask):这个层千万不能发给PCB制板厂!它是给SMT贴片厂制作钢网用的。钢网是一块有镂空的薄钢板,刷锡膏时,锡膏就透过这些镂空印到焊盘上。Paste Mask层(.GTP,.GBP)的开口通常略小于实际焊盘,以防止锡膏过多导致焊接时桥连。这和阻焊层“开窗略大于焊盘”的思路正好相反。
4. 丝印层(Silkscreen Overlay):就是板子上的白色文字和图标,用于标注元件位号、版本号、极性等。导出为.GTO,.GBO文件。注意事项:丝印绝对不能上焊盘,否则影响焊接。也要避免放在高密度的器件中间,因为后期可能根本印不上去或者看不清。很多工程师喜欢把元件参数(如104电容)也放在丝印层,如果不想它出现在成品板上,在导出Gerber前务必在PCB文件中关闭或删除这些文字。
5. 钻孔层(Drill Drawing & Drill Guide):这是描述所有钻孔(通孔、盲埋孔)位置和大小信息的层。Protel DXP会生成一个钻孔图形文件(.GD1)和一个包含所有钻孔坐标和尺寸的数控钻孔文件(.TXT或.DRL)。这是最容易出错的地方之一。必须确保钻孔文件中的孔径和类型(Plated通孔镀铜, Non-Plated非金属化孔)与设计完全一致。特别是那些用来定位的螺丝孔,如果是非金属化孔,一定要在钻孔层或单独说明中标注清楚。
6. 禁止布线层(Keep-Out Layer)与机械层(Mechanical Layers):这两层定义了PCB的物理边界和结构。禁止布线层划定了布线区域,机械层则标注了板子外形尺寸、槽孔、镂空区域等。这些信息必须包含在给工厂的Gerber文件中,通常我会把它们合并到某层(比如机械1层)一起输出,并在制板说明中特别强调。
提示:在导出前,我习惯在“Board Layers & Color”对话框中,关掉所有非必要的系统显示层(如DRC错误层、飞线层),只保留需要导出的物理层,然后在“单层模式”下逐层检查,确保每一层上该有的东西都有,不该有的东西(如多余的文本、调试图形)一个都没有。
3. Protel DXP生成Gerber文件全流程实操
理论清楚了,我们进入实战环节。假设我们已经完成了一个双层板的PCB设计,现在要导出Gerber文件发去打样。
3.1 导出前检查与准备工作
在点击那个File -> Fabrication Outputs -> Gerber Files菜单之前,有几项准备工作至关重要,能帮你省去后续80%的沟通成本。
首先,进行设计规则检查(DRC)。这不是老生常谈,我见过太多人跳过这一步,导出Gerber后才发现有未连接的网络或间距错误。在Tools -> Design Rule Check中,运行一次完整的检查,确保电气和间距规则全部通过。特别是与电源/新能源设计相关的大电流线宽、与通信模块相关的阻抗控制线(如果设计了规则),都必须在这里验证。
其次,清理工作区。确认没有游离的走线、没有画在机械层以外的板框线、没有遗留的测试点或临时图案。将所有的文本标注(如公司Logo、板子名称)放在丝印层,并调整好大小和位置,确保清晰可辨且不与其他层冲突。
最后,与PCB工厂提前沟通。这是很多资深工程师才会做的步骤。不同工厂的工艺能力(最小线宽线距、最小孔径、阻焊桥宽度)不同。在导出前,通过邮件或电话确认他们推荐的Gerber格式(通常是RS274X)、单位(英制还是公制)、精度(2:5还是2:4),以及是否需要特定的钻孔文件格式。我通常优先使用英寸(Inches)和2:5格式,因为2:5格式提供了1微英寸(0.000001英寸)的分辨率,对于绝大多数精密电路已经足够,也是行业最通用的高精度选择。
3.2 Gerber文件生成参数逐步详解
现在,我们打开Gerber设置对话框,这个界面选项不少,我们一个一个来攻克。
第一步:通用参数设置(General Tab)在“Units”中选择“Inches”。在“Format”中选择“2:5”。这个2:5是什么意思呢?它表示坐标数值使用2位整数、5位小数的格式。例如,一个坐标可以表示为X12345,即1.2345英寸。更高的精度(如2:5比2:4)意味着文件能描述更精细的图形位置,对于现代高密度板卡(如智能硬件、物联网设备的主板)是必要的。如果板子非常简单,工厂也确认支持,用2:4也可以。
第二步:图层选择(Layers Tab)—— 核心步骤,极易出错!点击“Plot Layers”下拉框,选择“Used On”。这样软件会自动勾选所有你在设计中用到的图层。但绝对不能直接点OK!你必须手动核对一遍。 对于这个双层板例子,你需要勾选和确认的层包括:
Top Layer-> 会生成.GTLBottom Layer-> 会生成.GBLTop Overlay-> 会生成.GTO(丝印顶层)Bottom Overlay-> 会生成.GBO(丝印底层,如果有的话)Top Solder-> 会生成.GTS(顶层阻焊)Bottom Solder-> 会生成.GBS(底层阻焊)Top Paste-> 会生成.GTP(顶层钢网,仅给SMT厂,不给PCB厂)Bottom Paste-> 会生成.GBP(底层钢网,仅给SMT厂,不给PCB厂)Mechanical 1-> 我习惯用这一层作为板外形层,生成.GM1Keep-Out Layer-> 如果用它画了板框,也必须勾选,或者将其内容复制到机械层。
关键操作:在右侧的“Mirror Layers”栏,确保所有层都没有被勾选“镜像”!除非你有特殊工艺要求(如底部镜面丝印),否则镜像输出会导致图形全部反向。
第三步:钻孔图层设置(Drill Drawing Tab)勾选“Drill Drawing Plots”下的“Plot all used layer pairs”。在“Drill Drawing Symbols”中,选择“Graphic symbols”图形符号,并将“Symbol size”设置为50mil左右,这样在钻孔图上看得更清楚。这个层会生成一个.GD1文件,是给人看的钻孔位置示意图。
第四步:光圈设置(Apertures Tab)—— 确保兼容性的关键务必勾选“Embedded apertures (RS274X)”。这是我们之前强调的,将D码信息内嵌,生成一个独立、完整的Gerber文件,避免任何外部依赖。永远不要使用旧的“RS-274-D”格式,除非工厂有极其特殊的要求。
第五步:高级设置(Advanced Tab)这里有一些重要的细节:
- “Leading/Trailing Zeroes”:选择“Suppress leading zeroes”(抑制前导零)。这是目前大多数CAM软件更喜欢的格式。
- “Position on Film”:选择“Reference to absolute origin”(参考绝对原点)。这能确保所有层对齐。
- “Plotter Type”:选择“Rasterized”(光栅式)和“Unsorted”。光栅式是通用格式。
- 在“Other”部分,我强烈建议勾选“Use software arcs”。这能强制软件将曲线(如圆弧焊盘)用真实的圆弧指令输出,而不是用许多小线段来模拟。这能减小文件体积,并避免某些老式光绘机可能出现的“锯齿”问题。
全部设置完成后,点击“OK”。Protel DXP会在你项目目录下自动生成一个“Project Outputs for XXX”的文件夹,里面包含了所有的Gerber文件。
3.3 输出文件清单与验证
生成后,你会在输出文件夹里看到类似下面的一堆文件:
XXX.GTL(顶层布线)XXX.GBL(底层布线)XXX.GTS(顶层阻焊)XXX.GBS(底层阻焊)XXX.GTO(顶层丝印)XXX.GBO(底层丝印)XXX.GM1(机械1层/板外形)XXX.GD1(钻孔图形)XXX.TXT或XXX.DRL(数控钻孔数据)
至关重要的验证步骤:
- 使用Gerber查看器:不要用Protel DXP自己回看!用专业的免费Gerber查看器,如GC-Prevue、Gerbv或CAM350(评估版)。用这些软件打开所有Gerber文件,逐层检查。
- 对齐检查:叠加所有层,看钻孔和焊盘是否对准,板框是否闭合。
- 丝印检查:单独查看丝印层,确认文字清晰、没有上焊盘、没有相互重叠。
- 阻焊检查:单独查看阻焊层,确认该开窗的焊盘都开了窗,特别是插件元件的焊盘。检查阻焊桥(两个相邻SMD焊盘之间的阻焊条)宽度是否足够,一般要大于4mil(0.1mm),否则工厂生产困难。
- 钻孔检查:对照钻孔图和钻孔数据文件,确认孔的数量、大小、类型是否正确。
我个人的习惯是,将所有这些Gerber文件连同钻孔文件一起打包成一个ZIP压缩包,并以“项目名称_板厚_层数_日期”的格式命名,例如PowerBoard_1.6mm_2L_20231027.zip。在发给工厂的邮件中,我还会附上一个简短的制板说明文档,列出关键参数:板厚、铜厚、阻焊颜色、丝印颜色、表面工艺(如沉金、喷锡)、是否有阻抗控制要求等。
4. 不同板型的导出层配置与实战案例
原始资料提到了两层板和四层板,但在实际项目中,我们还会遇到更多变种。这里我结合几个典型案例,详细说明该如何配置导出层。
4.1 标准双层板配置
这是最简单的情况,如上文实操所述。核心是导出所有用到的物理层。总结一个清单:
- 必须导出给PCB厂的层:
Top Layer,Bottom Layer,Top Solder,Bottom Solder,Top Overlay,Bottom Overlay,Mechanical 1(含板框),Keep-Out Layer(如果独立存在),Drill Drawing,Drill Guide。 - 导出但分开存放的层:
Top Paste,Bottom Paste。这两个文件单独打包,注明“SMT钢网用”。 - 系统层一律不导出:如
Connections,DRC Errors,Visible Grid等。
4.2 四层板(带内电层)配置
四层板通常的叠层是:Top(信号) - Inner1(GND地平面) - Inner2(PWR电源平面) - Bottom(信号)。这时,内电层(Internal Plane)的处理是关键。
- 信号层:
Top Layer,Bottom Layer照常导出为.GTL,.GBL。 - 内电层:在Protel DXP中,内电层通常设置为“负片”(Negative)。这意味着你在这层上画线(Track)或填充(Fill),实际表示的是“从铜平面上挖掉”这部分区域。导出Gerber时,软件会自动处理。你需要勾选
Internal Plane 1和Internal Plane 2,它们会生成.GP1和.GP2文件。务必在CAM查看器中仔细检查这两个文件,确认电源和地的分割区域是否正确,有没有意外的孤立铜皮或短路。 - 其他层:阻焊、丝印、机械层、钻孔层的导出与双层板无异。
- 特别注意:四层板的钻孔文件会包含通孔(从Top钻到Bottom)和可能存在的盲埋孔信息,一定要核对清楚。
4.3 含有特殊工艺的板子
- 阻抗控制板(常见于通信、智能手机射频部分):除了Gerber,必须提供阻抗控制说明,指明哪条线需要控制多少欧姆阻抗,以及叠层结构(每层介质厚度、铜厚、介电常数)。工厂会根据这个调整工艺。
- 沉金+金手指板:对于金手指(如内存条插口),除了常规层,通常需要在机械层或单独一个层(如
Mechanical 2)明确标出金手指的区域和“斜边”要求。阻焊层在金手指区域必须完全开窗。 - 有半孔(邮票孔)的板子:用于板对板连接。这部分孔的Gerber处理需要特别小心,通常需要在焊盘和钻孔层都有特殊表示,并明确告知工厂这是半孔工艺。
- 铝基板/厚铜板(常用于电源/新能源):重点在于明确铜厚(如2oz, 3oz)和板材类型。Gerber导出流程不变,但制板说明中必须突出强调。
5. 常见问题、排查技巧与制板厂沟通实录
即使按照上述流程操作,在实际生产和沟通中还是会遇到各种问题。下面是我总结的“避坑指南”。
5.1 Gerber文件本身的常见问题
问题1:用CAM软件打开Gerber,发现所有层错位或丢失。
- 排查:99%的原因是“单位”或“格式”不匹配。你在Protel里用英寸2:5导出,但CAM软件可能默认用毫米2:4去读取。在CAM软件中手动指定导入单位为“Inches”,格式为“2:5”。
- 技巧:在发给工厂的压缩包里,放一个
readme.txt,写明“Gerber Format: RS274X, Unit: Inches, Format: 2:5”。养成这个习惯,能省去无数电话沟通。
问题2:钻孔文件(.TXT或.DRL)中的孔径与实际焊盘对不上。
- 排查:检查PCB设计中是否使用了非圆形的钻孔(如槽孔)。Protel DXP对于槽孔的处理,有时需要在钻孔层用特殊符号或一条线来表示。在CAM软件中查看钻孔层时,要确认槽孔的长度和方向是否正确。
- 技巧:对于重要的定位孔或安装孔,我习惯在机械层用十字线精确标出圆心,并在旁边用文字注明孔径,作为双重保险。
问题3:阻焊层发现焊盘被覆盖,或不该露铜的地方开了窗。
- 原因:通常是PCB设计中的阻焊规则(Solder Mask Expansion)设置不当,或者某个特殊焊盘(如测试点)的属性被手动修改了。
- 排查:在导出Gerber前,在PCB文件中使用“规则检查”功能,专门查看阻焊相关规则。在CAM软件中,单独打开阻焊层(
.GTS/.GBS)和对应的线路层(.GTL/.GBL),叠加对比,检查每一个焊盘。
问题4:丝印文字跑到焊盘上或者丝印极其模糊。
- 原因:设计时未考虑丝印的工艺极限。一般丝印线宽不能小于0.15mm(6mil),字符高度不能小于1.0mm。过小的字符工厂印不出来。
- 技巧:设计完成后,使用软件的“测量”工具,检查主要丝印的线宽和高度。对于高密度板,可以考虑将丝印放在元件本体下方(前提是不影响辨识),或者采用更昂贵的“激光刻字”工艺。
5.2 与PCB制板厂的沟通要点
Gerber文件不是扔过去就完事了,有效的沟通能极大提升一次成功率。
提供完整的“制板要求”文档:不要指望工厂工程师去猜。文档应包括:
- 板子数量、厚度、板材(FR-4, 高频材等)。
- 铜厚(1oz, 2oz)。
- 阻焊颜色和丝印颜色。
- 表面处理工艺(有铅喷锡、无铅喷锡、沉金、OSP等)。
- 是否有阻抗控制要求(如有,附上详细说明)。
- 是否有特殊工艺(如金手指、沉金+喷锡、盲埋孔、盘中孔等)。
- 交付时间要求。
要求并审核“工程确认稿(EQ)”:正规的PCB工厂在投产前,会用你的Gerber文件在他们的CAM软件里处理好,生成一份EQ文件(通常是PDF)发回给你确认。这份文件显示了工厂理解后的所有层信息。你必须花时间仔细核对这份EQ!这是防止错误的最后一道,也是最有效的防线。重点核对:层数是否正确、板框尺寸、钻孔图、阻焊开窗、特殊标记。
小批量打样先行:对于复杂的新设计,尤其是涉及FPGA、高速通信或汽车电子的板子,不要第一次就做大批量。先做5-10片的小样,进行全面的功能测试、电源完整性测试和信号完整性测试。确认无误后再量产。
建立与工厂工程师的直接联系:如果可能,和工厂负责处理你文件的CAM工程师建立联系。对于复杂的设计,在发文件前可以先简单沟通一下工艺可行性。他们的经验往往能提前发现你设计中的隐患。
生成Gerber文件并成功交付生产,是硬件设计从虚拟走向实体的关键一跃。这个过程充满了细节,任何一个疏忽都可能导致时间和金钱的损失。通过标准化自己的导出流程、严格进行文件验证、并学会与制造端有效沟通,你就能牢牢掌控产品的最终质量。这不仅仅是Protel DXP一个工具的操作,更是一种严谨的工程习惯。随着你接触更复杂的设计,比如六层、八层板、HDI工艺,或者涉及刚挠结合板,这些基础原则依然适用,只是需要考虑的工艺细节会呈指数级增长。那时,今天打下的坚实基础,将让你更加游刃有余。