ARTICLE DETAIL

资讯详情

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

热风焊盘与反焊盘详解:Allegro多层板过孔设计实战

热风焊盘与反焊盘详解:Allegro多层板过孔设计实战 PCB设计里有个很有意思的现象很多工程师画原理图、摆封装、拉线都挺熟练但一到多层板的电源层处理就露馅了——过孔不知道怎么连铜皮内层割出来的连接要么是死铜不打孔要么就是大面积连接搞得焊接的时候热不起来。说白了就是热风焊盘Thermal Relief和反焊盘Anti-pad这对概念没吃透。这篇文章我打算一次讲清楚热风焊盘到底是干嘛的、反焊盘为什么不能随便设、Flash焊盘符号怎么做、路径怎么配再给你一套可以直接照抄的过孔设计参数。内容基于我这些年用Cadence Allegro画多层板的实际经验适合刚接触多层板设计的新手也适合那些一直在用默认参数但没搞懂原理的工程师。1. 先搞清楚热风焊盘和反焊盘到底解决什么问题很多刚接触Allegro的人第一次打开Padstack Editor时会看到一堆莫名其妙的选项Regular Pad、Thermal Relief、Anti-pad、Flash Symbol……每个都要填每个都不知道干嘛的。我先用人话把这几个东西说清楚。1.1 热风焊盘的本质不让铜皮把热量全吸走先说热风焊盘。这个东西英文叫Thermal Relief中文也叫花焊盘、热焊盘。它的作用是在过孔或插件焊盘连接到内层铜皮通常是电源层或地层时不是整圈全部连接而是只通过几根细的连接条Spoke连过去。为什么不能整圈直接连这里面有两个关键原因。第一是焊接问题如果过孔焊盘和内层铜皮是全包围连接铜皮面积大散热极快焊接时热量全被铜皮吸走了焊锡根本达不到熔化温度就会出现虚焊。这就是为什么热风焊盘在插件元器件和需要手工焊接的过孔上几乎是标配。第二是制造工艺问题大面积铜皮和过孔全连接钻孔时因为散热不均容易出现孔壁粗糙甚至分层。用热风焊盘把连接面积缩小热量集中在孔周围加工稳定性会好很多。热风焊盘的形状一般是十字形、X形或圆形开窗。最常见的是圆形Flash Symbol中间一个环形四周伸出几根连接条。Allegro里用Flash Symbol来表示热风焊盘的外形在Padstack Editor里把它指定给Thermal Relief那一栏。1.2 反焊盘过孔和铜皮之间的安全隔离带反焊盘Anti-pad是另一个容易被忽略的参数。它的作用正好相反——不是用来连接的而是用来隔开的。当过孔穿过内层铜皮时如果过孔焊盘和铜皮之间没有间隙电气上就会短路。反焊盘就是在铜皮上挖掉一圈让过孔焊盘和铜皮之间保持安全距离。这里要特别注意一个点反焊盘的尺寸和热风焊盘是配合使用的。你设置了热风焊盘让过孔在十字连接条之外的地方不和铜皮接触但Allegro识别的是反焊盘区域——它在反焊盘范围内不允许任何铜皮存在。也就是说热风焊盘是用几条筋连接反焊盘是挖掉一圈再留几条筋通过。两者必须在逻辑上匹配否则要么连不上要么不该连的地方连上了。1.3 用生活类比理解过孔的三种盘我经常用门和门框来给新人解释这三个盘的关系Regular Pad常规盘就是门本身过孔焊接的实际区域。Thermal Relief热风焊盘门开了几条缝允许人电流通过但限制流量同时防止风热量全灌进去。Anti-pad反焊盘门框外围的警戒线告诉你这一圈不能放任何东西。一般来说在同一个过孔上这三个盘就是同一组参数的三种表现形式。铜皮要连接到过孔时有热风焊盘的地方允许连接没有热风焊盘的地方因为反焊盘的存在铜皮会被自动避开。2. 制作Flash焊盘符号与配置库路径这一步卡住很多人我发现一个很有意思的现象很多人的Allegro里能画板但到了做封装或者建过孔的时候就卡在路径配置上。尤其是Flash焊盘不知道去哪儿做路径不知道怎么加最后只能去网上下载别人的库文件IME一出来一堆报错。其实自己做一个Flash符号并不难难的是路径配置的逻辑没搞明白。2.1 Flash焊盘符号的制作方法Allegro里Flash Symbol是单独的*.fsm文件存放在Flash库目录下通常后缀名是.flm或者.fsm。制作Flash Symbol需要用Allegro PCB Editor的Package Symbol编辑器或者用专门的Symbol Editor来画。我一般是在PCB Editor里新建一个Flash Symbol。操作路径是File - NewSymbol类型选Flash。画布打开后用Add - Flash命令这时候会弹出一个交互对话框让你输入内径Inner Diameter和外径Outer Diameter再加上开口数量和开口宽度。具体参数怎么定这个直接关系到过孔能不能正确连接。以0.5mm钻孔的过孔为例我一般这样设置焊盘外径Regular Pad设为0.8mm热风焊盘内径设为1.2mm热风焊盘外径设为1.6mmSpoke宽度设为0.3mmSpoke数量选4个换算成Flash Symbol的参数内径用1.2mm外径用1.6mm开口宽度就是Spoke宽度的两倍加上内径具体算法是Flash内径 Pad外径 至少0.2mm的间隙。这样做的目的是让热风焊盘的内环边缘和过孔焊盘边缘之间留足安全距离同时Spoke能顺畅地从内环连到外环。有人会问Flash内径和外径之间不是全铜吗那Spoke开口宽度怎么算这里的关键是Flash Symbol画的是铜皮被挖空后的形状也就是说Flash的形状就是你最终在铜皮上看到的空心区域Spoke就是剩下的连接筋。所以Flash区域的内径要比焊盘大外径就是反焊盘挖空区域的外边界。这样反焊盘区域正好被Flash符号覆盖而Spoke正好穿过反焊盘边界连到焊盘上。2.2 路径配置PSMPATH、PADPATH、FLASH_PATH很多新手在这步会懵。Allegro在加载封装和焊盘时是通过路径配置去寻找库文件的。如果你把Flash符号放在某个文件夹里但Allegro不知道这个文件夹的存在那就找不到。路径配置有两个地方需要设置一是环境变量在系统环境变量里配置PADPATH和PSMPATH。如果你用的是Windows系统在此电脑右键属性 - 高级系统设置 - 环境变量新建或编辑这两个变量名把库文件的绝对路径填进去。二是在Allegro软件内配置。菜单是Setup - User Preferences - Design Paths - Padpath和Psmpath再加上FlashpathAllegro 17.2之后叫Flashpath更早版本叫FlashPath。这里面有一个非常容易踩的坑系统环境变量和软件内的路径配置是叠加的你必须保证两者都正确。而且如果你中途改了环境变量Allegro不会自动刷新必须重启软件才能生效。2.3 路径配置实操步骤我以Allegro 17.4为例演示一下完整的路径配置过程创建库目录比如D:\Allegro_Lib\Symbols、D:\Allegro_Lib\Pads、D:\Allegro_Lib\Flash。用PCB Editor创建Flash Symbol保存到D:\Allegro_Lib\Flash。用Padstack Editor创建焊盘Thermal Relief选项选择刚才创建的Flash Symbol保存到D:\Allegro_Lib\Pads。打开Setup - User Preferences - Design Paths。在Padpath编辑窗口中点浏览按钮添加D:\Allegro_Lib\Pads。在Psmpath中添加D:\Allegro_Lib\Symbols。在Flashpath或者Flash Path中添加D:\Allegro_Lib\Flash。保存并重启Allegro。这里有一个细节要提醒Padpath和Psmpath的命名有讲究。Allegro里的Padpath是给Padstack文件用的Psmpath是给Symbol文件用的两者不能混。很多人把封装文件和焊盘文件放在同一个目录结果路径配置时只配了一个导致要么找不到封装要么找不到焊盘。稳妥的做法是全部配上都目录分开管理这样后续做版本管理也方便。3. 过孔设计实操从零创建一个带热风焊盘和反焊盘的Via工具准备好了路径配好了现在开始动手建一个真正的过孔。这一步是整篇文章的重头戏我会把参数选择的过程写得尽量细方便你直接照抄。3.1 打开Padstack Editor选对类型打开Padstack Editor后第一步是选择焊盘类型。创建普通过孔时选Through Hole或者Through All。Allegro 17.4里可能会显示为Through-Hole和Blind/Buried。我建议新建焊盘时不要直接在这基础上改而是选File - New然后选择Through All这样生成的是贯穿全层的过孔。如果你做盲埋孔就选Blind/Buried后续需要单独设置各层的偏置参数。3.2 定义钻孔尺寸和焊盘尺寸这里的参数就多了。以0.5mm钻头的过孔为例我的推荐配置是这样的Drill diameter钻孔直径0.5mm。实际上制板厂会有一个最小孔径限制常规打样一般0.2mm~0.3mm也能做但0.5mm是稳妥选择。Regular Pad常规焊盘0.8mm也就是钻孔直径加0.3mm。这个0.3mm是经验值保证焊盘有足够的翻边强度。Thermal Relief热风焊盘内径1.2mm外径1.6mm。Anti-pad反焊盘1.8mm。有人会问为什么反焊盘要1.8mm比热风焊盘外径还大因为反焊盘的尺寸决定了铜皮被挖掉的范围热风焊盘外径是Spoke连接的边界。如果反焊盘外径等于热风焊盘外径那Spoke会和铜皮正好接触但没有间隙工艺上容易出问题。所以我一般都让反焊盘外径比热风焊盘外径再大0.2mm到0.4mm这样Spoke与铜皮之间有明确的工艺间隙。3.3 设置连接层与隔离层在Padstack Editor的底部有多个标签页用来设置不同层的参数。最常见的是这三个BEGIN LAYER顶层DEFAULT INTERNAL中间层所有内层统一用这个参数END LAYER底层对于多层板比如8层板中间有6个内层你不需要每个内层单独设置DEFAULT INTERNAL会用一套参数覆盖所有内层。这样省事但有个问题如果你的叠层里有不同厚度的介质层或者有特殊阻抗要求的层DEFAULT INTERNAL参数可能不适用。这时候你需要单独修改某一层的参数。我建议的做法是先按DEFAULT INTERNAL把通用参数设好然后回到主界面右键点击需要特殊处理的层选择编辑参数。比如电源层因为大电流要求可能需要更大的热风焊盘内径和外径或者是3根Spoke而不是4根那就单独改那一层。3.4 添加Flash Symbol到Thermal Relief选项在Padstack Editor的相应标签页下找到Thermal Relief栏在那一行点击右侧的Flash按钮选择你刚才创建的Flash Symbol文件。如果路径配置正确这里会直接显示Flash符号的预览。如果显示错误或者找不到文件说明Flash路径配置有问题回头检查2.3节。这里有个小技巧Flash Symbol文件不要直接放进Pad文件同一个目录。Allegro能识别但如果你以后更新Flash符号很有可能会因为缓存问题导致旧符号还是被引用。我的习惯是Flash文件单独放一个目录路径单独配置这样更新方便也容易追版本。3.5 将过孔用于设计焊盘建好后还需要在Board文件中设置过孔可用。操作路径是Setup - Constraints - Physical - All Layers的Vias列表里把新创建的过孔加进去。添加完以后布线时选择过孔下拉列表里就能看到了。这里有一个很多人犯过的错误在Padstack Editor里建好了过孔也保存了但布线时发现过孔列表里找不到。原因就是约束管理器里没有把过孔分配进去。需要特别注意的是这个添加过程不是自动的必须手动添加。4. 多层板叠层设计中热风焊盘和反焊盘的使用策略过孔参数建好了但怎么在实际的多层板设计里用好这里面的门道不少。不同层的用途不同热风焊盘和反焊盘的设置策略也不一样。4.1 电源层和地层的设置在电源层和地层过孔连接的目标是大面积铜皮。这里我推荐使用热风焊盘连接宽度Spoke宽度根据电流大小来定。如果走大电流比如电源过孔Spoke宽度可以适当加宽比如0.4mm~0.5mm甚至用3根Spoke而不是4根。这样做的好处是连接面积增大通流能力提升但散热不会太夸张。很多人不知道一个细节Spoke的数量和宽度直接影响过孔的通流能力。4根0.3mm Spoke的有效导电宽度大约是4×0.3mm而一个0.8mm焊盘的周长是2.5mm如果你连续几个过孔都这样设置累积通流能力就可能不够。所以大电流设计中我会优先加宽Spoke而不是增加Spoke数量因为3根0.5mm的Spoke往往比4根0.3mm的Spoke更实用制造上也更稳定。4.2 信号层的处理信号层的过孔连接通常是不需要热风焊盘的。信号层没有大面积铜皮过孔焊盘直接连接走线就行了。但如果你在信号层放置了铜皮比如给某个关键信号做屏蔽铺铜那就需要考虑过孔是否要热风焊盘连接到这块铜皮。我的建议是信号层铺铜连接过孔时尽量少用热风焊盘直接全连接。因为信号层的电流一般不大热风焊盘的散热问题不明显而全连接可以保证更好的电气连接和屏蔽效果。实际上很多射频板和高速数字板的信号层铺铜都是全连接的只有电源层和地层才用热风焊盘。4.3 多层板叠层中过孔的分配策略在8层板里过孔可能要从顶层一直打到第7层中间穿过多层电源和地层。这时候每层的热风焊盘和反焊盘参数都要单独确认。因为不同的层焊盘连接的铜皮面积可能差别很大。举个例子第2层如果是一个完整的电源平面过孔的Thermal Relief内径可能要设大一点比如1.4mm这样散热面积更小焊接更舒服。而第5层如果只是一个窄的电源条内径可以设置小一点甚至1.0mm这样连接更可靠。还有一个容易忽略的点埋孔和盲孔。如果你的设计用了盲埋孔那每一层的参数要单独设置。比如盲孔只在第1层到第2层那你只需要设置BEGIN LAYER和DEFAULT INTERNAL第2层之后的层不用管。Allegro会自动根据盲埋孔的定义层来判断哪些层需要哪些参数。5. 常见问题与排查技巧实录这一节我打算直接列出我这些年被问过最多的几个问题每一个都是真实踩过的坑希望能帮你避免。5.1 过孔连不上铜皮内层只见反焊盘没有连接这个问题我在论坛上看到过无数回铺铜的时候过孔在电源层明明设置了热风焊盘但铺完后只有反焊盘的圆形间隙中间的连接条完全没有。排这个问题的思路是什么呢第一步确认过孔的Thermal Relief栏是否指定了Flash Symbol。如果没指定Allegro只会显示反焊盘不会生成连接。第二步确认Flash Symbol的路径配置是否正确Allegro能否在路径里找到这个文件。第三步确认Flash Symbol的尺寸是否大于反焊盘尺寸。如果Flash内径小于反焊盘内径或者Flash外径小于反焊盘外径铺铜时可能出现连接条被反焊盘遮挡的情况。在很多情况下其实是因为Flash Symbol尺寸和反焊盘尺寸不匹配导致Spoke在反焊盘边界上被截断了。检查办法是打开铺铜的Shape填充显示放大观察过孔附近连接条应该是从焊盘延伸到反焊盘边界的。如果没有多半就是Flash尺寸设小了。5.2 热风焊盘不显示但也没报错这种问题更隐蔽。没有报错说明路径配置没问题Flash文件也能找到但显示就是不正常。我遇到过的一种情况是Flash Symbol是修改过的老版本但在Allegro里仍然显示旧形状。解决办法删掉旧的Flash文件重新制作保存到一个新文件名然后在Padstack Editor里重新关联这个新文件。或者更简单粗暴关掉Allegro清空IES的缓存目录再重新打开。缓存目录一般在C:\Users\用户名\AppData\Local\Temp\Cadence你搜索一下最近生成的临时文件就能找到。5.3 反焊盘太大导致信号完整性变差反焊盘不是越大越好。虽然反焊盘大一点过孔与铜皮之间的寄生电容会减小但同时会带来阻抗不连续的问题。如果反焊盘的直径相对信号过孔而言太大了在高速信号传输中会造成阻抗突变反射加大眼图变差。我处理高速板时的经验是反焊盘直径一般设为过孔焊盘直径加上0.3mm到0.5mm即可。不要为了减小寄生电容而一味加大反焊盘很多高速设计其实是用背钻、隔层参考之类的手段来解决过孔问题的而不是靠拉大反焊盘。5.4 出Gerber时热风焊盘丢失出Gerber时如果光绘文件里热风焊盘显示不出来大概率是在Artwork设置里开了Suppress Shape Fill或者Vector Zero之类的选项。还有一种情况是Flash Symbol和反焊盘在同一层出现冲突导致某些格式的光绘文件不支持。我的建议是出Gerber前先在Allegro里执行Tools - Artwork - Apply to All确认每一层的光绘选项都正确。然后用CAM350打开生成的Gerber文件检查一下热风焊盘的形状。不要偷懒跳过CAM350验证这一步很多问题在Allegro里看着正常到CAM里才能发现。5.5 一个过孔上连接了多个电源层却无法识别当同一个过孔穿过多个电源平面时每个电源层的电压可能不同。如果你的设计中第2层是3.3V第4层是1.8V同一个过孔连接了这两层那就属于设计错误。这种情况在Allegro里不会主动报错除非你在约束里设置了跨层检查。所以我的建议是在做多层板电源分割时过孔穿过哪些层、连接哪些层心里要有数。如果你发现过孔在某一层上出现了不该有的热风焊盘连接检查那层的铜皮网络和过孔网络是否一致。如果不一致那层就不应该设置热风焊盘而应该只保留反焊盘隔离。6. 实操心得我的热风焊盘与反焊盘设计习惯最后一部分我想分享一些没法在文档里找到的设计习惯。这些习惯谈不上最优解但至少在稳定性上经过了多块板子的验证。第一个习惯所有常规过孔用同一套热风焊盘参数。我一般建0.5mm钻孔的过孔时热风焊盘内径固定1.2mm外径固定1.6mmSpoke宽度固定0.3mm。除非遇到大电流或特殊工艺要求这套参数我不动。这样做的好处是板厂对参数熟悉良率高沟通成本低。第二个习惯Flash Symbol命名带上尺寸信息。比如Flash_1.2_1.6_0.3含义一目了然。这个习惯在多人协作时特别有用大家看到文件名就知道这个Flash用在什么尺寸的过孔上不用打开Padstack Editor去翻。第三个习惯新板子开工前先建一套完整的过孔库。不要等画到一半发现少一个过孔再临时建库。我一般会预建0.3mm、0.5mm、0.8mm、1.0mm四套常规过孔再根据项目需求加一些特殊孔径的过孔。这样布线效率高很多也避免了设计中途频繁中断。第四个习惯反焊盘和热风焊盘尺寸一定同时调整不要只改一个。很多人为了增大过孔通流能力只加宽Spoke但忘了检查Flash外径和反焊盘间距结果生产出来发现Spoke和铜皮间距不够导致短路风险。文章写到这里核心内容基本讲完了。热风焊盘和反焊盘这套东西说到底就是连接和隔离的平衡。连接太死板焊接和工艺都有压力隔离太彻底电气上又可能出问题。Allegro里这些参数看着繁琐但真的理解了原理用起来并不复杂。如果你在建库或铺铜时遇到类似问题欢迎把这篇文章翻出来对照排查。
返回列表