ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Allegro Gerber输出全流程指南:从光绘配置到钻孔文件与CAM350验证

Allegro Gerber输出全流程指南:从光绘配置到钻孔文件与CAM350验证 1. 为什么Gerber输出是PCB设计的“最后一公里”做Allegro设计这么多年我越来越觉得画板子本身只是前半程真正考验功力的地方往往在最后导出Gerber这一步。很多工程师在布局布线阶段各种风骚操作结果卡在出光绘这关要么是钻孔文件对不上要么是板厂反馈GERBER打不开、层对不齐来回折腾好几个版本浪费时间不说还容易被贴片厂和板厂两头催。说白了Gerber文件就是PCB设计交付给制造端的“工程语言”。你在Allegro里画得再漂亮如果输出的光绘和钻孔文件不规范板厂就没法准确理解你的设计意图覆铜、开窗、钻孔、丝印任何一个环节出了偏差做出来的板子就是废的。尤其是现在高速板、射频板、盲埋孔板越来越多Gerber输出的规范性和完整性直接影响产品的可制造性和良率。这篇内容我围绕Allegro环境下的Gerber输出全流程来写从光绘参数配置、各层输出规范到钻孔文件生成与验证再到CAM350检查把我在实际项目中踩过的坑、总结的技巧一并分享出来。无论你是刚接触Allegro的新手还是被出图问题困扰过一阵子的工程师这篇文章都值得收藏照着做一遍。1.1 先弄明白Gerber和钻孔文件的关系很多人把Gerber和钻孔文件混为一谈实际上它们是两套独立的制造数据。Gerber文件描述的是每一层线路、阻焊、丝印、助焊的图形信息而钻孔文件通常叫NC Drill或Excellon文件描述的是板上所有孔的位置、尺寸和类型。板厂拿到数据后先用钻孔文件控制钻机打孔再用Gerber文件控制曝光和蚀刻两者必须完全对应坐标系统、单位、精度不一致就会出现孔偏、孔位错乱等严重问题。Allegro输出Gerber时钻孔文件的生成是独立的一个环节需要通过Manufacture - NC - NC Drill来完成。很多初学者以为只要把Artwork里的钻孔层勾选上就完事了其实那是光绘里的钻孔符号层真正的钻孔坐标数据必须单独导出。1.2 输出前的整板检查清单每次出Gerber之前我都会强制自己过一遍检查清单避免低级错误检查Dangling Lines、Dangling Vias确保没有未连接的走线和孤立过孔。检查未连接的Pin尤其是电源地网络的引脚。确认板框Outline闭合且位于Manufacturing层。确认所有器件封装完整Footprint没有缺失。确认敷铜Copper Pour已经完成且没有孤岛铜皮。检查丝印位号是否完整、是否与器件对应。最后一次运行DRCDesign Rules Check确保没有违规项未处理。这套检查看着琐碎但能帮你省掉至少一轮改板周期。我见过太多人跳过检查直接出图结果板厂做出来才发现某颗电容的丝印和焊盘重叠或者地孔没打上整个项目往后拖了两周。2. 光绘文件Artwork输出的核心参数配置2.1 新建Artwork控制文件Allegro中Gerber输出的入口是Manufacture - Artwork快捷键通常可以自定义。打开后会看到一个Artwork Control Form对话框这里就是管理所有光绘层的核心界面。第一步是新建一个底片控制文件通常命名为art_photo或gerber_6x00然后根据板厂的制程能力和你自己设计的叠层添加每一层的光绘线路层TOP、BOTTOM以及中间信号层如L2、L3等。平面层电源层、地层GND、PWR一般选择Negative负片还是Positive正片取决于你画板时平面的分割方式。阻焊层SOLDERMASK_TOP、SOLDERMASK_BOTTOM。助焊层PASTEMASK_TOP、PASTEMASK_BOTTOM。丝印层SILKSCREEN_TOP、SILKSCREEN_BOTTOM。板框层通常加在每一层光绘里作为对位参考。钻孔符号层NCLEGEND层用于在光绘中标注钻孔类型。值得提醒的是Allegro里的Class/Subclass结构非常严格添加光绘时一定要选对Subclass。比如线路层要选ETCH/TOP而不是BOARD GEOMETRY/TOP否则输出的Gerber里就是一片空白。2.2 单位、精度与格式选择——这是板厂最爱挑刺的地方Gerber格式的选择直接决定板厂能不能正确解析你的文件。目前主流板厂都支持RS-274X格式也就是常说的大力士格式它把光圈数据内嵌在文件中自包含性好不依赖外部D码文件。如果你还在用老的RS-274D格式需要同时提供D码文件稍微漏发一个就可能导致光圈错乱。在Artwork Control Form中点击每一层右边的参数按钮通常是一个带有笔图标的按钮会弹出参数设置窗口。关键参数如下Format选择Gerber RS-274X。Suppress leading zeroes根据板厂要求勾选一般建议选Leading Zero Suppression抑制前导零如4.3格式下的005.000会变成5.000。Coordinate type选择Absolute绝对坐标不要选Incremental否则板厂读起来容易出错。Output units与设计单位保持一致公制mm或英制mil我习惯用英制mil做高速板单位精度更高。Number of decimals建议4.3整数4位小数3位也就是最小分辨率0.001英寸约0.0254mm满足绝大多数制程要求。我刚入行时曾在这上面栽过跟头用RS-274D格式导出了整套Gerber忘了发D码文件板厂打电话说文件打不开我还在电话里一头雾水。后来才明白D码文件才是RS-274D的灵魂漏了它等于只给了壳子没给内脏。2.3 Undefined Line Width与Photo Plot Outline参数窗口里还有一个特别容易被忽略的选项Undefined line width默认是0。如果某条线的线宽没有显式定义比如某些异形焊盘的内外圈系统就会使用这个值来替代。如果保持0部分板厂解析时会把线宽当成零导致开路。我建议设置为5mil或6mil按你设计的最小线宽来给板厂一个明确的兜底值。另外每次输出光绘前确认Photoplot Outline光绘边界覆盖了整个板框区域。如果边界太小靠近板边的图形会被意外裁切这是板边器件和邮票孔经常“消失”的元凶。在Artwork窗口里可以点击Display查看每一层光绘的范围确保无图形遗漏。2.4 各层光绘文件命名规范文件命名看似小事但命名的规范程度直接影响板厂的整理效率。我自己的习惯是线路层TOP.art、L2.art、BOTTOM.art平面层GND.art、PWR.art阻焊层SMT_TOP.art、SMT_BOT.art助焊层PMT_TOP.art、PMT_BOT.art丝印层SST_TOP.art、SST_BOT.art钻孔符号层DRILL_LEGEND.art板框层通常并入各层不单独出Allegro默认会在输出的文件名后面加上光绘层的名称如果你发现文件后缀不是你想要的可以在底片控制文件中右键重命名。板厂每天处理大量文件清晰的名字能让他们更快理解你的设计意图也减少了沟通成本。3. Gerber输出的完整实操流程3.1 配置好Artwork后逐个输出在Artwork Control Form中把需要输出的层全部勾选确认Undefined line width、Film size limits、Format等参数正确后点击Select All再点击Create Artwork。Allegro会依次生成每一层的光绘文件并在下方的日志窗口显示Generation Completed或具体的错误信息。这里我建议分两步走不要一次性勾选所有层。我第一次做的时候图省事把所有层包括NCLEGEND一起选上结果输出到一半报错提示某个Subclass不存在整个流程卡死。后来我养成了习惯先输出线路层和平面层确认无误后再输出阻焊、助焊和丝印层最后单独输出钻孔符号层。这样即使出错排查范围也小很多。3.2 钻孔符号层NCLEGEND的输出钻孔符号层也就是钻孔图例层它在光绘中显示每个钻孔尺寸对应的符号方便板厂和工程师核对孔径分布。输出它之前必须先完成NC Drill的生成否则NCLEGEND没有数据可显示。具体操作是Manufacture - NC - NC Legend在弹出的窗口中设置选择Top层作为图例放置层一般放在板外的空余位置。Legend Height建议设置5到10mil这是钻孔图例文字的高度。选择输出文件路径命名如DRILL_LEGEND.art。点击OKAllegro会在板框外生成一行行的钻孔符号和孔径列表。需要注意的是钻孔图例必须放置在板框外且不能和其他图形重叠。如果板边空间紧张可以先把板框复制一份在复制的层上生成图例再删掉多余的图形。3.3 阻焊层与助焊层的输出细节阻焊层Solder Mask的开窗大小决定了板子上哪些焊盘会被裸露出来。Allegro中阻焊层光绘默认包含所有Pin的Soldermask开口以及你手动绘制的阻焊开窗图形。这里有个常见问题BGA焊盘的阻焊开窗如果比焊盘本身还小焊接时就会因为绿油覆盖导致虚焊。所以我出阻焊层之前都会用Report功能检查一下BGA区域的Soldermask开口是否满足 datasheet 要求。助焊层Paste Mask则对应钢网开口它只用于贴片工艺不需要做阻焊桥通常开口尺寸等于焊盘尺寸或按元器件规格略做缩放。输出助焊层时检查是否有漏画的开窗尤其是异形焊盘金手指、散热焊盘等。我通常会把Top和Bottom的Paste Mask分两个文件导出避免钢网厂混淆。4. 钻孔文件生成的完整流程与技巧4.1 生成NC Drill钻孔数据钻孔文件生成入口在Manufacture - NC - NC Drill。点击后会弹出NC Drill窗口关键设置如下Drill file names默认是生成以当前设计名开头的文件可以自定义比如DRILL_TAP.TXT。Format我习惯设置为3.3或4.3。3.3表示整数3位、小数3位最大坐标为999.999英寸。注意这个单位是英寸还是毫米取决于你在Setup - Design Parameters里选择的单位两个要保持一致。Excellon format选择Standard不要选Leading zero suppression和Trailing zero suppression同时勾选否则部分板厂解析会出问题。一般建议勾选Same as Artwork与光绘一致的零抑制方式确保钻孔文件和光绘坐标体系完全匹配。设置完成后点击DrillAllegro会生成两个文件一个是钻孔数据文件如DRILL_TAP.TXT另一个是钻孔报告文件如DRILL_REPORT.TXT。报告里有孔的数量、尺寸、电镀状态等信息建议一并打包发给板厂方便他们快速统计。对于带有盲埋孔的HDI板需要特别注意Allegro默认只输出一个总的NC Drill文件但盲埋孔需要在每次压合工序中分开钻孔。你需要在NC Drill窗口中选择不同的钻孔层对Drill Layer Pair分别生成每一道工序的钻孔文件。比如从L1到L2的一阶盲孔和从L1到L3的二阶盲孔必须分开输出并在文件名中标注清楚如DRILL_L1-L2.TXT、DRILL_L1-L3.TXT。4.2 背钻Back Drill文件的生成高速PCB设计中背钻是常见的工艺要求。它的作用是钻掉过孔里没有信号传输需求的那一段铜壁降低过孔寄生电容和残桩带来的信号反射。Allegro中背钻的设置位于Manufacture - NC - NC Drill在Drill Layer Pair里选择起始层和结束层。常用方式是设置一个专门的背钻孔层对比如从TOP钻到L3再在NC Drill输出时单独生成背钻文件。务必与板厂确认背钻的深度精度背钻深度公差一般控制在±0.05mm以内否则容易钻穿信号层。我做过一块100Gbps高速背板就是因为背钻文件没单独区分板厂把所有孔当成普通通孔一次钻完背钻完全失效眼图测试直接不过。后来重新出图时我把背钻文件和通孔文件分开命名并在邮件里附了背钻层位示意图这才顺利通过验证。4.3 钻孔符号与孔径表检查NC Legend生成后一定要单独打开钻孔图例层检查里面的孔径列表是否与设计文件一致。我最常用也最推荐的方法是把钻孔图例导出的孔径表和NC Drill报告里的孔径表逐项核对确认数量一致、尺寸一致。很多奇怪的问题都出在孔径匹配上。比如某个Via设置的是10mil的成品孔径但钻孔文件里实际输出的是12mil的钻头尺寸中英文邮件来来回回沟通了三次才搞清楚。原因是在Allegro里Via的定义和NC Drill输出时启用了Automatically select best drill size导致系统选了下一档标准钻头。所以每次出图前手动复查一遍Via的Drill/Slot Size以及Output Drill尺寸真的很重要。4.4 槽孔Slot Hole的生成与标注PCB上一些特殊器件需要槽孔比如金手指卡扣、某些接口的定位脚。在Allegro中槽孔一般通过绘制Board Geometry/Outline里的Slot形状或者在Padstack Editor里定义Slot来生成。NC Drill输出时Allegro支持输出槽孔数据。出槽孔文件时我建议单独生成一个Slot Drill文件不要混杂在圆孔文件里。部分老版本板厂的钻机对槽孔程序处理不够智能混杂在一起容易导致漏钻或错位。命名上可以标记为DRILL_SLOT.TXT并附上槽孔的坐标图。5. 常见问题与排查技巧实录5.1 Gerber文件在CAM350中打开缺层这个问题出现频率极高十有八九是Artwork中该层的Subclass没有选对或者该层在输出时被勾选了Negative却用了正片内容。排查方法是回到Allegro的Artwork Control Form逐层检查Film Options中的Subclass列表确认所包含的Class/Subclass与实际设计层对应关系一致。另一个常见原因是底层线路Gerber虽然导出了但板厂在CAM350里打开时发现铜皮是镜像的。这是因为IPC标准里底层线路应该做镜像处理但有些工程师在Allegro输出时把底片类型设成了Same as film非镜像导致底层图形方向不对。正确做法是底层线路光绘在Device Setup里确认勾选Mirror并检查是否设置了Aperture compensation光圈补偿如果补偿不当会导致刻蚀后的铜宽偏大或偏小。5.2 钻孔文件与Gerber对不齐这个问题通常是由坐标原点不一致导致的。Allegro中Artwork输出的坐标原点默认是Absolute origin绝对原点而NC Drill也默认以绝对原点为参考。但如果你在输出前移动过设计原点如把User origin设到了板内某个点可能会导致两套文件的原点不一致。稳妥的做法是无论是出光绘还是出钻孔文件都在Setup - Design Parameters - Origin里确认原点设置推荐使用绝对坐标原点0,0。如果板厂要求以板框左下角为原点可以在输出时统一设置Symbol at origin确保所有文件基于同一个参考点。还有一个隐蔽问题值得留意某些光绘层包括板框某些不包括叠图时就会错位。最直接的对策是让所有光绘都包含Board Geometry/Outline这一层让板厂有共同的对位基准。5.3 丝印在Gerber里显示为乱码或方块Allegro的丝印层如果使用了中文字体或特殊TrueType字体在输出Gerber时可能会出现乱码或方块。因为RS-274X格式对字体支持有限最好在出图前把丝印文字统一改为Allegro内置的Standard Font或Stroke Font。如果必须保留中文比如某些标识文字建议将文字转换成线段Convert to Path后再输出。转换后的丝印就是纯线段了但文件会变大不少。我做过一个带有中文Logo的消费电子板就因为这个转换步骤没做板厂看到丝印乱码跟我确认了三次才敢继续生产。5.4 板厂反馈“光绘层缺失”明明在Allegro中输出成功板厂却反馈说缺少某些层。这种情况多半是输出文件时选择了全部层但某些层的底片名重复了或者文件名中的层名被截断。Allegro默认的底片名称由“文件名层名”组成但当文件名过长时层名部分可能被截断板厂容易误判。解决办法给每个底片定义一个简短、明确的名字比如TOP、BOTTOM、SST_T、SST_B并在输出的命名栏里确认没有“_”符号冲突。可以在CAM350里重新导入一次如果能识别出来就不是文件缺失而是板厂的工作站配置问题。6. 输出后的自检与交付建议6.1 用CAM350做一次完整的Gerber复核无论时间多紧我都建议用CAM350把输出的Gerber和钻孔文件导入合并做一次“预览制造”检查。导入时选择Auto ImportCAM350会自动识别光绘类型并叠层。检查重点每一层是否有明确的图形没有意外丢失。各层之间是否对齐尤其是阻焊层与线路层。钻孔符号是否与孔径表一致钻孔文件是否落在焊盘中心。板框是否完整板边图形是否被切。CAM350里可以打开D code列表快速检查光圈定义是否异常这比让板厂发现再反馈要高效得多。6.2 打包交付给板厂写一个Readme最后一步把Gerber、钻孔文件、钻孔报告、叠层说明、阻抗要求整理成一个压缩包最好附带一个Readme文件写明文件名列表、每层对应关系、单位与精度、板材与叠层要求、表面处理方式、拼板要求等。我做项目这些年碰到的板厂工程师水平参差不齐一个结构清晰、信息完整的交付包能省掉一半沟通成本。项目越复杂、数据量越大越要让对方觉得你是专业可靠的合作方。出图本来就是PCB设计流程的终点但它同时也是制造流程的起点多花半小时整理交付远比事后补沟通、改文件高效得多。最后再分享一个小技巧每次出Gerber前把Allegro的DRC全部跑完并且把DRC报告存档随Gerber一起发给板厂。板厂一看你连DRC都跑过了对你的设计信心会高出不少。我自己在管理Gerber版本时也用了一个简单有效的方式——在压缩包文件名里带上版本号和日期比如PROJ_A_V1.2_20250601_GERBER.zip既方便追溯也避免了板厂误用旧文件。这样整个交付链路的风险会小很多。
返回列表