Protel DXP生成Gerber文件全流程:从PCB设计到制造的关键步骤与避坑指南
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文件里的每一行代码都告诉这台机器移动到某个坐标XY打开哪个形状的“笔尖”称为光圈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焊盘之间的阻焊条宽度是否足够一般要大于4mil0.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信号 - Inner1GND地平面 - Inner2PWR电源平面 - 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.15mm6mil字符高度不能小于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工艺或者涉及刚挠结合板这些基础原则依然适用只是需要考虑的工艺细节会呈指数级增长。那时今天打下的坚实基础将让你更加游刃有余。