ARTICLE DETAIL

资讯详情

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

Allegro 17.4过孔全攻略:从通孔到盲埋孔设置技巧

Allegro 17.4过孔全攻略:从通孔到盲埋孔设置技巧 1. 过孔这件事为什么值得单独拎出来讲画PCB的人都有一个共识布局布线决定板子能不能跑起来而过孔决定板子跑得稳不稳、造得出来造不出来。很多人刚上手Allegro 17.4的时候注意力全放在怎么把线连上、怎么把器件摆整齐过孔基本就是随手打个默认的能用就行。等到板子发出去打样工厂回来说过孔环宽不够、盲埋孔叠构做不了、盘中孔没做树脂塞孔导致焊接冒锡才发现前面省下的那点功夫全得加倍还回来。Allegro 17.4的PCB Editor在过孔管理上其实给得很足Padstack Editor、约束管理器、Cross-section、盲埋孔跨层定义一整套工具链都在问题是这些功能散落在不同菜单里官方文档又写得像字典查一个参数得翻半天。我这几年做过消费电子、工控板、电源板过孔踩过的坑不算少从通孔到盲埋孔、从普通过孔到盘中孔、从电源过孔阵列到散热过孔基本都趟过一遍。这篇就把Allegro 17.4里过孔相关的操作从头到尾捋一遍重点放在盲埋孔的设置技巧上因为这是大多数人从两层板进阶到多层板时最容易卡住的地方。不管你是刚学Allegro的新手还是用了几年但一直只打默认过孔的老手这篇里的参数计算、叠构设计、约束配置和工厂对接经验应该都能直接拿去用。我尽量把每个操作背后的“为什么”讲清楚因为过孔这东西光知道点哪个按钮没用得知道工厂能不能做、做了之后对信号和电源有什么影响才算真正掌握。2. 先把过孔的类型和制造边界搞清楚2.1 通孔、盲孔、埋孔到底差在哪过孔按跨层方式分三类这个基础概念必须先理清不然后面设置盲埋孔就是瞎点。通孔Through Via是从顶层直接打到底层的孔机械钻孔一次贯穿整板制造最简单成本最低。缺点是占用所有层的布线空间哪怕中间某几层根本不需要这个连接它也得让路。两层板、四层板基本全是通孔六层以上如果密度不高也常用通孔。盲孔Blind Via是从外层打到内层但不穿透整板。比如从顶层打到第二层或者从底层打到倒数第二层。盲孔在外面看得见但看不到底。制造上需要分次钻孔或激光钻孔成本比通孔高。埋孔Buried Via是内层到内层的连接两个面都在板子内部外面完全看不见。比如第二层到第三层、第三层到第四层。埋孔制造最复杂需要在压合之前先钻孔电镀然后多层压合成本最高。用一个生活化的类比通孔就像在整栋楼打一个贯穿所有楼层的电梯井盲孔像从一楼打到三楼但不到顶埋孔像在五楼和六楼之间打一个通道从外面完全看不到。2.2 工厂到底能做几阶盲埋孔这是最关键的实操边界。不是你想做几阶就能做几阶得看板厂的工艺能力。类型常见叫法典型叠构工艺难度成本倍数相对通孔通孔1阶任意层贯穿低1x一阶盲埋孔1N1顶→2层底→倒数2层中1.5~2x二阶盲埋孔2N2顶→2→3层底→倒数2→3层高3~4x三阶及以上3N3多次压合很高5x以上任意层互连ELICAny Layer每层都可激光打孔极高8x以上大多数中小批量项目一阶盲埋孔1N1是性价比最高的选择。二阶以上除非是手机主板、高端模块这种密度逼到极限的场景否则不建议碰成本翻几倍不说交期也长。注意盲埋孔的“阶”指的是激光钻孔的次数不是层数。一阶就是一次激光钻孔二阶是两次以此类推。跟板厂沟通时一定要用“阶”这个术语说“几层盲孔”容易产生歧义。2.3 过孔尺寸的基本参数一个过孔在Allegro里由几个关键尺寸定义钻孔直径Drill Diameter机械钻孔或激光钻孔的实际孔径。机械钻常见0.2mm~0.5mm激光钻常见0.1mm~0.15mm。焊盘直径Pad Diameter过孔在每层铜箔上的外径。一般比钻孔大0.2mm~0.3mm机械孔或0.15mm~0.2mm激光孔。反焊盘直径Anti-pad Diameter内层不需要连接的层上铜箔避让的孔径。一般比焊盘大0.2mm~0.3mm。环宽Annular Ring焊盘直径减去钻孔直径再除以2。这是工厂最关心的参数一般要求单边环宽≥0.05mm高可靠性要求≥0.075mm。举个例子钻孔0.3mm焊盘0.6mm环宽就是(0.6-0.3)/20.15mm这个余量很充足。如果钻孔0.3mm焊盘0.4mm环宽只有0.05mm属于极限值工厂良率会下降价格也会涨。3. 在Padstack Editor里定义一个能用的过孔3.1 打开Padstack Editor的正确姿势Allegro 17.4里定义过孔用的是Padstack Editor不是直接在PCB Editor里画。启动方式有两种一是从开始菜单单独打开Padstack Editor二是在PCB Editor里通过Tools→Padstack→Modify Design Padstack进入。我习惯用第一种因为独立打开可以批量管理不用挂着一个大工程。打开后第一件事是选Padstack类型。过孔选Via不要选Through或Blind/Buried那个是给其他用途的。然后在Units里选毫米还是mil建议跟你的设计单位保持一致不然后面换算容易出错。我一般用毫米因为板厂沟通都用毫米。3.2 钻孔参数的填写逻辑在Drill标签页里Drill Diameter填实际钻孔直径。这里有个细节Finished Hole Size和Drill Size的区别。Finished Hole Size是成品孔径Drill Size是钻孔时的刀具直径。因为孔壁要电镀铜电镀后孔径会变小所以Drill Size要比Finished Hole Size大0.05mm~0.1mm。Allegro里填的是Finished Hole Size工厂会根据这个自动补偿钻刀。比如你要一个成品0.3mm的过孔Allegro里填0.3mm工厂实际用0.35mm或0.4mm的钻刀电镀后回到0.3mm。这个补偿量跟板厂的工艺有关一般0.05mm~0.1mm具体问你的板厂。3.3 各层焊盘和反焊盘的设置在Layers标签页里需要为每一层设置焊盘和反焊盘。这里分几种情况顶层和底层设置Regular Pad焊盘尺寸按前面说的钻孔0.2~0.3mm。内层需要连接的层同样设置Regular Pad。内层不需要连接的层设置Anti-pad尺寸比焊盘大0.2~0.3mm。阻焊层Soldermask过孔如果要做盖油Tenting阻焊层不开口如果要做开窗阻焊层开口比焊盘大0.05~0.1mm。提示过孔盖油还是开窗是个常见问题。盖油可以防止焊接时锡从过孔流走但散热差开窗散热好但可能冒锡。一般信号过孔盖油散热过孔和盘中孔开窗。Allegro里通过Soldermask层的设置来控制。3.4 保存和命名规范保存的时候命名要有规律不然过孔一多就乱了。我一般用这样的命名via_钻孔直径_焊盘直径比如via_0r3_0r6表示钻孔0.3mm焊盘0.6mm。盲埋孔再加跨层信息比如via_0r1_0r25_1-2表示一阶盲孔从第1层到第2层。命名规范看起来是小事但项目一大几十种过孔混在一起没有命名规范根本找不到。而且Allegro的约束管理器里引用过孔是按名字来的名字乱了约束也容易配错。4. 盲埋孔在Allegro里的完整设置流程4.1 先在Cross-section里定义层叠盲埋孔的前提是层叠结构已经定好。在PCB Editor里打开Setup→Cross-section把层数、层序、介质厚度、铜厚都填好。这一步是基础层叠没定好盲埋孔无从谈起。层叠设计本身是个大话题这里只说跟盲埋孔相关的点盲埋孔的跨层必须在Cross-section里能对应上。比如你要做一个从顶层到第二层的盲孔那Cross-section里第一层和第二层之间必须有一个明确的介质层而且这个介质层的厚度要能支持激光钻孔。一般激光钻孔的深度不超过0.1mm~0.15mm介质太厚打不透。4.2 在Padstack Editor里定义盲埋孔定义盲埋孔跟通孔最大的区别是Start Layer和End Layer。在Padstack Editor的Drill标签页里把Drill Type选成Blind/Buried然后指定起始层和结束层。比如一阶盲孔从顶层TOP到第二层GND02Start Layer选TOPEnd Layer选GND02。然后Layers标签页里只需要设置TOP和GND02两层的焊盘以及中间穿过的层的反焊盘。注意盲孔不穿过的层不需要设置任何东西。这里有个容易踩的坑盲孔的焊盘只在起始层和结束层有中间层只有反焊盘。如果你在中间层也设了焊盘Allegro会报错因为盲孔在中间层没有铜连接。4.3 在约束管理器里关联过孔定义好Padstack只是第一步还得在约束管理器里把它跟网络关联起来。打开Setup→Constraints→Constraint Manager在Physical规则里找到Vias列把定义好的盲埋孔加进去。关键操作是设置过孔列表Via List。你可以为不同的网络类指定不同的过孔列表。比如普通信号用通孔BGA区域用盲孔电源用大过孔。在Constraint Manager里通过Net Class或Region来区分。注意盲埋孔在约束管理器里必须按跨层范围正确关联否则布线时Allegro不知道这个过孔能用在哪些层之间会报DRC错误。4.4 布线时怎么切换到盲埋孔布线过程中切换过孔有几种方式快捷键切换在布线状态下按数字键或自定义快捷键在预设的过孔列表里循环切换。右键菜单布线时右键→Change Via选择需要的过孔。约束管理器预设提前在约束里配好布线时自动使用符合规则的过孔。我习惯用快捷键因为效率最高。在Setup→User Preferences→Route里可以设置Via List的快捷键。一般设成数字键1、2、3分别对应通孔、盲孔、电源孔。4.5 盲埋孔的DRC检查要点盲埋孔布完之后DRC检查有几个专项要关注跨层合法性盲孔是否真的只跨了设定的层有没有意外穿透。环宽检查每层的环宽是否满足工厂要求。反焊盘间距反焊盘跟周围铜箔的间距是否够。叠孔检查不同阶的盲孔是否叠在一起叠孔工艺要求更高。Allegro的DRC可以自定义规则在Constraint Manager里加盲埋孔专项规则。我一般会加一条“盲孔跨层检查”确保没有用错过孔。5. 电源过孔和散热过孔的特殊处理5.1 电源过孔为什么要多个并联电源过孔跟信号过孔不一样信号过孔一个就够电源过孔往往要打一排甚至一个阵列。原因很简单过孔有电阻和电感。一个0.3mm的过孔电阻大概0.5mΩ~1mΩ电感大概1nH~2nH。电流大的时候压降和噪声就出来了。举个例子1A电流过一个0.5mΩ的过孔压降0.5mV看起来不大。但如果10A电流压降5mV再加上电感引起的开关噪声可能就影响电源质量了。所以大电流路径上过孔要多个并联把电阻和电感降下来。一般经验每1A电流至少配1~2个0.3mm过孔。10A的电源路径至少打10~20个过孔。具体数量还要看温升要求过孔载流能力跟温升有关温升越高载流越大但可靠性下降。5.2 电源过孔的排列方式电源过孔不是随便打几个就行排列方式有讲究阵列排列过孔排成矩阵间距均匀电流分布最均匀但占面积大。沿路径排列过孔沿着电流路径排成一排适合窄长区域。围绕焊盘排列在电源焊盘周围打一圈过孔适合BGA和QFN封装。我一般用阵列排列因为电流分布最均匀散热也最好。间距一般0.8mm~1.0mm太密了工厂钻孔困难太疏了电流分布不均。5.3 散热过孔的设计要点散热过孔主要用在发热器件的焊盘下面把热量从顶层传到内层或底层再通过大面积铜箔散出去。设计要点孔径一般0.2mm~0.3mm太小了散热效果差太大了焊接时锡会流走。数量越多越好但受焊盘面积限制。一般5x5到10x10的阵列。处理方式散热过孔一般要做树脂塞孔电镀填平否则焊接时锡从过孔流走导致虚焊。连接方式散热过孔在内层要连接到散热铜箔一般是GND或专用散热层。提示散热过孔如果做树脂塞孔成本会增加但焊接良率会大幅提升。如果是手工焊接的板子可以不塞孔但回流焊的板子强烈建议塞孔。5.4 盘中孔Via in Pad的处理盘中孔是把过孔直接打在焊盘上主要用于BGA和QFN这种引脚密集的封装。盘中孔的好处是节省布线空间坏处是焊接时锡会从过孔流走。处理方式有两种树脂塞孔电镀填平VIPPO过孔用树脂塞住然后电镀填平表面跟焊盘一样平。这是最可靠的方案但成本高。导电膏塞孔用导电膏填充成本比树脂低但可靠性稍差。Allegro里设置盘中孔需要在Padstack Editor里把过孔焊盘和器件焊盘设成一样大然后在阻焊层做相应处理。约束管理器里要加盘中孔专项规则确保塞孔工艺被正确标注。6. 过孔与工厂对接的实战经验6.1 出Gerber前必须检查的过孔参数出Gerber之前过孔相关的东西必须逐项检查不然工厂做出来不对返工成本很高。我一般按这个清单过一遍检查项要求常见问题环宽单边≥0.05mm焊盘太小环宽不够钻孔直径符合工厂能力孔径太小工厂钻不了盲埋孔阶数工厂能做阶数太高工厂做不了反焊盘间距≥0.2mm间距太小内层短路塞孔要求标注清楚没标注工厂按默认做盖油/开窗标注清楚没标注工厂按默认做6.2 跟板厂沟通盲埋孔的正确方式跟板厂沟通盲埋孔不能只说“我要做盲埋孔”得把叠构说清楚。我一般会发一个叠构图给板厂标明总层数每层的层序和功能盲埋孔的跨层范围盲埋孔的阶数介质厚度和铜厚板厂会根据叠构图评估工艺可行性然后回复能不能做、成本多少、交期多久。如果板厂说做不了可能要调整叠构或降低阶数。6.3 盲埋孔的成本控制技巧盲埋孔成本高能省则省。几个控制技巧只在必要区域用盲埋孔比如BGA区域其他区域用通孔。用一阶不用二阶一阶成本是二阶的一半左右。叠孔改错孔叠孔工艺要求高错孔要求低成本也低。减少盲埋孔种类种类越多钻孔次数越多成本越高。我做过一个项目原本设计用二阶盲埋孔后来优化布局改成了一阶成本降了40%性能没受影响。所以布局优化比堆工艺更划算。7. 那些年我踩过的过孔坑7.1 盲孔打穿了整板刚学盲埋孔的时候定义了一个从顶层到第二层的盲孔结果布线时Allegro默认用了通孔板子做出来发现过孔穿透了整板。原因是约束管理器里没有正确关联盲孔布线时Allegro找不到盲孔就用了默认的通孔。教训定义完盲埋孔一定要在约束管理器里关联并且布线时确认用的是正确的过孔。我后来养成了习惯布完盲埋孔区域用Display→Element查一遍过孔类型确认没问题再继续。7.2 环宽不够导致工厂拒单有一次设计了一个0.2mm钻孔、0.35mm焊盘的过孔环宽只有0.075mm工厂说做不了要求环宽至少0.1mm。后来改成0.2mm钻孔、0.4mm焊盘环宽0.1mm工厂才接单。教训过孔焊盘不要抠得太紧留足环宽余量。一般机械孔环宽≥0.1mm激光孔环宽≥0.075mm这样工厂良率高价格也便宜。7.3 盘中孔没塞孔导致虚焊有一次BGA区域用了盘中孔忘了标注塞孔要求工厂按默认没塞孔。回流焊的时候锡从过孔流走BGA引脚虚焊整批板子报废。教训盘中孔必须标注塞孔要求而且要在Gerber里明确标注。我后来在Gerber的钻孔层加了文字标注还在给工厂的说明文件里专门写了一条。7.4 电源过孔太少导致压降过大有一次设计了一个5A的电源路径只打了3个0.3mm过孔结果实测压降有20mV超出规格。后来改成10个过孔压降降到5mV以内。教训电源过孔数量要按电流算不能凭感觉。我后来做了一个简单的计算表每1A电流配2个0.3mm过孔基本不会出问题。8. 过孔相关的快捷键和效率技巧8.1 常用快捷键设置Allegro 17.4的快捷键可以自定义我一般设这几个跟过孔相关的1切换到通孔2切换到盲孔3切换到电源过孔CtrlShiftV打开过孔列表CtrlShiftP打开Padstack Editor设置方法Setup→User Preferences→Route→Via List把常用的过孔加到列表里然后设快捷键。8.2 批量修改过孔的方法有时候需要批量修改过孔比如把所有0.3mm的过孔改成0.4mm。方法用Edit→Find选中所有过孔。右键→Change Via选择新的过孔。或者用Skill脚本批量替换。Skill脚本效率最高但需要写代码。我一般用FindChange Via够用了。8.3 过孔检查的自动化Allegro的DRC可以自动检查过孔相关问题但默认规则不够全。我一般会加几条自定义规则环宽检查单边环宽0.05mm报错。盲孔跨层检查盲孔跨层不符合定义报错。盘中孔塞孔检查盘中孔没标注塞孔报错。这些规则在Constraint Manager里可以配配好之后DRC自动跑省得人工检查。9. 从通孔到盲埋孔的进阶路线建议如果你现在还在用通孔想进阶到盲埋孔我的建议是按这个路线走第一步先把通孔用明白。通孔的环宽、反焊盘、盖油开窗、电源过孔阵列这些基础打牢。通孔都用不明白盲埋孔更搞不定。第二步从一阶盲埋孔开始。找一个简单的项目比如六层板BGA区域用一阶盲孔其他区域用通孔。跑通整个流程从叠构设计到Gerber输出走一遍。第三步优化盲埋孔的使用。学会在约束管理器里配盲埋孔规则学会用快捷键切换过孔学会跟板厂沟通叠构。第四步尝试二阶盲埋孔。等一阶用熟了再尝试二阶。二阶的难点在叠孔和错孔的处理以及多次压合的叠构设计。第五步任意层互连。这是最高阶的一般只有手机主板和高端模块用。到了这一步基本就是专家级别了。我个人从通孔到一阶盲埋孔用了大概半年从一阶到二阶又用了半年。关键是多做项目多跟板厂沟通多踩坑。看书看文档只能学个大概真正的经验都是项目里磨出来的。10. 一些零散但重要的补充过孔与阻抗过孔会引入阻抗不连续高速信号过孔要做阻抗匹配。一般过孔的反焊盘尺寸和焊盘尺寸会影响阻抗需要用仿真工具算。Allegro自带阻抗计算器可以粗略估算。过孔与EMI过孔是EMI的潜在辐射源尤其是高速信号的过孔。减少过孔数量、增大过孔间距、在过孔周围加地过孔都可以降低EMI。过孔与散热散热过孔的设计前面说了补充一点散热过孔的铜厚要够一般1oz以上太薄了散热效果差。过孔与焊接过孔盖油还是开窗前面说了。补充一点如果过孔在焊盘附近开窗可能导致锡桥盖油更安全。过孔与成本过孔数量、孔径、盲埋孔阶数都影响成本。设计的时候要有成本意识能省则省。过孔与交期盲埋孔交期比通孔长二阶比一阶长。项目排期的时候要把这个考虑进去。过孔与可靠性过孔的可靠性跟环宽、孔壁铜厚、塞孔质量有关。高可靠性产品要加严要求比如环宽≥0.075mm孔壁铜厚≥25um。过孔与测试过孔可以作为测试点但要注意测试探针的直径和过孔尺寸匹配。一般测试过孔的直径≥0.5mm太小了探针接触不到。过孔与返修过孔损坏后返修困难尤其是盲埋孔。设计的时候要考虑返修性关键信号不要只靠一个过孔。过孔与文档过孔相关的设置要写进设计文档包括过孔类型、尺寸、跨层、塞孔要求等。方便后续维护和交接。这些零散的点看起来不起眼但实际项目中经常遇到。我一般会在项目开始的时候就把这些过孔相关的规范定好写进设计指南后面设计的时候直接引用省得每次都要重新想。过孔这东西说简单也简单说复杂也复杂。简单在于一个通孔谁都会打复杂在于盲埋孔的叠构、电源过孔的阵列、盘中孔的塞孔每一个都有讲究。Allegro 17.4给的工具足够强大关键是得知道怎么用、为什么这么用。希望这篇能把过孔这件事讲透让你在下一个项目里少踩几个坑。
返回列表