ARTICLE DETAIL

资讯详情

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

Allegro PCB导出Gerber与钻孔文件同步处理实战指南

Allegro PCB导出Gerber与钻孔文件同步处理实战指南 1. 为什么“导出Gerber”和“钻孔文件”必须当成一件事来做画完PCB板子能不能顺利做出来很多时候不取决于你布线多漂亮而取决于你交给板厂的那套文件是不是“自洽”的。Gerber描述的是每一层的铜箔、阻焊、丝印图形钻孔文件描述的是板子上所有孔的位置、孔径和类型。这两套东西如果对不上板厂那边轻则打电话让你重新确认重则直接按错误文件投产几千块钱的板子就废了。我见过太多这样的情况Gerber里焊盘是完整的钻孔文件里却少了一组过孔或者反过来钻孔文件里有某个安装孔Gerber的机械层却没画出来。板厂CAM工程师不会帮你猜意图他们只认文件。所以“同步处理”这四个字本质上不是软件操作问题而是数据一致性问题。Allegro在这件事上的处理逻辑和Altium Designer不太一样。AD那边很多人习惯用“Gerber Setup”一次性勾选所有层钻孔文件单独出一个NC Drill。Allegro的流程更细光绘参数、钻孔参数、层叠对应关系分散在不同菜单里新手很容易漏掉某一步导致输出不完整。这篇文章就把Allegro从17.2到17.4这几个常用版本里导出Gerber和钻孔文件的同步处理方法讲透包括参数怎么设、文件怎么核对、出了问题怎么排查。适合谁看如果你已经能用Allegro完成布局布线但每次出光绘都有点心里没底或者你之前用AD、PADS转过来对Allegro这套流程还不熟那这篇内容就是给你准备的。我会尽量用实际操作的顺序来讲不堆理论重点放在“怎么做”和“为什么这么做”。2. 出图前的准备工作别急着点Artwork很多人一打开Allegro就直奔Manufacture菜单这是大忌。光绘和钻孔文件是设计的“最终快照”如果设计本身还有未处理的DRC、未铺完的铜、未更新的焊盘导出来的文件就是带病的。我一般会按下面这个顺序先做一轮检查。2.1 设计状态确认与DRC清理先跑一次完整的DRC。Allegro的DRC分在线和批量两种出图前必须做批量检查。菜单路径是Tools - Quick Reports - Design Rules Check Report或者直接用Display - Status看整体状态。重点看几个指标未连接的飞线数、DRC错误数、铜皮状态。铜皮这块特别容易出问题。Allegro里铜皮有“静态”和“动态”两种状态动态铜皮在出图前必须Smooth一遍。如果铜皮只显示了轮廓没有填充Gerber里就是空的。操作是Shape - Global Dynamic Shape Parameters确认Smooth方式然后Shape - Smooth。我习惯在出图前把所有铜皮状态刷新一次确保显示是实心的。注意如果铜皮显示为轮廓线先检查Setup - User Preferences - Display - shape_fill是否被关掉了。这个选项关掉后铜皮只显示边框但实际数据还在不影响出图。但如果你不确定最好打开确认一下。DRC清理的原则是能修的都修掉修不掉的要确认是否可接受。比如丝印压焊盘这种板厂通常能接受但如果是线间距不够那就必须改。出图前留一堆DRC等于把风险留给板厂。2.2 层叠结构与钻孔对设置Allegro的层叠设置直接决定了Gerber输出哪些层。Setup - Cross-section里能看到完整的层叠结构包括信号层、平面层、阻焊层、丝印层。这里要确认两件事一是层数对不对二是每层的类型是否正确。钻孔对Drill Pair是Allegro里一个很关键的概念。它定义了从哪一层钻到哪一层比如通孔是从Top到Bottom盲孔是从Top到Inner Layer 2。Setup - Constraints - Physical里可以查看和编辑钻孔对。如果钻孔对设置错了钻孔文件里的孔就会和Gerber里的焊盘对不上。我一般会在Cross-section里把每一层的名称和类型过一遍特别是阻焊层和丝印层。有些设计里阻焊层是负片有些是正片Allegro默认阻焊层是负片输出这个在Artwork里可以调。但如果你不清楚最好保持默认因为板厂通常按负片理解阻焊。2.3 焊盘与封装库的最终核对焊盘是Gerber和钻孔文件的交汇点。一个焊盘在Gerber里是一个铜箔图形在钻孔文件里是一个孔。如果焊盘库有问题比如孔径定义和实际钻孔对不上那两套文件就会打架。出图前我会用Tools - Padstack - Modify Design Padstack检查一遍所有用到的焊盘。重点看孔径Drill Size和焊盘尺寸Pad Size是否匹配。有时候设计中途换过焊盘但旧焊盘还留在库里出图时可能被引用。Allegro有个功能叫Tools - Padstack - Purge可以清理未使用的焊盘我一般会跑一下。还有一个容易忽略的点安装孔。如果安装孔是作为机械符号放在板上的它可能没有对应的焊盘但需要在钻孔文件里体现。这种情况要么给安装孔加一个非金属化焊盘要么在钻孔文件里单独处理。我倾向于加非金属化焊盘这样Gerber和钻孔文件都能自动包含。3. Gerber导出参数详解每一层都要有明确意图Allegro的Gerber导出在Manufacture - Artwork里。打开后是一个叫“Artwork Control Form”的窗口里面有几个标签页General Parameters、Film Control、Options。很多人只关注Film Control其实另外两个标签页里的参数同样影响输出结果。3.1 General Parameters里的关键设置General Parameters里最核心的是Format和Device。Format决定坐标数据的精度通常选2.5或3.5。2.5表示整数部分2位、小数部分5位单位是英寸或毫米。现在板厂普遍能接受2.5但如果板子密度很高建议用3.5。Device选Gerber RS274X这是最通用的格式自带光圈表板厂不需要额外的光圈文件。还有一个选项是Output Units选毫米还是英寸看你的设计习惯。国内板厂一般默认毫米但英寸也没问题关键是和钻孔文件的单位保持一致。我遇到过Gerber用英寸、钻孔用毫米的情况板厂CAM工程师得手动换算容易出错。Error Handling里有个Abort on error选项建议勾上。这样如果某一层输出失败整个流程会停下来不会生成一堆不完整的文件。我见过有人没勾这个结果少了一层自己还不知道。3.2 Film Control里怎么组织层Film Control是Artwork的核心。这里列出了所有要输出的层每一层对应一个“Film”。Allegro默认会生成一些Film比如TOP、BOTTOM、SOLDERMASK_TOP等但默认的不一定全也不一定对。我一般会手动创建Film按板厂的要求来。常见的层包括顶层线路TOP底层线路BOTTOM顶层阻焊SOLDERMASK_TOP底层阻焊SOLDERMASK_BOTTOM顶层丝印SILKSCREEN_TOP底层丝印SILKSCREEN_BOTTOM顶层钢网PASTEMASK_TOP底层钢网PASTEMASK_BOTTOM钻孔图DRILL_DRAWING机械层OUTLINE每一层在Film里要指定对应的Allegro层。比如TOP层要包含PIN、VIA、ETCH/TOP、PACKAGE GEOMETRY/PLACE_BOUND_TOP等。这里有个技巧用Add按钮添加层时可以按类选择比如选Etch类然后选TOP子类。不要一层一层手动加容易漏。提示阻焊层在Allegro里是负片输出也就是说你画阻焊开窗的地方Gerber里是空的没画的地方Gerber里是实的。这和有些软件的正片逻辑相反第一次用Allegro的人容易搞混。3.3 光圈表与坐标格式的同步光圈表Aperture Table是Gerber文件里定义线宽、焊盘形状的部分。RS274X格式会把光圈表嵌在文件里所以不需要单独输出。但如果你用的是RS274D格式就需要额外输出一个光圈文件。现在基本都用RS274X这个可以忽略。坐标格式在General Parameters里设但Film Control里每一层可以单独覆盖。我建议统一用一套格式不要有的层用2.5有的层用3.5。统一格式的好处是板厂CAM软件读入时不会混乱。还有一个细节Suppress选项。Film Control里有个Suppress列可以设置是否抑制某些图形。比如丝印层可以抑制焊盘上的丝印避免丝印印到焊盘上影响焊接。这个功能很实用但设置时要小心抑制错了可能导致该有的图形没了。4. 钻孔文件导出NC Drill的每一个参数都有讲究钻孔文件在Manufacture - NC - NC Drill里。这个界面看起来比Artwork简单但里面的参数同样关键。钻孔文件的核心是孔位、孔径和孔类型这三样必须和Gerber里的焊盘完全对应。4.1 NC Drill参数设置与单位选择打开NC Drill后首先看到的是Drill标签页。这里要选Auto Tool Select让Allegro自动根据焊盘孔径生成刀具号。如果手动选容易漏掉某些孔径。Format和Gerber一样选2.5或3.5。Output Units必须和Gerber一致。我一般用毫米因为国内板厂习惯。Leading Zero Suppression和Trailing Zero Suppression选一个就行通常用Leading表示省略前导零。Drill Origin选Absolute用绝对坐标。如果选Relative需要指定参考点容易出错。Offset一般设为0除非板厂有特殊要求。还有一个选项是Separate Drill Files。如果板子上有通孔和盲孔可以分开输出也可以合并。我倾向于合并成一个文件但要在文件里注明孔类型。有些板厂要求盲孔和通孔分开那就按板厂要求来。4.2 钻孔图与钻孔表的生成除了NC Drill文件通常还需要一张钻孔图Drill Drawing和一张钻孔表Drill Legend。钻孔图是给板厂看的示意图标出每个孔的位置和孔径。钻孔表是统计表列出每种孔径的数量。钻孔图在Manufacture - NC - Drill Legend里生成。它会自动在板子上放一个表格列出刀具号和孔径。这个表格要放在板框外面不要压到线路。生成后要检查一下确保所有孔径都列出来了。钻孔图本身也是一层Gerber需要在Artwork里加一个Film包含MANUFACTURING/NCLEGEND层。这样板厂拿到Gerber后能看到钻孔信息和NC Drill文件对照。注意钻孔图里的孔径要和NC Drill文件里的刀具表一致。如果发现不一致通常是焊盘库有问题或者钻孔对设置错了。这时候要回到设计里检查不要强行出图。4.3 槽孔与异形孔的处理Allegro支持槽孔Slot和异形孔Odd Shape Drill。槽孔在焊盘里定义用Slot参数设置长宽。异形孔需要用Shape类型的焊盘。这两种孔在NC Drill文件里的表示方式和圆孔不同板厂需要特殊处理。如果板子上有槽孔出图前要确认板厂能不能做。有些小厂只做圆孔槽孔要额外收费。另外槽孔在Gerber里的表示是一个长条形的图形在钻孔文件里是一个Rout路径。这两者要对应上否则板厂可能漏做。我一般会在出图后用CAM软件比如CAM350或GC-Prevue打开Gerber和钻孔文件叠在一起看。槽孔的位置和形状要对得上不能有偏移。5. 同步核对用CAM工具做最终验证文件导出后不要直接打包发给板厂。我习惯用CAM350或GC-Prevue把Gerber和钻孔文件叠起来看一遍。这一步能发现很多肉眼看不出来的问题。5.1 Gerber与钻孔文件的叠层比对打开CAM350先导入所有Gerber层再导入NC Drill文件。然后打开所有层把钻孔层放在最上面设置成不同的颜色。这样能直观地看到每个孔是否落在焊盘中心。重点检查几个地方过孔是否都在焊盘上、安装孔是否和机械层对应、槽孔方向是否正确。如果发现某个孔偏了回到Allegro里检查焊盘和钻孔对。有时候是焊盘原点没对齐有时候是钻孔对设置错了。还有一个技巧在CAM350里用Measure工具量一下孔径。Gerber里的焊盘尺寸和钻孔文件里的孔径要匹配。比如焊盘外径是0.6mm孔径是0.3mm那钻孔文件里这个孔的刀具直径应该是0.3mm。如果对不上说明焊盘库有问题。5.2 阻焊开窗与焊盘的对应检查阻焊层是负片所以Gerber里阻焊开窗的地方是空的。在CAM350里把阻焊层和线路层叠在一起能看到焊盘周围有一圈没有阻焊的区域。这个区域的大小要合适太小会导致焊接不良太大会导致焊盘之间连锡。Allegro里阻焊开窗的大小由焊盘里的Soldermask参数决定。通常比焊盘单边大0.05mm到0.1mm。如果发现阻焊开窗太大或太小回到焊盘库改。改完后要重新出图不能将就。5.3 常见同步错误与排查表下面这张表是我这些年遇到过的典型问题按现象、原因、解决方法整理方便你快速排查。现象可能原因排查方法解决方式钻孔文件里少孔焊盘没有定义钻孔或钻孔对未包含该层在Allegro里用Tools - Padstack - Report查看焊盘钻孔信息补充焊盘钻孔定义或调整钻孔对Gerber里焊盘缺失Film里没有包含对应层或焊盘被Suppress检查Film Control里的层列表和Suppress设置添加缺失层取消错误的Suppress孔位偏移焊盘原点不对或钻孔文件用了相对坐标在CAM350里量孔位和焊盘中心的偏差修正焊盘原点钻孔文件改用绝对坐标阻焊开窗错误焊盘Soldermask参数不对或阻焊层Film设置错误叠层查看阻焊和线路的对应关系修改焊盘Soldermask参数检查Film槽孔方向不对焊盘Slot参数的角度设置错误在CAM350里查看槽孔图形调整焊盘Slot角度重新出图单位不一致Gerber和钻孔文件用了不同单位检查两个文件的Output Units设置统一改为毫米或英寸这张表里的问题大部分根源都在设计阶段而不是出图阶段。所以出图前的检查比出图后的修补更重要。6. 实操心得与避坑经验做了这么多年PCB出图这件事看起来简单但每次都能遇到新问题。下面这些经验有些是踩坑踩出来的有些是跟板厂CAM工程师聊天聊出来的分享给你。6.1 出图前的“三查”习惯我养成了一个习惯每次出图前做“三查”查DRC、查铜皮、查焊盘。DRC确保没有电气错误铜皮确保没有空铜焊盘确保没有缺失或错误。这三样查完出图基本不会有大问题。具体操作上DRC用Quick Reports跑一遍铜皮用Shape - Smooth刷一遍焊盘用Padstack - Purge清一遍。这三个命令花不了五分钟但能省下后面几小时的返工。6.2 和板厂确认工艺参数的时机很多人等到出完图才和板厂沟通其实应该在出图前就确认。比如最小线宽、最小孔径、阻焊桥宽度这些板厂的工艺能力决定了你的设计能不能做。如果设计超出了板厂能力出图再完美也没用。我一般会在布局完成后、出图前把板子的关键参数发给板厂确认。包括层数、板厚、铜厚、最小线宽、最小孔径、阻焊颜色、表面处理等。板厂确认没问题后再出图这样最稳妥。6.3 文件打包与命名规范出完图后文件要打包发给板厂。打包前先整理一下不要一股脑全塞进去。我一般会建一个文件夹里面放Gerber文件、钻孔文件、钻孔图、说明文件。Gerber文件按层命名比如TOP.gbr、BOTTOM.gbr、SOLDERMASK_TOP.gbr。钻孔文件命名成NC_DRILL.drl。说明文件里写清楚板子的工艺要求比如层数、板厚、铜厚、阻焊颜色、表面处理、最小线宽、最小孔径。这样板厂CAM工程师一看就明白不用反复问。提示有些板厂要求Gerber文件用.gbr后缀有些要求.art还有些要求.ger。发之前问清楚避免板厂打不开。6.4 版本兼容性问题Allegro不同版本之间出图有些差异。比如17.2和17.4的Artwork界面略有不同17.4多了些选项。如果你用17.4出图板厂用17.2的CAM软件读一般没问题因为Gerber是标准格式。但如果你用17.4的新功能比如某些特殊的焊盘形状板厂可能读不出来。我一般会问板厂用什么CAM软件如果是比较老的版本我就避免用太新的功能。另外出图时选Gerber RS274X格式这个格式兼容性最好。6.5 常见问题速查最后整理几个高频问题方便你快速定位。问题一Artwork里某层是空的但设计里明明有东西。检查Film里是否包含了正确的层和子类。比如TOP层要包含ETCH/TOP如果只加了PIN那线路就出不来。问题二NC Drill里刀具号重复或缺失。检查焊盘孔径是否统一。如果两个焊盘孔径一样但刀具号不同可能是焊盘库里有重复定义。用Padstack - Purge清理一下。问题三Gerber文件太大板厂说读得慢。检查是否包含了不必要的层比如PACKAGE GEOMETRY里的某些子类。在Film里把不需要的层去掉文件会小很多。问题四钻孔文件和Gerber的孔位对不上。检查钻孔文件的坐标格式和Gerber是否一致。如果Gerber用2.5钻孔用3.5坐标就会差一个数量级。问题五阻焊开窗把焊盘全盖住了。检查阻焊层的Film设置。Allegro默认阻焊是负片如果你按正片理解就会搞反。在Film里确认Negative选项是否勾选。这些问题我基本都遇到过有些是新手期犯的错有些是版本升级带来的。每次解决后我都会记下来下次出图前翻一翻能省不少时间。出图这件事说到底就是细心加经验。软件操作不难难的是知道哪里容易出错以及出错后怎么快速定位。希望这篇内容能帮你把Allegro出图这件事做得更顺少走点弯路。
返回列表