
PCB打样前的文件导出是硬件工程师最容易翻车也最容易忽视的一环。板子画得再漂亮Gerber少一层、钻孔文件单位搞错、钢网开反了工厂那边直接给你做出一块废板钱花了、周期耽误了还得从头再来。我用Cadence Allegro 16.6做了不少项目从两层板到多层HDI都走过一遍今天就把打样前必须导出的7个文件从头到尾捋一遍包括每个文件到底给谁用、参数怎么设、哪些地方最容易踩坑。这篇内容适合刚上手Allegro的新人也适合从Altium Designer转过来、对Allegro这套流程还不熟的老手看完你至少能保证自己发出去的打样包是完整、可生产、不出低级错误的。1. 先搞清楚这7个文件各自是给谁用的很多人导出文件的时候是照着教程点一遍但根本不知道每个文件到了工厂那边是干嘛的。结果就是参数设错了自己也不知道工厂反馈问题也听不懂。所以先把这7个文件的用途和接收方理清楚后面操作的时候你才知道每一步为什么要那么设。1.1 打样包里的7个文件清单一份完整的PCB打样包通常包含以下7类文件序号文件类型扩展名主要接收方核心用途1Gerber光绘文件.artPCB板厂每一层铜箔、阻焊、丝印的图形2钻孔文件.drlPCB板厂过孔、插件孔的坐标与孔径3钻孔表.txt/.pdfPCB板厂孔径种类与数量汇总4坐标文件.txtSMT贴片厂元件位号与贴装坐标5钢网文件.art钢网厂锡膏印刷的开窗图形6IPC网表.ipcPCB板厂网络连接关系比对7叠层与阻抗说明.pdf/.xlsxPCB板厂层叠结构、阻抗要求这7个文件里Gerber和钻孔是绝对的核心缺一不可坐标文件是给贴片用的如果你只打光板不贴片可以暂时不导钢网文件是给钢网厂开钢网用的和PCB板厂是两拨人IPC网表是给板厂做飞针测试比对用的能帮你提前发现开路短路叠层说明是给板厂确认工艺用的多层板尤其重要。1.2 为什么Allegro的导出流程比AD更讲究从Altium Designer转过来的朋友经常吐槽Allegro导出Gerber太麻烦AD里一个Fabrication Outputs就能搞定的事Allegro要点好几层菜单。这个麻烦其实是Allegro的设计哲学决定的——它把每一层的输出都交给你手动控制好处是灵活坏处是容易漏。AD的Gerber导出是打包式的它默认帮你把该导的层都列出来你勾选就行。Allegro的Artwork是配置式的你需要自己建Film、自己往里面加层、自己设参数。这就意味着如果你对PCB的层结构理解不深很容易漏掉某一层比如漏了阻焊层或者钻孔层的负片。我个人的经验是Allegro这套流程第一次配的时候确实费劲但配好一次之后可以存成模板后面所有项目直接调用反而比AD更省事。所以建议你在第一个项目上多花点时间把Film配置好后面就是复制粘贴的事。1.3 导出前的三项自检在动手导出之前有三件事必须先确认否则导出来的文件大概率有问题DRC是否全部通过Allegro的DRCDesign Rule Check必须清零尤其是线宽、间距、孔径相关的报错。带着DRC错误导出的Gerber板厂做出来大概率短路或开路。单位是否统一Allegro内部默认可能是mil也可能是mm导出前必须确认当前设计单位和你要输出的单位一致。我见过太多人因为mil和mm搞混导出的板子尺寸差了25.4倍。原点是否设置合理坐标文件和钻孔文件都依赖原点原点设得离板子太远坐标值会很大有些老设备读起来会出问题。建议把原点设在板子左下角。提示DRC清零这一步不要偷懒。Allegro的DRC分在线DRC和批量DRC导出前跑一次批量DRC确保没有遗漏。2. Gerber光绘文件Allegro里最容易漏层的环节Gerber是整个打样包的核心板厂就是靠它来生产每一层图形的。Allegro的Gerber导出走的是Artwork流程和AD的一键导出完全不同你需要手动配置每一个Film。这一节我把配置逻辑、参数设置、常见漏层问题全部讲透。2.1 Artwork Film的配置逻辑在Allegro里Gerber的导出单位叫Film一个Film对应一张Gerber文件。你需要为PCB的每一层建一个Film包括顶层铜箔Top底层铜箔Bottom内层铜箔如果有顶层阻焊Soldermask Top底层阻焊Soldermask Bottom顶层丝印Silkscreen Top底层丝印Silkscreen Bottom顶层锡膏Paste Top底层锡膏Paste Bottom钻孔层Drill板框层Outline这里要特别注意阻焊层是负片逻辑。也就是说你在阻焊层上画的东西是不开窗的区域没画的地方才是开窗露铜的。这一点和AD的逻辑是一样的但Allegro的阻焊层默认可能包含一些你不想包含的元素需要手动检查。配置Film的入口在菜单栏Manufacture - Artwork打开后会看到一个Film列表。新建Film的时候右边有一个Available films和Selected films的区域你需要把对应的层从左边加到右边。2.2 每一层该加哪些Subclass这是最容易出错的地方。Allegro的层结构是Class-Subclass两级比如PIN是一个ClassTOP是它的一个Subclass。你在配置Film的时候加的不是Class而是具体的Subclass。以顶层铜箔Film为例通常需要包含以下SubclassETCH/TOP顶层铜箔图形PIN/TOP顶层焊盘VIA CLASS/TOP顶层过孔焊盘BOARD GEOMETRY/OUTLINE板框可选有些板厂要求单独出顶层阻焊Film需要包含PIN/TOP焊盘开窗VIA CLASS/TOP过孔开窗如果过孔盖油则不加SOLDERMASK_TOP/...阻焊层专用元素顶层丝印Film需要包含BOARD GEOMETRY/SILKSCREEN_TOP丝印图形REF DES/TOP位号PACKAGE GEOMETRY/SILKSCREEN_TOP封装丝印我建议你在配置的时候把每一层的Subclass列一个清单配完一个勾一个避免漏。特别是内层多层板的内层铜箔Film很容易漏掉。2.3 Gerber参数设置格式、单位、精度Film配置好之后点击Film Control标签旁边的General Parameters设置Gerber的输出参数。这里有几个关键项Format选RS-274X这是目前最通用的Gerber格式板厂都认。RS-274D是老格式需要额外的 aperture 文件现在基本不用了。Units选Inch或Millimeter必须和你的设计单位一致。我一般用Millimeter因为国内板厂大多习惯mm。Decimal places整数位和小数位。用mm的话一般设2.4或3.5用inch的话设2.4。精度不够会导致细线丢失。Output options勾选Use Aperture Table和Optimize Data前者保证光圈表正确后者优化数据量。注意Units这一项一定要和板厂确认。有些板厂默认收inch有些默认收mm你发过去之前最好问一句或者两个版本都发。2.4 导出后必须做的三项检查Gerber导出来之后不要直接打包发给板厂先自己检查一遍。我一般做三件事用CAM工具打开看免费的CAM350或者GC-Prevue都行把导出的Gerber全部拖进去逐层看有没有缺层、有没有图形错位。对比层数数一下导出的Gerber文件数量和你的Film数量对一下少一个都不行。看钻孔和铜箔是否对齐把钻孔层和铜箔层叠在一起看孔位是否落在焊盘中心。偏了的话要么是原点问题要么是钻孔文件单位问题。我踩过最坑的一次是内层负片没设对导出的内层铜箔是反的板厂做出来整层短路。后来养成习惯每次导出后都用CAM350过一遍再也没出过这种问题。3. 钻孔文件单位、格式、槽孔一个都不能错钻孔文件是给板厂钻孔机用的它告诉板厂每一个孔的位置、孔径、是通孔还是盲埋孔。Allegro的钻孔文件导出比Gerber简单一些但单位设置和槽孔处理是两个大坑。3.1 NC Drill的导出流程入口在Manufacture - NC - NC Drill。打开后主要设置以下几项Format选Excellon这是钻孔文件的标准格式。Units和Gerber保持一致mm或inch。Decimal places一般设2.4或3.5。Output file指定输出路径和文件名。设置好之后点DrillAllegro会生成一个.drl文件。这个文件里包含了所有钻孔的坐标和孔径信息。3.2 槽孔Slot的处理槽孔是钻孔里最容易出问题的部分。Allegro里画槽孔一般用两种方式一种是用Board Geometry/NC Route层画线另一种是用椭圆焊盘。这两种方式导出的钻孔文件格式不一样。用NC Route画的槽孔需要单独导出Route文件入口在Manufacture - NC - NC Route。用椭圆焊盘做的槽孔会直接包含在NC Drill文件里但板厂可能需要额外确认。我的建议是能用圆孔就用圆孔非要用槽孔的话导出后一定要和板厂确认他们能不能识别。有些小厂对槽孔的支持不好容易做错。3.3 钻孔表Drill Legend的生成钻孔表是给板厂看的孔径汇总虽然板厂自己也能从钻孔文件里统计但你主动提供一份能减少沟通成本。生成入口在Manufacture - NC - Drill Legend。生成的时候注意几点钻孔表要放在板框外面不要压在图形上。表格里要包含孔径、数量、是否镀铜PTH/NPTH。如果板子有盲埋孔要分开展示。我一般会把钻孔表导出成PDF和Gerber一起打包。这样板厂一眼就能看到孔径种类报价和工艺确认都快很多。3.4 钻孔文件的两个常见错误错误一单位不一致。Gerber用mm钻孔用inch结果孔位全部偏移。这个错误非常隐蔽因为文件本身没问题只是单位对不上。解决办法就是导出前确认两个文件的Units设置一致。错误二孔径四舍五入。Allegro默认可能会对孔径做四舍五入比如0.3mm的孔变成0.305mm。这个偏差在大多数情况下没问题但如果你的孔是配合特定元件的引脚偏差可能导致插不进去。解决办法是在NC Drill设置里关掉Auto tool select手动指定孔径。4. 坐标文件与钢网文件贴片和印刷的两份关键数据坐标文件给SMT贴片厂钢网文件给钢网厂这两个文件经常被一起提到但它们的用途和导出方式完全不同。这一节分开讲。4.1 坐标文件的导出与格式要求坐标文件的入口在Tools - Reports或者用File - Export - Placement。导出的时候有几个关键设置Units和Gerber一致。Format一般选Symbolic或Real。Real是实际坐标Symbolic是相对坐标贴片厂一般要Real。Include勾选Top和Bottom两面都要导。导出的坐标文件一般包含位号、X坐标、Y坐标、旋转角度、所在层。贴片厂拿到这个文件后会导入到他们的贴片程序里。这里有个坑旋转角度。Allegro里的元件旋转角度和贴片机的角度定义可能不一致有些贴片厂会要求你提供修正后的角度。我的做法是导出后先发给贴片厂确认如果他们说角度不对再调整。4.2 钢网文件的特殊性钢网文件本质上是一份锡膏层的Gerber但它和PCB的Gerber是分开的。钢网厂拿到钢网文件后会用它来激光切割钢网。钢网文件的导出方式和Gerber类似也是走Artwork流程但只需要导出Paste层PASTEMASK_TOP顶层锡膏PASTEMASK_BOTTOM底层锡膏钢网文件的关键参数是开窗比例。焊盘上的锡膏开窗一般比焊盘略小常见的是1:1或者0.9:1。这个比例影响锡膏量进而影响焊接质量。比例太大容易连锡太小容易虚焊。提示钢网文件不要和PCB的Gerber混在一起发。钢网厂和PCB板厂是两拨人混在一起容易搞错。4.3 坐标文件和钢网文件的联动检查这两个文件虽然给不同的厂但它们都依赖同一个设计数据。我一般会做一次联动检查坐标文件里的元件位号和钢网文件里的Paste开窗位置是否对应。如果某个元件在坐标文件里有但钢网文件里没有对应的Paste开窗说明这个元件可能没设Paste层贴片时会漏锡。这个检查能帮你提前发现封装问题避免贴片时才发现某个元件焊不上。5. IPC网表与叠层说明让板厂帮你做最后一道检查IPC网表和叠层说明是两个锦上添花的文件不是所有板厂都要求但提供了能减少很多沟通成本尤其是多层板和阻抗板。5.1 IPC网表的生成与用途IPC网表IPC-D-356是一份描述网络连接关系的文件。板厂拿到它之后可以用飞针测试机比对检查做出来的板子有没有开路或短路。生成入口在File - Export - IPC356。导出的时候注意选择正确的单位。勾选Test point相关的选项确保测试点被包含。如果板子有盲埋孔要确认IPC网表是否支持。IPC网表的最大价值是提前发现问题。板厂在飞针测试时如果发现网表和实际板子不符会反馈给你你就能在批量生产前修正。5.2 叠层说明该写什么叠层说明是给板厂确认工艺用的尤其是多层板和阻抗板。一份完整的叠层说明应该包含层数比如4层、6层、8层每层的用途信号层、电源层、地层每层的铜厚比如1oz、2oz介质厚度比如0.1mm、0.2mm板材类型比如FR-4、高频板阻抗要求如果有我一般用Excel做一个叠层表导出成PDF和Gerber一起打包。板厂看到这个表就能直接确认工艺不用来回问。5.3 阻抗板的额外注意事项如果你的板子有阻抗要求比如USB、HDMI、DDR叠层说明里必须写清楚哪根线需要阻抗控制目标阻抗值比如50欧姆、90欧姆参考层是哪一层板厂会根据你的要求调整叠层和线宽。这里有个坑阻抗计算是板厂做的但线宽是你画的。如果你画的线宽和板厂算出来的不一致阻抗就对不上。所以阻抗板一定要提前和板厂沟通让他们先算好线宽你再改设计。6. 打包与交付文件命名、压缩、沟通话术文件都导好了最后一步是打包发给板厂。这一步看似简单但命名混乱、压缩包结构不清会让板厂那边很头疼甚至导致做错。6.1 文件命名规范我一般用这样的命名规则项目名_层名_日期.扩展名比如MyBoard_Top_20240115.art MyBoard_Bottom_20240115.art MyBoard_Drill_20240115.drl MyBoard_Coord_20240115.txt这样命名板厂一眼就能看出每个文件是什么不用打开看。6.2 压缩包结构压缩包里的文件不要全部堆在一起按类型分文件夹MyBoard_20240115/ ├── Gerber/ │ ├── MyBoard_Top.art │ ├── MyBoard_Bottom.art │ └── ... ├── Drill/ │ ├── MyBoard.drl │ └── MyBoard_DrillLegend.pdf ├── SMT/ │ ├── MyBoard_Coord.txt │ └── MyBoard_Paste.art └── Doc/ ├── MyBoard_Stackup.pdf └── MyBoard_IPC356.ipc这样板厂收到后直接按文件夹找文件效率高很多。6.3 和板厂沟通的几句话打包发过去的时候附上几句话能省很多来回Gerber和钻孔文件单位都是mm精度2.4。板厚1.6mmFR-4绿油白字沉金工艺。有阻抗要求具体见叠层说明。坐标文件是给贴片厂的钢网文件单独发钢网厂。这几句话写清楚板厂基本不会再来问你。7. 我踩过的坑和几条保命经验最后分享几条我在实际项目里踩过的坑都是血泪教训希望能帮你少走弯路。7.1 阻焊层开窗漏了过孔有一次做一个板子过孔我设的是盖油但导出阻焊层的时候忘了把过孔的开窗去掉结果板厂做出来过孔是露铜的。虽然不影响功能但外观很难看客户那边过不了。后来我养成习惯导出阻焊层后一定用CAM350看一眼确认过孔是盖油的。7.2 钻孔文件单位搞错导致孔位全偏这个坑我踩过两次。一次是Gerber用mm钻孔用inch孔位全部偏移。另一次是钻孔文件的精度设成了2.3导致小孔坐标被四舍五入。解决办法就是导出前确认单位和精度导出后用CAM350叠图检查。7.3 钢网开窗比例没调导致连锡有一次做一个密脚IC的板子钢网开窗用了1:1结果贴片后引脚之间连锡。后来把开窗比例调到0.9:1问题解决。这个比例不是固定的要根据焊盘大小和引脚间距调整密脚元件一般要缩小开窗。7.4 叠层说明没写清楚导致阻抗不对做USB板的时候叠层说明里只写了需要50欧姆阻抗但没写哪根线、参考层是哪层。板厂按默认叠层做结果阻抗偏了USB信号不稳定。后来我把阻抗要求写清楚板厂先算线宽我再改设计问题才解决。7.5 文件命名混乱导致板厂做错层有一次文件命名太随意Top和Bottom的Gerber文件名只差一个字母板厂那边看错了把顶层和底层做反了。虽然最后重新做了一版但耽误了一周。后来我强制自己用规范的命名规则再也没出过这种问题。7.6 导出后不做检查直接发这是最致命的。我见过有人导出Gerber后直接打包发板厂结果漏了阻焊层板厂做出来整板露铜。导出后的CAM检查是最后一道防线绝对不能省。哪怕你再赶时间也要花五分钟用CAM350过一遍。7.7 和板厂确认工艺再导出不同板厂的工艺能力不一样有的能做0.1mm线宽有的只能做0.15mm。导出前先和板厂确认他们的工艺能力避免导出的文件超出他们的制程。尤其是阻抗板和盲埋孔板一定要提前沟通。这几条经验每一条都是我或者我身边的同事真实踩过的。PCB打样这件事细节决定成败一个参数设错可能就是几百块钱和一周时间的代价。希望这篇内容能帮你把打样前的文件导出这一步做扎实少踩坑一次过。