ARTICLE DETAIL

资讯详情

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

Allegro导出Gerber光绘文件全流程与板厂交付检查指南

Allegro导出Gerber光绘文件全流程与板厂交付检查指南 1. 光绘文件到底是什么为什么它决定了板子能不能顺利下线光绘文件行内人更习惯叫 Gerber这是 PCB 设计数据交付给板厂时最核心的一套文件。你把板子在 Allegro 里画得再漂亮规则检查全绿最后交付给工厂的那一层数据如果错了板子照样报废。这些年我见过太多案例设计端仿真跑得飞起结果光绘层缺了一个阻焊开窗或者钻孔文件和孔径表对不上整批板子直接回炉。所以导出光绘文件这件事看起来只是点几下菜单实际上它是一次完整的数据交付动作任何细节都值得单独拎出来讲清楚。Allegro 这套工具链在行业里用得很广Cadence 的 PCB Editor 从 16.6 一路到 17.2、17.4界面和流程大体一致但菜单路径和部分默认参数有差异。很多新手第一次导出 Gerber 的时候直接点 Manufacture 下面的 Artwork 就冲出去了结果板厂回复说缺钻孔层、阻焊层没有外扩、丝印压在焊盘上。这些问题不是软件 bug而是对光绘文件这套交付规范理解不到位。这篇内容主要面向两类人一类是刚开始用 Allegro 做板子、还没独立交付过光绘文件的工程师另一类是做了几年板子但一直是跟着同事的模板走、没系统梳理过导出逻辑的人。我会把整个导出流程拆成设计与交付两个视角讲清楚每一层为什么要这么设置参数为什么是这个值什么样的错误会在板厂那边被判为不可制造。读完之后你应该能独立完成从检查到打包的完整动作而不是照着别人的截图机械操作。2. 导出前的全局设计与思路拆解2.1 为什么不能直接导先要过一遍设计自检导出光绘本质上是把 Allegro 数据库里的几何图形按层映射成标准格式。如果数据库本身就是乱的导出来的 Gerber 只会把错误原封不动传下去。所以我养成的习惯是在打开 Artwork 对话框之前先跑一遍完整的自检清单。这个动作看起来很费时间但比起板厂打回来重导省下来的时间更多。自检的第一件事是 DRC 检查。Allegro 里的 Design Rules Check 不只是走个流程特别是线宽线距、铜到板边距离、焊盘与孔的关系这几项工厂的工艺能力是硬约束。线宽低于 4mil 的板子普通工艺做出来良率会很难看。第二件事是确认所有器件都放了封装没有那种只放了丝印却没放 Padstack 的器件这种器件在导出时不会报错但实际板子上就是少了个焊盘位置。第三件事是过一遍 Drc 里的 Unconnected Pins 和 Line to Line 报告哪怕全部忽略也要确认自己知道每一条为什么可以忽略。我见过有人直接关掉 DRC 标记就导出最后板子回来发现两个网络短路原因是一条走线从焊盘旁边擦过规则设置里那条间距被误设成了 0。2.2 图层规划哪些层必须出哪些层可以省Allegro 默认的 Artwork 层是下面这些但实际交付给板厂要出的层更多尤其是多层板。我列一个典型的四层板需要出的层清单方便你对照。层类型对应 Allegro Film 名称是否必需说明顶层线路TOP必需包含铜箔走线、焊盘、覆铜底层线路BOTTOM必需同顶层内层线路L2/L3 等多层板必需内层命名建议用 GND、PWR 或编号顶层阻焊SOLDERMASK_TOP必需开窗注意外扩底层阻焊SOLDERMASK_BOTTOM必需开窗注意外扩顶层钢网PASTEMASK_TOP贴片板必需开窗一般比焊盘略小底层钢网PASTEMASK_BOTTOM贴片板必需同上顶层丝印SILKSCREEN_TOP必需器件位号与轮廓底层丝印SILKSCREEN_BOTTOM按需只有器件在底面才需要钻孔图NC Drill必需单独导出不是 Gerber钻孔表Drill Legend建议方便板厂核对板框OUTLINE必需铣边和拼板依据这里有一个容易被忽略的点内层命名。如果内层用 L2、L3 这种编号板厂需要从叠层结构去反推哪层是信号哪层是平面。更稳妥的做法是内层直接命名为 GND、PWR、SIG1 这类功能名同时在导出的同时附一份叠层说明文档写明层序、板厚、铜厚、介质厚度。板厂拿到之后能直接对号入座减少来回确认。2.3 用什么单位导出这个问题比想象中重要Allegro 导出 Gerber 的单位有两种英制和公制。行业里默认用英制格式是 2:5也就是整数位 2 位、小数位 5 位例如 0.01000 英寸。这个精度对应的最小分辨力是 0.00001 英寸也就是 0.254 微米左右足够覆盖常规板子的最小线宽。如果选了 3:3 这种格式精度只有 0.001 英寸25.4 微米细线路会圆整到误差里所以千万别用。公制的话用 4:6整数位 4 位小数位 6 位单位是毫米。有些板厂默认收英制有些收公制交付前确认一下。我个人的习惯是英制导出因为大部分国产板厂的 CAM 软件默认按英制解析不容易出格式歧义。但如果你做的是精密细线路板比如线宽 2mil 以下建议和板厂确认他们希望收哪种格式避免因单位解析导致线宽偏差。注意Gerber 的格式里还有前导零和后导零的区别。2:5 配合省略前导零是常见组合Allegro 的 Format 选项里可以设置。如果板厂反馈文件坐标不对、图形整体偏移十有八九是零的省略方式和厂家解析设置不一致。3. 核心细节解析与实操要点3.1 阻焊层的外扩值到底设多少阻焊层是光绘里最容易出错的一层因为它有一个外扩的概念。焊盘在阻焊层是负片逻辑也就是有开窗的地方不盖油墨所以阻焊层的图形是在焊盘尺寸基础上放大一圈得到的。这个放大值行业常规是 4mil 到 6mil也就是单边外扩 2mil 到 3mil。为什么需要外扩因为板厂在制作阻焊时油墨的成像和对位都会有偏差如果开窗和焊盘一样大稍有偏移油墨就会压到焊盘边缘导致焊接时润湿不良甚至虚焊。外扩一圈给工艺留了容差。但外扩也不能太大否则相邻焊盘之间的油墨变窄严重时两个焊盘之间会连锡。Allegro 里控制这个值的地方有两个层次。一是 Padstack 自身的 Soldermask 层定义那是全局的二是在 Artwork 层里通过 Film 的 Negative 设置来统一处理。我一般建议在 Padstack 里把阻焊外扩设好这样每个焊盘都有正确的开窗Artwork 层里不用再重复调整。有些设计里阻焊开窗是整个器件区域开一大块那是为了散热或者特殊工艺比如需要爬锡的焊盘这种要单独确认。对过孔的处理要看工艺。过孔如果做阻焊塞孔那阻焊层上不需要开窗反而要在工艺文件里注明塞孔要求。如果过孔要盖油那阻焊层不要给 Via 开窗。Allegro 默认 Via 的 Soldermask 层是空的也就是盖油状态这是符合常规的不要手贱去给它补开窗。3.2 钢网层和阻焊层的区别别搞反了钢网层 PASTEMASK 是给 SMT 印刷锡膏用的只有贴片焊盘才有。阻焊层 SOLDERMASK 是给板厂做阻焊用的所有需要露铜的地方都有。这两层的图形高度相似但逻辑完全不同。钢网开窗一般比焊盘略小比如 0.1mm 以内目的是控制锡膏量避免太多锡导致桥连。但不是所有焊盘都要缩对于 BGA 这种球间距很小的器件钢网开窗比例要根据焊盘尺寸和面积比来算这个属于 SMT 工艺范畴通常由 SMT 厂给参数。作为 PCB 设计端至少要保证钢网层里只出现贴片焊盘和需要的插件焊盘不能把测试点、安装孔也带进去。我踩过的一个坑是某次导出时 PASTEMASK 层没有单独设置 Film直接复用了 SOLDERMASK 的层内容结果钢网多了好多个插件通孔的开窗SMT 厂印锡的时候孔里全是锡返工重做。正确的做法是在 Artwork 里单独建 PASTEMASK_TOP 和 PASTEMASK_BOTTOM 两个 Film层内容只包含对应的 Pin 和 Via如果 Via 需要开钢网的话。3.3 钻孔文件的两种导出方式钻孔不是 Gerber 文件它有两种格式NC Drill 和 Drill Legend。NC Drill 是给数控钻机用的是必需文件Drill Legend 是给板厂工程师看的图纸是辅助文件。Allegro 导出 NC Drill 的路径是 Manufacture 下的 NC Drill。这里有几个参数要注意一是单位要和 Gerber 保持一致二是格式一般用 2:4 或 2:5三是是否包含盲埋孔如果板子有盲埋孔要按钻孔对分开导出同时附上钻孔对说明。常规通孔板直接导出一次就行。Drill Legend 则是用 Manufacture 下的 NC Drill Legend 生成它会自动生成一张表格放在指定的层上包含孔径、数量、是否金属化。这张表通常也放到 NC Drill 里一起给板厂方便核对。很多新手只导出 NC Drill 不导出表格板厂也能做但少了核对依据遇到孔径异常时沟通成本会变高。3.4 板框和叠层信息的交付板框层在 Allegro 里就是 Outline它通常位于 Board Geometry 下的 OUTLINE 子类。导出 Gerber 时板框一般单独出一个 Film或者放在顶层线路层里一起出。我建议单独出因为某些板厂会拿板框层去做铣边和拼板单独一层不容易和其他图形混淆。叠层信息虽然不是光绘文件但必须一起交付。它至少包含层数、每层是信号还是平面、板厚、铜厚、介质材料与厚度。比如四层板常见结构是 TOP 1oz、L2 0.5oz、L3 0.5oz、BOTTOM 1oz介质用 FR-4总板厚 1.6mm。如果板子对阻抗有要求还要给出阻抗控制层的线宽和目标阻抗值比如单端 50 欧姆对应线宽多少差分 100 欧姆对应线宽线距多少。这些信息写清楚板厂才能按阻抗打样。注意叠层文档不要口头说要写成一个文本或表格放进交付包。板厂工程部每天看几十套文件口头信息很容易被漏掉落到纸面上才有依据。4. 实操过程与核心环节实现4.1 从参数配置到 Artwork 层建立真正动手的第一步是确认工作环境的单位设置。打开 Allegro先看 Setup 下的 Design Parameters在 Design 标签里把 User Units 确认为 mils 或 millimeter这个设置会影响后续所有参数解释。如果你一直是 mil 制保持 mil 不变避免中途切换。接下来是 Artwork 对话框的配置。路径是 Manufacture 下的 Artwork打开之后你会看到两个标签页General Parameters 和 Film Control。先在 General Parameters 里设置全局参数我通常这样配Device选 Gerber RS274XFormat选 2:5英制或 4:6公制Output Units和 Format 对应Error on Undefined Apertures勾选防止出现未知光圈Optimize: 选 GLO这些设置里RS274X 是内嵌光圈的 Gerber 格式现在板厂基本都支持。老式的 RS274D 需要单独给光圈表已经被淘汰了不要选。Error on Undefined Apertures 勾上之后如果某个图形没有对应光圈导出会报错而不是静默跳过这是保护机制。Film Control 里就是逐层建立 Artwork 层的地方。点击 New输入层名比如 TOP然后配置这一层要包含哪些 Subclass。以 TOP 层为例它的内容包括ETCH/TOP走线和铜皮的主体PIN/TOP焊盘和过孔开窗VIA CLASS/TOP过孔焊盘BOARD GEOMETRY/OUTLINE可选板框PACKAGE GEOMETRY/PLACE_BOUND_TOP可省每个 Subclass 后面还有一列 Used表示这一层里实际有图形。你可以只勾选 Used 的类减少 Gerber 文件里的空元素。TOP 层配好之后BOTTOM 层可以复制过去再改节省时间。4.2 阻焊与丝印层的单独配置技巧阻焊层 SOLDERMASK_TOP 的配置逻辑和线路层不一样它是负片所以层里只需要有开窗图形。它的 Subclass 一般包含PIN/TOP 里的 Soldermask 部分VIA CLASS/TOP 里如果 Via 需要开窗器件一些特殊标记比如需要露铜的散热盘丝印层 SILKSCREEN_TOP 的内容来自 PACKAGE GEOMETRY/SILKSCREEN_TOP 和 BOARD GEOMETRY/SILKSCREEN_TOP 两个 Subclass。配置的时候要确认丝印没有压到焊盘上这是基本的工艺要求。Allegro 里可以用 Display 下的 Silkscreen 显示方式来检查也可以在导出的 Gerber 上用 CAM 软件复核。这里分享一个我自己常用的操作顺序先把线路和阻焊层建好然后统一检查一次丝印与阻焊、丝印与焊盘的重叠情况最后再建钢网层。因为钢网层依赖焊盘数据提前检查能避免把错误带到钢网里。全部 Artwork 层建好之后用 Display 下的 Film 预览功能逐个查看确认每层的图形符合预期再执行导出。4.3 导出执行与文件命名规范Artwork 层全部建好之后点击对话框里的 Create ArtworkAllegro 会按照配置逐层生成 Gerber 文件。这时候要注意几个点第一输出路径。Allegro 默认输出到工程目录下的 artwork 子目录里面还有一层是所有层合并的子文件夹。生成之后记得进去检查文件是否齐全每个 Film 对应一个 .art 文件RS274X 格式通常后缀是 .art 或 .gerber取决于设置。第二文件命名。不要用默认的 draft.art 这种名字要改成能让人一眼看懂的名字比如 TOP.art、BOTTOM.art、SOLDERMASK_TOP.art。板厂拿到文件后不需要再逐一打开确认减少沟通成本。第三导出之后用文本编辑器打开其中一个 .art 文件看一下头部是否包含 RS274X 的光圈定义通常会有%FSLAX25Y25*%这样的格式声明X25 表示 2:5 格式。如果看到这个声明说明格式设置正确。第四钻孔文件的导出要单独做一次路径是 Manufacture 下的 NC Drill。选择好单位、格式、是否包含盲埋孔然后执行。导出完成后会生成 .drl 文件。同时用 NC Drill Legend 生成钻孔表放到指定层再把它也导成一个 Gerber 或 PDF 一起交付。4.4 交付前的完整性核对清单所有文件导出之后在发给板厂之前我会做一次完整的核对。这个清单我建议你也固定下来核对项检查方式通过标准Gerber 层数数 .art 文件个数与设计的板层数一致最小线宽用 CAM 软件量不小于板厂工艺能力最小孔径查看 .drl 和钻孔表不小于板厂最小钻孔能力阻焊外扩比对焊盘与开窗单边外扩一致丝印压焊盘目视或 DRC无重叠板框闭合CAM 查看闭合无缺口叠层与阻抗文档核对与设计一致钻孔表查看孔径列表孔径与数量对应这个核对过程最省力的方法是把导出的 Gerber 重新导入一个 CAM 工具里比如 CAM350 或者开源的 Gerber 查看器逐层叠起来看。如果手边没有 CAM 工具至少要用 Allegro 自带的 Film 预览再过一遍。很多错误在 Gerber 文件层面才能看到光在 Allegro 设计界面里看是看不出来的。4.5 实际参数计算示例线宽与孔径的取舍举个具体的例子说明参数是怎么定的。假设板子要过 2A 电流走线厚度是 1oz 铜也就是 35 微米环境温升允许 10 摄氏度。根据 IPC-2221 的经验公式外层 2A 电流需要的截面积大约是 0.63 平方毫米对应 1oz 铜的线宽约 18mil。如果空间紧张只能走 10mil那就得加大线厚到 2oz或者走内层并允许更高温升。这个计算不是光绘导出环节的事但它决定了你导出的线路层里线宽是不是合理。孔径的计算也是类似。过孔载流能力和孔径、铜厚有关。一个 0.3mm 孔径的过孔孔壁铜厚 25 微米载流能力大概 1A 左右。如果某个电源网络要过 2A单个过孔不够要么加大孔径要么多打几个。这些数值最终都体现在钻孔文件里板厂会按你给的孔径去钻所以导出前要核对。实操心得把板子的关键参数记在一个设计说明文档里包括电流需求、目标阻抗、层叠结构、关键线宽、孔径。导出光绘的时候顺手核对一遍比每次重新推算要可靠得多。5. 常见问题与排查技巧实录5.1 板厂反馈缺层或缺元素怎么定位最常见的反馈是缺钻孔层。原因通常是 NC Drill 忘记导出或者导出时选了错误的单位。排查方法是先看交付包目录确认有 .drl 文件然后再打开钻孔表核对孔径。如果 .drl 文件存在但板厂说打不开十有八九是格式不在厂家支持的范围内比如厂家只认 2:4你给了 2:5。第二常见的是阻焊层没有开窗。这种情况要检查 Artwork 里 SOLDERMASK 层的 Subclass 是否包含了 PIN/TOP 的 Soldermask。有时候焊盘的 Soldermask 定义在 Padstack 里但没有被 Artwork 层正确引用导出后就是一片空白。检查方法是在 Allegro 里用 Film 预览看阻焊层如果看不到任何开窗图形说明层配置有问题。还有一种反馈是丝印压焊盘。这个在设计端用 DRC 可以查出来Allegro 有专门的 Silkscreen 检查规则。如果导出后才发现说明导出前没跑这条规则或者规则没启用。补充一句丝印压在焊盘上通常不是致命问题板厂会自行削掉但更规范的做法是设计端就处理掉避免厂家按自己理解随意修改。5.2 导出的 Gerber 坐标偏移或图形错位这类问题几乎都和格式或零点设置有关。Allegro 在导出 Gerber 时有一个 Offset 的概念如果每次导出用的零点不一致多批文件之间就会错位。解决办法是在 General Parameters 里固定零点设置通常用 Absolute 而不是 Relative。另外全局零点在 Setup 下的 Design Parameters 里也能设提前定好不要再改。如果板厂反馈整体坐标偏移而你自己用 CAM 打开看是正常的那可能是厂家把多个文件叠加时参考点取错了。这时候把板框层单独提供一份让厂家以板框左下角为基准对齐通常能解决。5.3 钻孔表里孔径数量对不上这个问题的排查顺序是先在 Allegro 里用 Tools 下的 Reports 生成钻孔报告看设计端统计的孔径种类和数量然后看导出的 NC Drill 文件里的孔径列表最后看 Drill Legend 表格。三处对比哪里对不上就在哪里查。有一种情况是设计里存在不同焊盘但孔径相同的孔Allegro 会按孔径合并这时候数量对但种类少是正常的。另一种情况是有的过孔被设置了非金属化它会出现在钻孔表里但不在金属化列表里如果板厂按金属化理解就会对不上。导出前确认哪些孔是非金属化的在钻孔表里标注清楚。5.4 盲埋孔板导出时的特殊处理盲埋孔的结构比通孔复杂导出时不能只出一次钻孔。每一组钻孔对比如 L1-L2、L2-L3、L3-L4都要单独导出一次 NC Drill并分别命名清楚。同时在叠层文档里画出每一层的钻孔范围否则板厂没法判断哪组孔是从哪层到哪层。盲埋孔板的钻孔表也要分组生成每组标注对应的层对。还有一点盲埋孔板对层间对准精度要求高叠层里每层的厚度要标清楚板厂才能控制压合后的对准。这类板子导出之后我建议多花时间和板厂工程确认一次不要只靠文件交付。5.5 常见问题速查表现象可能原因排查动作板厂说缺层NC Drill 未导出或 Film 未建检查目录和 Artwork 层列表阻焊无开窗Soldermask Subclass 未勾选Film 预览确认图形坐标偏移零点设置不一致统一 Absolute 零点线宽偏差单位或格式错误核对 2:5/4:6 设置孔径对不上非金属化孔未标注生成钻孔报告核对丝印压焊盘规则未启用跑 Silkscreen DRC钢网多开窗PASTEMASK 复用了阻焊层单独建 PASTEMASK Film板框不闭合Outline 有缺口CAM 里检查闭合性6. 几个我在实际项目里踩出来的经验6.1 建立可复用的 Artwork 模板新手最容易犯的错是每次导出都重新配一遍 Artwork 层既慢又容易漏。我的做法是做完第一块板子之后把整个 Artwork 配置通过 File 下的 Export 保存成一个参数文件下次新项目直接 Import 进来。这样层名、Subclass 列表、格式设置全部继承只需要按项目调整层数比如六层板就多建两个内层。这个动作一次投入后面每个项目都能省十几分钟而且能保证交付一致性。模板导入之后要做的检查是内层命名对齐。如果模板里内层叫 GND 和 PWR而你的新板子内层是普通信号层记得改名并调整 Subclass不要直接沿用名字导致误解。另外模板里的格式和单位也要确认如果上一个项目用公制这次做英制板子导入后记得改回来。6.2 和板厂确认工艺能力的时机很多人把工艺能力确认放到最后一刻导出完了才去问板厂能不能做结果返工。我的习惯是在布局阶段就把关键参数发给板厂工程确认一次包括最小线宽、最小孔径、最小线距、板厚、层数、表面处理方式。确认完了再往下做能避免大量返工。尤其是表面处理比如喷锡、沉金、OSP它们对阻焊开窗和焊盘尺寸有细微影响。沉金对阻焊附着力影响小喷锡可能要在阻焊上留出更多余量。这些信息提前确认导出时就知道阻焊外扩设多少合适。6.3 交付包的组织方式我自己交付板厂时会把文件按下面结构组织ProjectName/ ├── Gerber/ │ ├── TOP.art │ ├── BOTTOM.art │ ├── SOLDERMASK_TOP.art │ ├── ... ├── Drill/ │ ├── NC.drl │ └── DrillLegend.pdf ├── Doc/ │ ├── Stackup.txt │ ├── Impedance.txt │ └── Readme.txtReadme 里写清楚项目名、板层数、板厚、表面处理、特殊要求比如哪些孔要塞油、哪些区域要沉金。文档不用很长但要让板厂工程拿到就能开工不用再来回问。这份组织习惯看起来是小事但长期合作下来板厂会优先处理你的文件因为沟通成本低。6.4 导出后自检的一个笨办法有个很笨但很有效的办法把导出的所有 Gerber 用 CAM 软件重新叠加起来按实际叠层顺序从顶层看到底层。如果中间某一层的图形位置明显不对或者某层是空的一眼就能看出来。这个动作大概花十分钟但能发现很多文件层面的错误。我还会把 Gerber 和设计界面的截图并排放着对比重点看焊盘数量和位置是否一致特别是 BGA 和细间距器件。BGA 焊盘如果在导出后少了几个SMT 环节就是致命的。这个对比不需要精确到微米但宏观上不匹配就要立刻查。7. 收个尾说点实在的导出光绘文件这个事技术含量不在于操作多复杂而在于对交付规范的敬畏。Allegro 的 Artwork 对话框我用了很多年功能上没有什么神秘的地方但每次导出我都还是会按清单过一遍因为我知道板厂的工艺是有边界的设计端多一分仔细产线就少一分返工。最后分享一个小技巧如果你经常做类似结构的板子把导出流程写成一张纸质检查表贴在工位上每完成一项打个勾。人脑在重复劳动里容易走神纸面上的勾选比记忆可靠。等你做得多了这套流程会变成肌肉记忆那时候你就能把注意力放到更重要的布局和信号完整性上而不是纠结某个层有没有勾对。
返回列表