ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Allegro光绘层叠配置全攻略:从Cross-section到Gerber导出

Allegro光绘层叠配置全攻略:从Cross-section到Gerber导出 1. 光绘层叠到底在配置什么先把概念理清先说个常见场景板子画完了DRC也清了3D模型看着挺像那么回事结果一到要发板厂打样卡在光绘输出这一步。尤其是从AD或者PADS转过来的工程师头一次打开Allegro的Manufacturing菜单看到Artwork那一排选项整个人是懵的。这还不算最难受的真正让人血压上来的是明明照着视频教程把光绘文件导出来了板厂却发来邮件说文件缺层或者层名看不懂又或者叠层厚度和阻抗要求对不上。归根结底问题大多出在“光绘层叠”这个环节没有真正理解透。Allegro里的“光绘层叠”其实包含两件事第一件是物理层叠也就是Setup下的Cross-section它定义了板子的物理结构有几层铜、层间介质多厚、用什么材料、铜厚多少第二件是光绘层Artwork Film也就是怎么把这些物理层组织成板厂能读懂的Gerber文件哪些信号层放在一个底片里、阻焊和丝印怎么映射、是正片还是负片。这两件事分开看都不复杂但合在一起就成了新手最容易翻车的地方。这篇内容适合谁一是刚接触Allegro、正在准备第一次投板的新手二是从别的EDA工具迁移过来、对Allegro的Artwork机制不熟的工程师。我会把光绘层叠的添加过程从头到尾拆开讲清楚每一步操作背后的逻辑以及我在实际项目中踩过的坑和验证过的方法。2. 动手配置之前先想清楚这几个基本问题2.1 层叠结构不是拍脑袋定的它决定了光绘怎么出很多新手容易跳过这一步直接打开Cross-section对话框看到默认的8层板结构想着“把用不到的层删掉不就行了”。但这种做法在Allegro里特别容易留下隐患因为Cross-section里每一层的Type、材料、厚度不光影响物理板子的制造还直接影响后续Artwork里Film的映射方式。最典型的一个坑原本默认的8层板结构里顶层和底层默认是Conductor中间有一堆Plane或者Conductor层。你把不需要的层删掉之后如果没有把每一层重新定义清楚后面在Artwork里添加Film时层映射的下拉列表里会出现一堆奇怪的子类名称比如ETCH/TOP、PIN/TOP、VIA CLASS/TOP这些每一个都对应着不同类型的数据。你一旦选错出的Gerber不是缺了走线就是多了一堆焊盘。所以在添加光绘层叠之前我的习惯是先做一次完整的“板子规划”确定是几层板、每层是走线层还是平面层、正片还是负片、双面板还是多层板。这一步看似跟光绘无关实际上决定了后面所有Artwork配置能不能一次做对。2.2 单位、精度和原点影响板厂读文件和阻抗计算Allegro默认的绘图单位经常是Mils但国内大多数板厂的标准习惯是毫米。单位不一致导致的直接后果就是你导出的光绘坐标跟板框不匹配板厂在CAM里打开会发现图形偏移或者尺寸完全不对。我一般在新板子建立的时候就把Setup-Design Parameter Editor里的User Units改成Millimeter精度设为4位小数也就是0.0001mm量级这个精度对绝大多数PCB来说已经足够光绘文件也不会过度膨胀。另外就是原点Origin的设置。导出的光绘文件板厂会用他们自己的CAM系统来读如果你的原点设得离板框太远或者板框本身就是按照某个角点做基准的板厂在拼板的时候容易对不齐。建议把板框左下角定为原点让光绘输出坐标与板框完全吻合。这个细节我吃过亏之前有一块板子放在自己的逻辑原点旁边看起来没问题结果板厂反馈说好几层的光绘数据有偏移治标的方法是让板厂手动对齐但治本的方法是每次新建板子时就把原点和单位统一。2.3 铺铜和丝印规范要先自查别让光绘阶段来背锅很多光绘层面的“报错”追根溯源其实是设计阶段的遗留问题。最常见的就是动态铺铜Dynamic Copper没有正确更新导致Gerber里出现比预期更大的铜皮区域或者大片空洞。在出光绘之前务必执行Display-Status里的Update To Smooth保证所有动态铜皮都完成了光滑化处理。丝印层的规范也同样重要。Allegro里丝印默认放在Silkscreen层如果你在画板时随便把参考编号丢在Top层或者人为改到了其他子类光绘配置做得再好出来的丝印也不完整。我的通用做法是先保证板子上所有元件的Ref Des都在Silkscreen层有对应文字并且路径在板框范围内再开始做Artwork配置这样能省掉一多半的后期麻烦。3. 核心操作一Cross-section层叠的添加与参数配置3.1 打开Cross-section按实际板子结构逐层添加Allegro中进入层叠设置的方式很简单菜单路径是Setup-Cross-section弹出来的窗口就是整个物理层叠的核心界面。左侧DMLDatabase Migration Layer表格显示的是库层信息右侧是当前板子的实际层叠结构你需要关心的是右侧这个部分因为直接决定了出多少层光绘。第一次打开这个窗口时默认显示的层数取决于你的板型模板。如果你的项目从头新建通常会看到一个默认的8层或更多层结构但实际上你的板子可能只是两层板这时候不要慌选中用不到的层右键点击Delete删除掉。删除时注意Allegro会提醒你该层上面可能还有图件或者布线数据如果你确认这些层确实没有用到直选删除就行。假如你的板子需要6层而默认结构只有4层那么你需要右键点击某一层选择Add Layer在上方或者下方插入新层。插入之后注意每一层之间的顺序不能乱信号层和电源层交替出现是常规做法铜厚和介质厚度要单独设置。我的习惯是把所有层添加完后先把Type改对比如顶层和底层设为Conductor默认就是内层如果是完整的电源平面建议改成Plane负片如果内层主要是走线保持Conductor正片。这个Type选择直接关系到后面Artwork中是出正片还是负片务必提前决定。3.2 材料参数怎么填铜厚、介质和阻抗Cross-section窗口里每一层都有Material、Type、Thickness等参数。Conductor层的Thickness是指成品铜厚国内常规是1oz也就是35um加厚的用2oz甚至3oz得看你的载流需要。介质层的Material通常填FR-4Thickness按板厂能提供的常规压合叠构填四层板常见的做法是两面各1oz铜中间芯板用0.8mm或1.0mm然后外层再压半固化片PP加铜箔。这里有个听起来基础但很多人理解偏的地方Cross-section里填的介质厚度是决定阻抗计算是否准确的直接因素。你比如要控制50欧姆单端阻抗线宽、铜厚、介质厚度、介电常数这四者共同决定最终阻抗如果你的Cross-section里介质厚度填了0.2mm而实际压合完是0.15mm那算出来的线宽在真实板子上阻抗就会偏差明显。所以最靠谱的做法是投板前和板厂要一份他们的标准叠构参数照着填进Cross-section或者直接用板厂提供的阻抗计算工具来过一遍线宽。如果只是做常规的两层板不涉及阻抗控制Cross-section的参数可以相对随意但至少要保证大致匹配真实工艺。板厂拿到你的Gerber文件之后通常都会按他们自己的标准叠层来做你的Cross-section参数主要用于参考和辅助阻抗计算填入的值越接近真实板厂的沟通成本就越低。3.3 正片还是负片这个选择会直接影响Artwork正片Positive指的是光绘里画什么就是什么线就是铜区域就是铜。负片Negative则相反光绘里画的是“没有什么”空白区域是铜画线的地方反而是蚀刻掉的。Allegro里对平面层Plane默认用负片输出对走线层Conductor用正片输出。原因很简单电源和地层的形状通常就是一大块铜皮加几个隔离区域负片方式的数据量小、光绘文件简洁而且出错的概率低。需要特别注意的是正片负片的选择不是你在Artwork配置时才决定的而是在Cross-section里定下层的Type是Conductor还是Plane时基本就已经定调了。到了Artwork阶段你只需要确认对应的Film用的是一样类型的输出方式就行。如果把一个走线层误设成了Plane那后边生成的Gerber大概率会出现奇怪的“倒转”效果看起来就像是铜皮和空隙互换了一样这是很多新手调试半天也找不到原因的经典问题。3.4 阻抗线参考层的设置与层叠对应关系如果你板子上有USB、HDMI、DDR这类高速信号阻抗控制是绕不开的。在Cross-section里设置层叠时一定要确保高速信号层的参考层是完整的平面层。比如四层板推荐走法是顶层和底层走线第二层做完整地平面第三层做电源平面这样信号的回流路径短、参考平面稳定。实际操作中Allegro的层叠窗口里可以进行阻抗分析需要Sigrity相关模块或者第三方工具插件但即使不做分析你也要在Cross-section里确保参考层的Material类型和厚度设置存在不能把本该是平面的层留成“No Plane”或者干脆不设。很多人在做参考层设置时觉得麻烦直接留空等到出光绘、看Gerber时发现信号层和平面层之间的间距完全不对再回来改层叠数据已经铺了一堆铜处理起来特别费劲。4. 核心操作二光绘Film的添加与层映射4.1 进入Artwork界面正确理解Film的概念层叠配置完成后接下来的重点是光绘层的添加。菜单路径是Manufacturing-Artwork弹出来的Artwork Control Form就是光绘设置的核心窗口。这里的核心概念是Film一张Film可以理解为一个底片文件。一般情况下一块双层板至少需要四张FilmTop层底片、Bottom层底片、Top丝印底片、Bottom丝印底片阻焊层Soldermask和助焊层Pastemask也是独立的Film分别对应不同的制造工序。Film和物理层之间不是一一对应的关系。一个Film可以同时包含多个物理层的数据比如Top层的Film里既要包含ETCH/TOP顶层的走线铜皮也要包含PIN/TOP顶层元件的通孔焊盘盘面和VIA CLASS/TOP顶层过孔焊盘盘面还可能包含BOARD GEOMETRY/OUTLINE板框外形。理解了这一层映射关系你就明白为什么光绘文件不只是把层勾上就完事每个Film里的Layer Mapping才是真正的核心。4.2 添加Film的标准流程从新建到底片设置在Artwork Control Form对话框中左侧的Available Films列表为空时你需要右键点击选择Add Film。命名规则建议直观清晰比如TOP、BOTTOM、SILK_TOP、SOLD_TOP这种方便自己和板厂识别。在添加好TOP这个Film后选中它右侧的Layer Mapping区域就可以编辑了。此时点击Select All按钮并不会把所有层都勾上聪明的做法是只勾选与顶层相关的子类。通用的顶层Film匹配规则是ETCH/TOP、PIN/TOP、VIA CLASS/TOP这三项必须勾上BOARD GEOMETRY/OUTLINE也是必勾项。如果你在板子上画了额外的板边铜皮或金属化半孔还需要根据实际情况补选对应的BOARD GEOMETRY子类比如用于半孔设计的EDGE_COPPER等。完成勾选后点击Add按钮把选中的子类添加到右侧的Film成员列表中。同样的方法依次添加BOTTOM层底片勾选ETCH/BOTTOM、PIN/BOTTOM、VIA CLASS/BOTTOM、BOARD GEOMETRY/OUTLINE以及内层的底片。对于四层板假设第二层是GND平面且设置为Plane类型那么光绘添加的第二层Film是GND勾选层的时候要注意平面层对应的铜皮数据在Artwork里显示的默认子类是ETCH/GND负片输出时要确保该Film的Plot Mode设置为Negative。4.3 阻焊、助焊和丝印层的映射细节阻焊层Soldermask在Allegro中的子类名称是SOLDERMASK/TOP和SOLDERMASK/BOTTOM。制作这一层Film时勾选对应的SOLDERMASK/TOP加上BOARD GEOMETRY/OUTLINE即可。重点在于阻焊层通常不是单纯把全部区域阻焊掉而是要让焊盘区域开窗。Allegro的处理方式是你画的走线铜皮和焊盘会自动在SOLDERMASK层生成对应的开窗区域光绘里看到的效果就是大部分板面被阻焊覆盖只有焊盘和需要开窗的地方是空白。助焊层Pastemask则是给钢网厂用的子类名称是PASTEMASK/TOP和PASTEMASK/BOTTOM。同一块板子你和板厂沟通说“钢网开孔按电阻焊层来做”是对的但Allegro里助焊层和阻焊层必须分别输出两种Film因为工艺上一个是钢网开孔依据一个是绿油开窗依据。这两张Film在Artwork里如果漏配板厂会在开工后才发现轻则延期重则整个钢网重新做费用和周期都受影响。丝印层的映射相对好理解子类名称是SILKSCREEN/TOP和SILKSCREEN/BOTTOM。但这里有个容易踩的坑Allegro的丝印层在默认设置下会自动包含元件的位号文字、PCB板框说明文字、甚至厂商Logo图形。如果你不想让某些内容出现在丝印底片里需要在画板阶段就把它们放到别的子类下或者通过Artwork界面右侧的Include栏做过滤设置。另外底层丝印在出光绘时需要注意是否要做镜像。常规规则是顶层丝印从正面看底层丝印从背面看所以底层底片实际上应该以镜像方式呈现不过Allegro支持在Film属性里单独设置很多工程师不知道这个功能只能靠板厂在CAM里统一镜像效率低还容易出错。4.4 钻孔层和钻孔文件和光绘互补的另一张重要图纸Allegro里钻孔相关的输出分成两部分钻孔符号图Drill Drawing和钻孔数据NC Drill。Drill Drawing是一张用于人工检查的图形化图纸通常会生成到DRILL/DRL_1-2这种子类里它显示了每个孔的位置和对应的钻孔符号表板厂工程师拿它能快速核对孔位。NC Drill则是机器识别的数据文件一般导出的时候选择Separate类型每个孔径会单独生成一个文件或者选择Combined类型把所有孔径放在一个文件中。光绘和钻孔文件是配套的如果出光绘时不把Drill Drawing输出只给板厂一个NC Drill文件绝大多数板厂也能干活但如果钻孔位置和孔径有疑问时缺少图纸会让沟通变得异常困难。所以我的习惯永远是光绘层叠里一定包含DRILL_FILM并且在出Gerber时同步导出NC Drill和Drill Legend这样板厂拿到手可以直接鉴定孔位正确性。4.5 光绘格式和参数的最终确认在Artwork Control Form的General Parameters栏首先要确保Device Type选择的是Gerber RS-274X这也是目前主流板厂使用的标准格式。RS-274X的优势在于它把光圈表嵌入到文件中不需要额外的Aperture文件板厂读入CAM系统后能自行识别省去一堆对齐和丢失光圈的问题。下面有几个参数直接关系到光绘质量。Suppress Unconnected Pads选项一般不建议勾选因为如果焊盘定义有问题勾了会导致某些引脚的光绘焊盘消失如果你确定内层的孤立焊盘要去掉可以后期在板厂CAM里处理别在源文件里就把它压掉出了事不好排查。Unrounded Trailing Zeros建议打勾这样坐标数据不会出现无意义的补零文件体积减小兼容性更好。一个容易忽视的参数是Film Plot Mode里的Negative对于平面层Film在第三方工具里看去是反的但板厂知道这是负片所以显示问题不用紧张前提是你的Cross-section里对应层的Type确实是Plane。5. 导出验证与常见问题排查5.1 出光绘前最后一轮检查清单配置完所有Film之后先别急着点Gerber。我通常按以下几点过一遍所有层的Film数量是否与板子层数匹配双面板应该是顶层、底层、丝印、阻焊、助焊、钻孔图至少6个文件以上每个Film内是否包含板框子类BOARD GEOMETRY/OUTLINE没有板框的光绘板厂拼板定位很麻烦内层平面Film是否设置为Negative信号层Film是否也是Positive原点、单位、精度已确认毫米、4位小数动态铜皮已全部光滑化没有剩余Shape空洞提示在确认无误后点击Create Artwork按钮Allegro会自动到指定目录下生成一批光绘文件。注意Allegro在生成时可能会弹出一些警告比如“Some layers are empty”或者“Still in dynamic fill status”前者通常代表某些Film里的子类没有实际数据后者表示铜皮还没完全更新。要根据具体警告内容逐个排查别直接点掉当没看见。5.2 常见问题速查我在实际项目中遇到过的问题一Gerber里缺少某些走线或者焊盘。这种绝大多数是Film的层映射没有勾全比如只勾了ETCH/TOP忘勾PIN/TOP和VIA CLASS/TOP。结果是走线能看到焊盘盘面却消失出板后元件无法焊接。解决方法是回到Artwork里补充映射重新生成。问题二内层显示整个反了Cart里看起来像铜皮和空隙互换了。这是正负片搞反的典型症状。检查Cross-section里该层的Type是否为Plane同时Artwork里该Film是否为Negative。如果你把Conductor层的Film设成了Negative就会出这个现象。问题三顶层丝印正常底层丝印在Gerber里是反的。这个问题在板厂CAM里经常能被自动纠正但如果你用CAM350自己检查就会看到镜像问题。Allegro中处理方式是在底层丝印Film的属性里通过选项把底层数据做镜像处理对于十六、十七以上版本直接在Film属性设置里勾选Mirror即可。问题四光绘出来了但板厂说文件打不开。多半是路径中有中文或者特殊字符、文件名不规范有的板厂CAM系统不识别中文和空格。保持导出目录和文件名简单清晰别用“新板子最终版-final”这种带空格和汉字的命名。问题五叠层厚度和板厂确认的不一致。这就是前面说的Cross-section里介质厚度没有匹配板材厂商的标准叠构。投板前把板厂给的参考叠层输入进去或者直接给他们一份你配置好的叠层表让他们确认。这个步骤别省尤其是做阻抗板时踏踏实实地沟通过一遍比事后返工轻松太多。5.3 用CAM工具做一次光绘终检能省下打样成本即使板厂帮你检查Gerber你自己也最好在本地用CAM350或者免费工具做一次快速预览。为什么要做这一步因为光绘是生产资料你不可能像看Allegro原始工程那样随时修改如果Allegro中的某些显示设置欺骗了你最关键的文件反而可能带着问题发出去。用CAM工具打开导出文件逐层看一遍重点检查走线是否闭合、铜皮是否缺失、丝印是否完整、孔径符号表是否存在这样碰到问题还能在发板前改掉比板厂追着你改强得多。我自己的习惯是每次导出光绘都强制自己做一次CAM预览大概花十几分钟但换来的是投板一次通过的安心感。这个习惯坚持了几年帮助我避开过至少四五次明显的光绘配置错误尤其是在团队交接项目、不同电脑版本不同Allegro设置互相迁移的时候CAM预览几乎是唯一可靠的核对兜底手段。6. 版本差异和团队协作中的额外提醒6.1 Allegro 16.6、17.2和17.4在光绘设置上的小区别不同版本的Allegro在Artwork界面上文字布局和默认值会有些微差异。16.6里Artwork控制面板比较朴素17.2之后增加了一些快速选择按钮17.4在界面风格上更现代化但核心概念完全一致。比较容易被忽视的是默认输出路径的差异16.6默认输出到当前工程目录的artwork子目录17.2以上可能输出到工作目录下如果你换版本操作导出后找不到文件先从输出路径上排查。另外一个版本相关的点是从17.2开始Allegro默认对平面层使用了新的Fill模式Smooth如果你从16.6升级过来光绘里铜皮的边界可能会有细微差别最好在升级后重新跑一遍图形比对确保工程文件完全兼容。6.2 和别人协作时如何保证光绘配置不被误改团队项目里不同工程师的Allegro环境可能各自保存了一套Artwork默认配置。导出文件之前最稳妥的办法是让项目负责人统一提供一份标准的Artwork配置文件后缀是.art或.art_param。导入方式是在Artwork Control Form里右键选择Load把统一配置加载进来然后再检查一遍层映射。这样可以避免不同工程师在同一块板上导出不同的光绘结构板厂那边也更省心。如果你们公司有自己的模板库建议把光绘配置直接固化在板级模板里新项目从模板开始创建很大程度上就能规避人为改错的情况。7. 一些安心的收尾习惯最后分享一个我个人的习惯每次光绘生成之后我会在工程目录下建一个gerber_out文件夹把所有光绘文件按日期归档然后附带一个README文本把板子层数、层叠结构、阻抗要求、特殊工艺要求写清楚。这个文件板厂即使不主动看万一出现理解误差时也能当作沟通依据。这个习惯看似多此一举但当你同时维护几个项目、动不动回头查几个月前的投板文件时就会感激当初自己留了这份记录。光绘层叠的添加本质上是把你脑子里的PCB设计认知转译成板厂生产线能读懂的标准语言。这个转译过程并不难难的是每一步都做对、做全、做规范。把上面这些步骤和排查方法过一遍多发几次板之后你自然会形成自己的那一套流程。
返回列表