
1. Allegro光绘文件生成基础概念刚接触PCB设计的朋友可能对光绘文件这个词有点陌生。简单来说光绘文件就是PCB工厂用来制作电路板的施工图纸。就像盖房子需要建筑图纸一样制作PCB也需要这种特殊的图纸文件。在Allegro中我们通常使用Gerber格式来保存这些文件。Gerber文件其实是一组文件的统称包含了PCB的各个层面信息导电层如TOP层、BOTTOM层等阻焊层SOLDERMASK钢网层PASTEMASK丝印层SILKSCREEN钻孔层DRILL板框层OUTLINE我刚开始做PCB设计时经常搞不清楚这些层的区别。后来发现可以用一个简单的类比来理解想象PCB就像一块三明治导电层是面包片阻焊层是黄油丝印层是撒在上面的芝麻钻孔层就是插在三明治上的牙签标记。2. 准备工作与环境设置2.1 精度设置在开始导出Gerber文件前有个关键设置很容易被忽视但特别重要 - 精度设置。这个设置相当于告诉工厂我的设计尺寸要精确到小数点后几位。如果设置不当轻则文件报错重则导致生产出来的板子尺寸不对。具体设置路径打开Allegro点击顶部菜单栏的Manufacture → Artwork在弹出的窗口中找到Device选项选择Gerber RS274X格式设置精度为5:5表示整数部分和小数部分各5位我遇到过好几次因为精度设置不对导致的问题。有一次设置了3:3结果导出的文件在CAM350中检查时发现很多线条都变形了。后来改成5:5就完全正常了。所以建议大家直接使用5:5这个设置既能满足大多数设计需求又不容易出问题。2.2 层叠结构确认在导出前一定要再次确认你的层叠结构是否正确。我有个惨痛的教训有一次设计4层板时忘记检查层叠结果把内层2和3的顺序搞反了导致生产出来的板子完全不能用。检查方法点击Setup → Cross-section仔细核对每层的材料、厚度和顺序特别注意内层是否设置了正确的网络如GND层、POWER层3. 导电层导出详解3.1 TOP/BOTTOM层导出导电层是PCB的核心部分包含了所有的走线和焊盘。导出时需要注意打开Color Dialog快捷键F5点击右上角的Off按钮关闭所有显示只打开当前层需要导出的内容ETCH走线PIN焊盘VIA过孔右键点击导电层文件夹选择Match Display建议同时勾选OUTLINE层这样导出的文件会包含板框信息小技巧我习惯在导出前先用Display → Status命令检查一下设计状态确保没有DRC错误和未连接的飞线。3.2 内层导出内层导出的步骤和顶层/底层类似但有几个特殊注意事项内层通常分为信号层和平面层GND/POWER对于平面层需要确认负片Negative还是正片Positive显示负片设计时要特别注意ANTI PAD和THERMAL的设置是否正确我曾经遇到过内层负片导出后在CAM软件中查看发现很多THERMAL连接丢失的情况。后来发现是因为在Allegro中没有正确设置THERMAL的显示参数。4. 阻焊层(SOLDERMASK)设置阻焊层决定了PCB上哪些地方要上绿油或其他颜色的阻焊漆哪些地方要开窗露出铜皮。设置不当会导致焊盘被盖油或者不该露铜的地方露铜。4.1 阻焊层内容选择复制一个现有的层文件夹如TOP层重命名为SOLDERMASK_TOP在Color Dialog中设置显示内容PIN → SOLDERMASK_TOPVIA → SOLDERMASK_TOP注意通常过孔是要盖油的所以这个选项一般不要勾选SHAPE → SOLDERMASK_TOP同样建议勾选OUTLINE层新手常犯的错误是勾选了VIA/SOLDERMASK_TOP导致所有过孔都开窗不盖油。这样不仅影响外观还可能造成短路风险。4.2 阻焊扩展设置阻焊开窗通常要比焊盘大一些这个扩展量需要合理设置打开Setup → Constraints → Physical在SOLDERMASK选项卡中设置合适的扩展值通常设置为0.1mm左右比较合适我建议在导出前用Tools → Reports生成一份阻焊报告检查是否有异常的开窗或盖油区域。5. 钢网层(PASTEMASK)生成钢网层是用来制作SMT贴片钢网的文件决定了锡膏要印刷在哪些位置。设置方法和阻焊层类似但有几点区别复制一个层文件夹重命名为PASTEMASK_TOP显示内容设置PIN → PASTEMASK_TOPVIA → PASTEMASK_TOP同样过孔通常不需要钢网开口SHAPE → PASTEMASK_TOP对于特殊元件如BGA可能需要单独设置钢网开口比例经验分享有一次我导出的钢网文件漏了几个小元件的焊盘导致SMT时这些元件没上锡。后来发现是因为这些元件的焊盘CLASS设置有问题。所以现在我都会在导出前用Find功能检查所有元件的焊盘属性。6. 丝印层(SILKSCREEN)处理丝印层是PCB上的文字和标识虽然不影响电路功能但对组装和维修很重要。6.1 丝印层内容复制一个层文件夹重命名为SILKSCREEN_TOP显示内容设置REF DES → SILKSCREEN_TOPPACKAGE GEOMETRY → SILKSCREEN_TOPBOARD GEOMETRY → SILKSCREEN_TOP建议勾选OUTLINE层6.2 丝印设计要点避免丝印覆盖焊盘丝印线宽不要太细建议≥0.15mm极性标识要清晰明确元件位号要朝向一致便于识别我习惯在导出前用Zoom Fit查看整个板子的丝印布局确保所有重要信息都清晰可读没有重叠或遮挡。7. 钻孔文件生成钻孔文件是Gerber文件中最重要的部分之一也是最容易出错的环节。7.1 钻孔符号定义点击NC → Drill Customization选择Auto generate symbols在Symbol characters中添加A-Z作为钻孔符号点击确定保存设置7.2 钻孔表生成点击Manufacture → NC → Drill Legend保持默认设置Hole sorting method按尺寸排序Layer pair通孔点击OK生成钻孔表7.3 钻孔文件导出点击NC → NC Parameters确认精度设置与其他层一致5:5勾选Leading Zero Suppression勾选Enhanced Excellon Format点击NC → NC Drill勾选Auto tool select和Separate files for plated/non-plated点击Drill生成.drl文件对于有槽孔的板子还需要额外导出.route文件点击NC → NC Route点击Route生成.route文件血泪教训有一次我忘记勾选Enhanced Excellon Format结果工厂把钻孔文件解读错了导致所有孔的位置都偏移了0.1mm。所以现在每次导出钻孔文件我都会仔细检查这些选项。8. 板框层(OUTLINE)处理板框层定义了PCB的外形和内部开槽等机械结构。虽然看起来简单但如果处理不当会导致板子外形错误或者无法装配。创建一个新的层文件夹命名为OUTLINE显示内容设置BOARD GEOMETRY → OUTLINE如果有内部开槽还需要显示BOARD GEOMETRY → CUTOUT特别提醒板框线必须是闭合的图形线宽通常设置为0.1mm。我习惯在导出前用Shape → Global Shape Parameters检查板框是否完整闭合。9. 最终检查与文件生成9.1 预检查在正式生成Gerber文件前建议进行以下检查点击Tools → Reports生成设计报告检查所有层的精度设置是否一致确认没有未连接的飞线检查DRC错误是否全部解决用Display → Status查看设计状态9.2 生成Gerber文件点击Manufacture → Artwork在Artwork Control Form中勾选Select all选择所有层勾选Check database before artwork设置Undefined line width建议0.1mm点击Create Artwork生成所有Gerber文件9.3 文件打包生成的文件通常包括各导电层.art阻焊层.art钢网层.art丝印层.art钻孔文件.drl, .route板框层.art建议将所有文件打包成一个zip文件并按照以下格式命名 [项目名称][版本号][日期]_Gerber.zip我通常会额外包含一个readme.txt文件说明使用的Allegro版本精度设置特殊工艺要求联系方式10. 常见问题排查在实际工作中Gerber导出经常会遇到各种问题。以下是几个我经常碰到的情况和解决方法精度不一致报错现象CAM软件提示各层精度不一致原因不同层的格式设置不一致解决确保所有层的精度都是5:5过孔开窗问题现象过孔在阻焊层开窗原因误勾选了VIA/SOLDERMASK解决取消勾选VIA/SOLDERMASK选项丝印缺失现象某些元件丝印没有导出原因REF DES没有放在SILKSCREEN层解决检查元件属性确保丝印信息在正确层钻孔文件错误现象钻孔位置偏移原因NC Parameters设置错误解决检查精度设置和Excellon格式板框不闭合现象CAM软件提示板框不闭合原因OUTLINE线没有完全连接解决使用Shape → Compose Shape闭合板框记得第一次独立导出Gerber文件时我反复检查了5遍才敢发给工厂。现在虽然熟练了但每次导出新设计时还是会保持这种谨慎的态度。毕竟PCB生产周期长、成本高一个小小的文件错误就可能导致整个项目延期。