ARTICLE DETAIL

资讯详情

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

Allegro 17.2 Gerber导出全流程:从Artwork配置到CAM验证

Allegro 17.2 Gerber导出全流程:从Artwork配置到CAM验证 做PCB设计这些年我越来越觉得“出Gerber”这件事才是真正拉开工程师差距的地方。很多人画板子时头头是道一到投板前导出光绘就犯怵要么直接打包源文件甩给板厂要么在Artwork里乱点一通出来的文件自己都不敢看。Allegro 17.2作为Cadence的经典版本用户量依然很大但它的Gerber导出流程对新手确实不友好菜单藏得深参数冗杂命名规则和Altium那套完全不是一回事。今天我就把从路径设置到Artwork参数配置的完整流程拆开揉碎了讲一遍照着操作基本不会出问题。这篇文章适合谁刚接触Allegro、准备第一次投板的学生和转岗工程师也包括那些之前一直让板厂“帮忙转换”但想真正掌握出图能力的人。我会尽量把每一步背后的原理也讲清楚不只给操作步骤还解释为什么这么设这样你以后遇到问题才知道往哪个方向排查。1. 为什么Gerber文件出厂前必须自己导1.1 从“画板子”到“造板子”的最后一公里Gerber光绘文件说白了就是一块PCB的“施工图纸”。板厂不会直接打开你的.brd或.pcb源文件去生产他们拿到的是标准化格式的光绘文件。每一张光绘对应板子的一个或几个层面走线、铺铜、阻焊、丝印、钻孔信息全部拆开单独输出。在此基础上钻孔信息通过NC Drill导出坐标文件通过NC Route或IPC-D-356导出。整套文件打包发给工厂工厂的CAM工程师在Genesis或CAM350里做一次“预演”确认无误后上线生产。这一步之所以不能偷懒是因为源文件存在太多不确定性。字体库缺失导致丝印错位、软件版本不同导致叠层属性丢失、隐藏的布线铜皮在别的软件里不识别……这些问题在转成Gerber后都会被“冻结”。你看到什么板厂就得到什么不会出现“我电脑里明明显示正常”的灵异事件。如果直接从源文件生产板厂需要额外帮你转换、检查、猜你的设计意图这样既容易出错也会额外收费。很多新手以为Gerber是个“导出按钮”的事其实不是。Gerber是整套制造数据的集合你需要对每一层的内容负责。谁负责板框谁负责走线谁负责绿油开窗这些都要你在Artwork里明确指定。Allegro做得比Altium“重”但也因此更可控。1.2 Allegro与Altium导出逻辑的本质区别网上搜“AD导Gerber”能翻出一大堆教程因为Altium的操作是向导式的选格式、选层、选精度一键Generate非常友好。Allegro则完全不是这个思路。它要求你先在Artwork Control Form里把每一张“底片”Film手工配置出来再决定哪些物理层数据被哪张底片引用。这更像是在排版搭“出图计划”而不是简单地“选层导出”。用久了你会发现Allegro这种“底片-层”两层模型一旦理解了其实更稳定。因为每一张底片都是你亲手控制的不像Altium在某些细节上偶尔会给你“惊喜”。但也正因为如此Allegro学习的曲线更陡。很多人第一次打开Artwork Control Form看到左侧一堆Film列表、右侧一堆参数按钮直接懵了。这篇文章就是要把这些点一个个讲透。另外Allegro的两个入口要记清楚Manufacture - Artwork负责光绘Manufacture - NC - NC Drill负责钻孔。这两套是独立配置的不要漏掉后者。1.3 为什么“差不多会了”最容易翻车我见过不少工程师用Allegro一段时间后觉得自己会出Gerber了结果板厂一通电话打过来“你的板框没包含在光绘里”、“内层负片反了”、“钻孔文件对不上”。这些问题的根源基本都是对Artwork的理解停留在“照猫画虎”层面。比如有的教程说“在Artwork里勾选所有层然后点Create Artwork”听起来挺对但实际会把SOLDERMASK和SILKSCREEN混在一个文件里板厂那边分不清开窗和印字做出来的板子一塌糊涂。我写这篇教程最想强调的就是“理解底片和层的关系”。只要这个关系理清了剩下的参数设置都是体力活。理不清哪怕照着步骤做十遍换一块板子、换一个叠层你又不会了。2. 导出前的准备工作2.1 先花五分钟检查设计数据库出Gerber之前先别急着点Artwork。我每次都会花几分钟做三件事省得后面返工。第一跑一遍Database Check。路径是Tools - Database Check勾选所有检查项运行一遍。这个动作能修复一部分数据库里重复的图形、无效的铜皮碎片、悬空的线段。很多人遇到“铜皮看着是闭合的但光绘里缺一块”的问题就是数据库里有隐藏的重叠或碎铜跑完再导出能解决相当一部分问题。第二检查板框是否闭合。Allegro里的Outlines层如果是多条零散线段而不是闭合多边形生成的光绘会缺少完整板形信息。习惯做法是在Outlines画一个闭合矩形或多边形再用Manufacture - Drafting - Outline Segments命令检查看有没有断点。板框是板厂定位所有层的基础绝对不能马虎。第三确认叠层顺序和Class/Subclass定义。在Setup - Cross-section里逐层核对名称、类型、厚度。尤其是内电层如果某个内层被误设成“No Plane”你出负片的时候整层铺铜全丢这个问题非常隐蔽回读铜皮时又看不出异常直到板厂反馈才追悔莫及。2.2 建立规范的输出目录结构出Gerber不是只出一个文件而是一整套。我习惯在项目文件夹下建一个专门的目录比如Artwork_Output然后再分成Gerber和Drill两个子目录。这样做的好处有两个一是避免后期找文件时把源文件和生成文件混在一起二是板厂打包时只需要把Artwork_Output整个文件夹拖进压缩包工程文件、配置文件、技术文档各归其位清晰又专业。如果公司有自己的命名规范就按公司的来。没有的话我一般用这种命名方式TOP_COPPER.art 顶层走线BOT_COPPER.art 底层走线TOP_SOLDERMASK.art 顶层阻焊BOT_SOLDERMASK.art 底层阻焊TOP_SILKSCREEN.art 顶层丝印BOT_SILKSCREEN.art 底层丝印OUTLINE.art 板框DRILL_NC.drl 钻孔文件这里说明一下.art是Allegro默认的光绘扩展名但很多人习惯在Artwork里把后缀改成.GTL、.GBL这类Altium风格。这个随意只要你自己能分清、板厂能识别就行。我见过老工程师直接用.art因为CAM350照样能识别文件内容才是关键。2.3 光绘格式与单位精度定下来就别换Allegro 17.2支持RS-274X和RS-274D两种光绘格式。现在绝大多数板厂都用RS-274X因为它内置了光圈Aperture定义不需要单独传D码文件。RS-274D年代工程人员要额外提供Aperture文件否则CAM无法解析线条宽度和焊盘尺寸这个老格式现在已经很少用了。如果板厂没有特殊要求一律选RS-274X。单位选择上我建议用公制毫米Millimeter精度设为4位小数即4:4格式最小分辨率0.0001mm也就是0.1μm。这个精度对绝大多数PCB制造绰绰有余。个别高密度HDI板可以调成5位小数但文件体积会增大而且工厂端CAM软件有时反而因为小数点位数过多而报解析错误。所以除非有特殊需求4位小数就够。需要特别强调的是单位和精度一旦定下来中途不要轻易改。光绘用毫米4:4钻孔却用英制2:3这两套数据导到CAM里坐标全部错乱板厂会以为你的孔偏到了天边。单位制和精度的一致性是整套Gerber文件最基本的要求。3. 核心配置Artwork Control Form全解析3.1 打开Artwork面板与“底片-层”逻辑Allegro 17.2中打开Artwork Control Form的路径是Manufacture - Artwork也可以在命令栏直接敲artwork回车。这个面板是整个出光绘过程的“总指挥”。打开后你会看到一个列表里面有默认的若干底片Film以及右侧一大堆参数按钮。第一次打开的人多半会懵但核心操作其实只有几个地方Film列表、中间层的选择框、右边的几个参数按钮。这里就要讲清楚“底片Film”和“层Layer”的区别。Film是最终输出的文件Layer是设计数据库里的物理层。你可以把一层或多层合并到同一张底片里输出。Allegro的默认底片通常是BOARD GEOMETRY/OUTLINE、ETCH/TOP、ETCH/BOTTOM等但这些默认值不一定符合你的需求。所以我们要么自己新建底片要么调整底片与层的对应关系。3.2 关键参数逐一拆解在Artwork Control Form右侧有以下几个参数我认为是最关键的。Undefined Line Width这个参数指定的是“没有定义线宽的对象”在光绘中用什么宽度去画。默认是5mil或0.127mm。如果设计里有未指定线宽的线段或圆弧而这里设为0那么在光绘文件里这些对象就会缺失表现为板子上莫名其妙少一段线。我的习惯是设为0.127mm并且在导出后一定用CAM350检查确保没有0线宽对象被误丢。Shape Fill控制铺铜的形状填充方式一般有Raster光栅和Vector矢量两种。Vector输出的文件更小打印更平滑Raster则像点阵打印机文件稍大。我一般用Vector并设置一个合理的喇叭口参数。普通板子用默认值就行。但如果铺铜边界有大量弧形Vector模式可能会生成很多小线段文件膨胀明显这时可以换Raster试试。Suppress Unconnected Pads这个选项在很多教程里被勾选作用是删除内层“未连接”的过孔焊盘减小文件体积。但如果你不确定某个过孔是否真的没有连接建议不要勾选。因为一旦误删做出来的板子过孔焊盘缺失焊接性和可靠性都会受影响。我个人的习惯是外层TOP/BOTTOM不勾内层视设计而定拿不准就不勾。还有一个“Film Side”参数一般默认Both即可。如果是负片层需要单独处理把层类型设为Negative同时勾选Suppress Unconnected Pads这个操作放到后面内层平面章节再细讲。3.3 底片命名的规范与习惯底片命名的规范直接影响后期文件识别效率。虽然最后可以在CAM里看到内容但一长串默认名字比如ART_1、ART_2很容易让人分不清哪张是阻焊、哪张是丝印。我建议在新建Film时直接把功能写进名字里让文件名自解释。比如TOP_COPPER 顶层走线BOTTOM_COPPER 底层走线TOP_SOLDERMASK 顶层阻焊BOTTOM_SOLDERMASK 底层阻焊TOP_SILKSCREEN 顶层丝印BOTTOM_SILKSCREEN 底层丝印DRILL_LEGEND 钻孔图例这样命名在最终生成.art文件时文件名也会沿用这些名字板厂工程沟通时直接说文件名就行不用再费力解释“第二张图是啥”。我在实际项目里还会把版本号加在目录名上比如Artwork_Output_V12方便追溯每次投板的版本。4. 各类Gerber文件的实操生成步骤4.1 顶层/底层走线与铺铜假设我要出一块普通双面板先看默认底片里有没有TOP_COPPER和BOT_COPPER。17.2通常会预置一部分但如果你是新工程很可能是空的。那就自己新建在Film列表下方点Add输入名称TOP_COPPER然后开始勾选层。顶层走线底片需要包含的内容BOARD GEOMETRY/OUTLINE或BOARD GEOMETRY/DESIGN_OUTLINE用来让板厂知道板子范围。ETCH/TOP走线铜皮。PIN/TOPSMD和DIP焊盘通常包含在ETCH下但保险起见可以勾上。VIA CLASS/TOP过孔焊盘。这里有一个细节为了出光绘时不至于让板框缺失我通常会在走线底片里也把OUTLINE带上。板框是所有层对齐的基准CAM工程师看的时候也习惯每一张图都有板框作为参照。但需要注意的是如果板框层还包含其他机械标注比如V-cut线、铣槽线要确认它们是否也被正确归到板框Subclass里。配置好后在Artwork Control Form底部选择要生成的底片点Select All再点Create Artwork。Allegro会按照列表逐一生成.art文件。这一步如果日志里没有报错基本就成功了大半。4.2 阻焊层和助焊层阻焊层就是绿油开窗层。顶层阻焊底片TOP_SOLDERMASK需要包含的层通常是PIN/TOP开窗焊盘。VIA CLASS/TOP过孔开窗如果设计允许过孔开窗。BOARD GEOMETRY/SOLDERMASK_TOP如果有自定义开窗区域。注意在Allegro里阻焊层的Class是BOARD GEOMETRYSubclass是SOLDERMASK_TOP或SOLDERMASK_BOTTOM。Altium里面叫Top Solder。这些只是命名习惯不同本质上都是“哪里不盖绿油”。阻焊底片里通常不需要包含铜箔走线层但有些人喜欢把ETCH/TOP也勾进去作为参照。我不建议这样做因为会导致光绘文件出现大块重叠图形虽然CAM不报错但会增加后期处理复杂度也让CAM工程师觉得你不专业。还有一个容易踩的坑过孔盖油需求。如果设计里有过孔盖油比如BGA区域过孔塞油那么过孔在阻焊层里就不应该开窗。这时你需要在约束管理器里给过孔设置Tented Vias属性或者在Artwork里把VIA CLASS/TOP从阻焊底片中摘除。不知道怎么设置时最好先问板厂需求别自己做主否则板子回来过孔全部露铜焊盘之间出现意外的桥接风险。4.3 丝印层丝印层配置相对简单。顶层丝印底片TOP_SILKSCREEN一般包含BOARD GEOMETRY/SILKSCREEN_TOP绘制的丝印文本、图形、Logo。COMPONENT VALUE/REF DES/SILKSCREEN_TOP元件的位号和标称值。BOARD GEOMETRY/OUTLINE板框方便定位。有人还会把COMPONENT VALUE/DEVICE/SILKSCREEN_TOP也勾上但那通常是第三方库或老库才有的层。如果发现丝印文字输出不全多半是漏勾了某个Subclass尤其是器件位号层和器件值层它们通常是分开的。丝印层经常出现的问题是文字线宽过细。Allegro默认的字号可能是5mil或更小在板厂制造时如果丝印工艺是曝光显影LPI还好但传统丝网印刷就很难保证清晰。我一般会在出丝印前把器件位号的字体大小统一设成最小0.8mm字高、线宽5mil以上。在Setup - Design Parameter Editor - Text里可以全局设置。别嫌麻烦丝印清晰度直接影响贴片效率和维修体验。4.4 钻孔文件NC Drill光绘文件搞定后还必须出钻孔文件。Allegro里的路径是Manufacture - NC - NC Drill。在NC Drill参数设置里需要关注三个东西输出格式、单位、以及是否输出刀具信息。格式上我习惯把Output file设为自动生成单位选Metric格式选4:4和光绘设置保持一致。这里千万不能和光绘的单位冲突否则板厂在对应坐标时会错乱。NC Drill会生成一个.drl文件还有一个对应的刀具列表.lst或.rou文件。有些板厂需要单独要一个钻孔孔位图也就是把孔径和数量列出来这个在Drill Legend设置。路径是Manufacture - NC - Drill Legend它可以生成一张表格图一一标注每个孔径的符号和数量。很多工程师忘记生成Drill Legend导致板厂在核对钻孔时很费劲。多数板厂其实能看懂.drl但如果你板子上孔多、类型复杂强烈建议补一张。我一般会把Drill Legend放在丝印层或单独机械层里和光绘一起输出板厂一眼就能看明白。4.5 钢网层做SMT贴片时还需要钢网层。钢网层的原理和阻焊层类似区别在于它只针对贴片焊盘而不是插装孔或过孔。Allegro里通常用PASTEMASK_TOP和PASTEMASK_BOTTOM。钢网底片的配置非常简单新建PASTEMASK_TOP勾选PIN/TOP如果有BGA焊盘系统会自动把BGA焊盘的Paste也归属到PIN里。不过我一般不建议把过孔加进钢网因为那会导致锡膏漏到过孔里焊接时产生气泡或短路风险。钢网层出不出主要看你的板子是否走SMT。如果只是样板手工焊接钢网可以不出板厂不会强制要。但如果要贴片产线加工钢网是必需的。我的习惯是钢网底片只勾PIN/TOP不勾VIA CLASS/TOP除非BGA底部有需要灌锡的过孔那种情况要专门设计。4.6 内层电源/地平面负片输出要点四层板及以上内层电源和地平面通常用负片输出。负片的含义是你在光绘里看到的图形区域是“铜被挖掉”的区域背景反而是整铜。在Artwork里设置负片层时先选中内层对应的底片在层列表中选择该内层然后把“Positive/Negative”选项改为Negative。同时勾选Suppress Unconnected Pads把内层没有连接到的过孔焊盘删掉避免形成不必要的隔离盘。这里有个容易出错的地方如果你在Cross-section里设置的内层类型是Plane而Artwork里又误选了Positive那么你得到的会是一层只有反焊盘形状的“镂空铜皮”铺铜全部丢失。反之如果把正片层设成Negative整个内层铜皮会反相形成巨大的短路区域。所以每次出内层光绘后务必在CAM350里目检一遍看铺铜区域和隔离焊盘是否符合预期。5. 路径设置与文件输出管理5.1 光绘路径与钻孔路径分开设置Allegro 17.2默认的光绘输出目录是设计目录下的artwork子目录。但为了不污染工程目录我建议在Artwork Control Form里点击Photo Plot Setup按钮里面有一个Output directory设置可以指定到单独的Gerber目录。同时NC Drill参数里也有输出目录设置路径是Manufacture - NC - NC Parameters在Output file栏指定.drl文件的保存位置。路径设置有两个容易踩的坑。一是中文路径或带空格的路径下部分Allegro版本会报错或生成不了文件。这一点尤其要注意很多人的Windows用户名是中文桌面路径就是C:\Users\张三\Desktop\Allegro的光绘功能在这种路径下经常莫名其妙失败。建议把所有PCB工程放在纯英文和纯数字的路径下比如D:\PCB_Projects\ProjectA。二是输出目录要提前创建好Allegro不会自动创建不存在的目录如果目录缺失它会直接报Directory not found。5.2 生成文件清单与打包发送技巧出完光绘和钻孔后输出目录里会多出一堆文件。新手经常困惑于这些文件到底谁是谁。我整理一下常见的几类.art 光绘文件比如TOP_COPPER.art。.drl 钻孔文件NC Drill有些版本为.tap。.lst 刀具列表记录每个孔径对应的钻头尺寸。.rou 铣边文件NC Route如果板框需要异形铣削。.log 日志文件记录生成过程。.art_param或类似参数文件保存Artwork配置。其中.log文件很多人不看但我建议每次都翻一下。如果生成过程中有Warning比如Undefined line width、Aperture not found都会在日志里体现。养成看日志的习惯能提前发现好多隐患。打包发送给板厂时我建议把Gerber、Drill以及一个制造说明.txt放在同一个压缩包里。制造说明里写清楚板材、板厚、铜厚、阻焊颜色、丝印颜色、表面处理工艺喷锡/沉金/OSP、阻抗要求等。这个习惯能省去大量和板厂工程确认的邮件往来。板厂工程看到你文件规范、说明清晰也会更放心沟通效率高很多。6. 常见问题与排查技巧6.1 光绘文件打开缺线/少铜这是新手最常见的现象在Allegro里看着好好的用CAM350或板厂反馈说“你这个铜皮有问题”。排查思路检查是否漏勾了ETCH层对应的Film。比如你建了顶层底片却在层列表里忘了勾ETCH/TOP那自然就没有铜。检查是否在Artwork界面里误设了Negative选项。负片层误设成正片会导致整层铜全部反相看起来像缺铜。检查Shape Fill设置。如果铺铜使用了动态铜皮而Artwork里的Shape Fill参数选成Raster且分辨率设置不合理铺铜会被“抽丝”成一块一块的。解决方法是先在Allegro里用Shape - Select Shape检查铜皮属性再重新生成光绘。如果问题依旧就在Artwork里把Undefined Line Width改大再试。6.2 Undefined Line Width警告如果日志文件里出现Undefined line width警告说明设计中存在没有线宽的对象。比如某段线条在属性里线宽是0或者某些符号使用的是0宽线。如果不处理这些对象在光绘里可能不显示。解决方法有几个设计阶段不要偷懒给所有线设置明确的线宽。出Gerber前统一检查用Find面板选中所有的Line、Arc、Text统一在属性里修改线宽。在Artwork的Undefined Line Width参数里填一个大于0的值让系统自动给0线宽对象赋予一个宽度。我最常用的还是第三种简单粗暴且有效。但如果想保证质量最好回去把设计里真正的0线宽对象找出来改掉因为自动赋宽后可能不是你想要的视觉效果。6.3 钻孔文件偏移钻孔文件与光绘文件偏移是板厂CAM工程师最头疼的问题之一。常见原因就一个单位或精度设置不一致。比如光绘用毫米4:4而NC Drill用了英制2:3坐标解析出来就会差一大截。解决办法是在NC Drill参数里将单位设为Metric格式设为4:4和Artwork保持一致。另外很多老工程师的经验是钻孔文件里的坐标原点要与光绘一致。Allegro默认以Design Origin或Symbol Origin为原点。强烈建议在设计开始时用Setup - Change Drawing Origin把原点设在板框左下角后续所有光绘、钻孔、坐标文件都用同一个原点。这一步做得好后面能省很多事。6.4 CAM350验证流程最后一步也是最重要的一步用CAM350或类似工具验证Gerber文件。这步不能省略它相当于PCB制造的“彩排”。我的一般流程是打开CAM350新建一个作业。File - Import - Gerber Data选择所有.art文件。File - Import - Drill Data选择.drl文件。检查每一层的对齐情况、是否有异常的缺口、短路、开路。重点看一下钻孔符号与焊盘是否对位。CAM350里也可以叠加对比不同层的间距判断是否满足工艺要求。这里不展开太多但至少要做到每层都能正常导入且板框层清晰可见。如果导入时报错太多板厂那边多半也会有同样的问题赶紧回来检查设计。我自己是每板必验哪怕只是打样也绝不偷懒。6.5 板厂反馈问题速查表我把这些年板厂反馈最多的问题整理成一张速查表放在这里方便查阅。板厂反馈常见原因排查思路缺铜/少线漏勾ETCH层或Shape Fill异常检查Film层列表、Shape Fill模式丝印不清晰字高或线宽过小统一修改Text最小线宽和字高钻孔偏移单位/精度不一致确认NC Drill与Artwork单位一致负片反了内层被设为Positive检查内层底片的Positive/Negative选项文件打不开中文路径或目录未创建改用纯英文路径提前创建输出目录过孔全部露铜阻焊底片包含过孔设置Tented Vias或从阻焊删除VIA CLASS这张表我每次培训新人都直接发一份能少踩很多坑。7. 我的使用心得再多说几个实用小技巧我在用Allegro 17.2出Gerber时踩过不少坑也总结了一些习惯。这里再分享几个小技巧算是这篇教程的彩蛋。第一把Artwork配置保存成模板。如果你常年做同一类板子在Artwork Control Form里把配置保存下来下次新建工程直接调用。保存路径是Artwork面板右上角的Save As可以存成.art文件。我一般会存一份4L_Standard.art和2L_Standard.art新工程导入后微调一下层名就完事十分钟内出一整套能直接投板的文件。第二出完Gerber后用Allegro自带的Design Compare功能或借助第三方工具把光绘数据逆向导入回Allegro和原设计做一次网络比对。这个操作适合高可靠性产品如果你只是打样用CAM350目检就够了但对涉及BGA、高密度器件的板子多一道验证就是多一道保险。第三别忘了出IPC-356网表文件。有些板厂会主动要求提供用于飞针测试或AOI比对。Allegro里路径是File - Export - IPC-356。这个文件很小但作用很大相当于给板厂提供了“电路连通性”的真值表。老工程师一般都会主动附上新人不一定知道。我个人在实际操作中的体会是Allegro出Gerber这件事第一次完整走下来可能需要一两个小时但当流程跑顺了、模板建好了第二次开始根本不用想太多。关键就三件事——理解底片和层的关系、保持单位精度一致、养成用CAM350验证的习惯。把这三点刻在脑子里任何一块板子交到你手里你都能稳稳地把它送出厂。
返回列表