☰
Allegro光绘层叠配置全攻略:从Cross-section到Gerber导出
2026/10/7 1:45:57 网站建设 项目流程

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,弹出来的窗口就是整个物理层叠的核心界面。左侧DML(Database 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-4,Thickness按板厂能提供的常规压合叠构填,四层板常见的做法是两面各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可以理解为一个底片文件。一般情况下,一块双层板至少需要四张Film:Top层底片、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设计认知转译成板厂生产线能读懂的标准语言。这个转译过程并不难,难的是每一步都做对、做全、做规范。把上面这些步骤和排查方法过一遍,多发几次板之后,你自然会形成自己的那一套流程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询