ARTICLE DETAIL

资讯详情

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

BGA焊点四角先坏的秘密:热-振耦合仿真与工程对策

BGA焊点四角先坏的秘密:热-振耦合仿真与工程对策 1. 四角先坏到底是偶然还是必然先看失效现场再下结论做电子可靠性这几年我经手过的BGA失效案例少说也有几十起从工控主板到消费路由器从FPGA到电源管理芯片无论封装大小、焊球数量多少最后开盖分析的结果几乎都指向同一个规律第一批开裂的焊点十有八九在封装的最外圈而四角位置的焊点又是重灾区。很多人第一反应是“是不是这台设备摔过”“是不是返修时温度没控制好”但当你把批量数据摆出来就会发现四角失效不是某一次偶然的过载而是结构和载荷共同作用下的必然结果。BGA焊点作为芯片与PCB之间的电气和机械连接桥梁工作环境里同时承受着两类最主要的载荷。第一类是温度变化引起的热失配应力芯片在上电、断电、环境温度波动时硅片、基板、焊料、PCB板材之间的热膨胀系数不一致焊点被迫承担这部分变形差第二类是机械振动和冲击无论是车载电子、通信设备还是手持终端PCB板在振动环境下都会产生弯曲变形焊点跟着一起受罪。当这两类载荷叠加在一起时四角焊点就成了整个封装里最不受待见的“倒霉蛋”。那为什么偏偏是四个角我们从力学角度先看一个最简单的常识。一块PCB板被螺钉固定在机箱里板子受热膨胀时中心位置可以向四周均匀扩张而板角和包边位置因为固定约束的存在膨胀空间被限制热应力自然就高。BGA封装也是一样的道理封装体中心可以视为自由膨胀的参考点离中心越远的位置基板和PCB之间的累积膨胀差就越大四角恰恰是离中心最远的区域。这个距离在封装设计里有个专门术语叫DNP英文全称是Distance to Neutral Point翻译过来就是“到中性点的距离”焊点距离封装中心的距离越远热失配带来的剪切应变就越大四角焊点的DNP最大应力自然就最高。再说振动载荷。PCB板在振动激励下的响应并不是均匀的一阶弯曲模态的振型是“中间约束、四周舞动”板子的四个角和边缘区域的位移幅值最大焊点在这个位置承受的弯曲应变量也最大。想想四个人抬一块大木板走在坑坑洼洼的路上木板四个角的人最累中间的人反而轻松BGA四角焊点在振动工况下的处境就是那个“抬角的人”。所以四角先坏不是玄学而是热应力和振动应力在空间分布上的双重叠加。接下来我用一次完整的热-振耦合仿真把这条失效链条从定性判断变成定量结论。2. 搭建热-振耦合仿真先把思路和参数掰扯清楚2.1 为什么要做耦合仿真单做热分析或单做振动分析不行吗很多人做可靠性仿真习惯把问题拆开先做温度循环算热应力再做随机振动算振动应力然后各看各的结果。这种做法不是不行但会漏掉一个关键因素——焊点在热-振耦合工况下的本构行为与单一载荷下有本质区别。焊料不是弹性材料SAC305这类无铅焊料在室温附近就已经表现出明显的蠕变和应力松弛特性。温度越高焊料越“软”应力松弛越快温度越低焊料越“硬”应力累积越明显。如果在高温段叠加振动载荷焊料正处于低刚度状态振动应变就会更多地由焊点本身吸收导致每个振动循环的塑性应变幅比常温振动更大。反过来振动产生的交变应力又会加速焊料内部的蠕变损伤积累。这种“热加速振、振促进蠕变”的耦合效应只有把温度场和振动载荷同时加载到模型里才能真实捕捉。所以我的仿真策略是两步走先做热-结构耦合分析提取温度循环下焊点的应力应变场再在此基础上叠加振动载荷计算焊点在热-振联合作用下的累积损伤。简单说热分析负责给出“材料的当前状态”振动分析负责在这个状态下“加力”两者共同决定焊点的疲劳寿命。2.2 模型怎么建焊球要不要一个一个画出来建模型前先明确分析目标我这个仿真要回答的问题是四角焊点相对中心焊点在热-振耦合工况下应力高多少、寿命短多少。所以模型不需要完整复制整颗芯片的内部结构把关键尺寸和材料属性做准才是重点。我以一颗典型的10mm×10mm封装、0.5mm焊球间距、15×15焊球阵列的BGA为研究对象PCB尺寸取120mm×100mm×1.6mm的标准板厚。焊球直径0.3mm焊后高度约0.25mm焊盘直径0.25mm这些都是JEDEC规范里的常规参数。模型里包含的结构有硅芯片、塑封料、BT基板、铜焊盘、SAC305焊球和FR4 PCB。为了兼顾计算精度和资源消耗我用1/4对称模型对称面上加对称边界条件这样模型规模直接缩小四分之三。有一个建模细节值得专门说一下焊球阵列里的几百颗焊球不需要全部用精细六面体网格。我的做法是对四角区域、最外圈焊球和中心区域的焊球用精细网格中间过渡区域用较粗的网格甚至可以用梁单元简化。因为仿真关注的是四角焊球和中心焊球的应力和寿命对比只需要保证这些关键位置的计算精度足够。如果全部做精细网格几百颗焊球的接触和蠕变计算会让求解时间长得难以接受。下面这组材料参数是我在这个仿真里实际用到的不同厂家的材料会有差异但数量级可以供参考材料弹性模量(GPa)泊松比CTE(ppm/°C)热导率(W/m·K)硅芯片1310.282.6150塑封料(EMC)160.30150.9BT基板260.3913(面内)/30(厚度)0.3铜焊盘1170.3416.7385SAC305焊球45(25°C)/18(125°C)0.3621.558FR4 PCB22(面内)/10(厚度)0.2816(面内)/50(厚度)0.3需要注意焊料的弹性模量随温度变化很大25°C时约45GPa到了125°C掉到18GPa这个温度相关性在做热-振耦合仿真时必须考虑否则高温段焊点刚度算高了振动应力会明显失真。2.3 载荷和边界怎么施加温度循环和振动谱怎么配合仿真用的边界条件尽量贴近实际工况。PCB四个角的位置模拟螺钉固定约束三个方向的平动自由度对称面上加对称约束。温度循环参照JEDEC的JESD22-A104标准取-40°C到125°C的严苛等级升温速率10°C/min高温保温15分钟低温保温15分钟一个循环总共约56分钟加载三个循环让应力应变场达到稳定。振动载荷我用的随机振动PSD谱这是车载和通信设备里常见的一种典型谱型频率范围20Hz到2000Hz总均方根加速度约6.06Grms。随机振动相比正弦扫频更贴近真实工况因为实际环境中的振动从来不是单一频率的。关键点是热-振耦合的顺序。我的做法是第一步先跑完三个温度循环提取最后一个循环的应力应变场作为“热态初应力”第二步把温度场固定在焊料最“软”的高温时刻比如125°C保温段或应变最恶劣的低温时刻比如-40°C作为预应力状态第三步在这个状态下叠加随机振动PSD谱进行频域动力学分析。因为焊料的蠕变损伤在高温段最明显振动叠加在高温段是最保守的工况所以我重点分析了125°C热态下的振动响应同时对比了-40°C冷态下的情况。这里面有一个非常容易踩的坑热-结构分析和振动分析使用的不一定是同一套约束方式。热应力分析需要约束刚体位移但如果把四个角的螺钉孔全部做固定约束板子的热膨胀完全被限制算出来的应力会虚高。合理的做法是只约束一个角的三个平动自由度另外一个角约束两个方向其余角只约束法向让板子在面内可以自由膨胀。振动分析则不同必须按实际安装方式将四个螺钉孔全部约束否则模态频率和振型完全不对。这个区别如果不注意热应力和振动应力会互相污染。3. 仿真结果解读数据把“四角先坏”讲得明明白白3.1 热应力分布角部焊球的“压力山大”先看纯温度循环下的结果。三个循环跑完提取焊球阵列的等效蠕变应变分布结果可以说是一目了然。四角位置焊球的累积等效蠕变应变最大最外边一圈焊球次之封装中心区域的焊球应变最小。定量来看在-40°C到125°C的温循条件下角部焊球的等效蠕变应变大约为1.8%最外圈非角部位置约1.2%中心焊球只有0.4%左右角部焊球的蠕变应变是中心焊球的4.5倍。这个结果用DNP理论完全可以解释。封装中心的热膨胀量为零离中心越远基板和PCB之间的相对位移越大焊球受到的剪切变形越大。焊球的失效模式在显微镜下看主要是沿焊球与焊盘界面的剪切裂纹裂纹从外边缘萌生逐步向焊球中心扩展最后形成完整的环形裂纹。四角焊球承受的剪切应变量最大裂纹萌生和扩展的驱动力最强自然最先断裂。还有一个容易被忽略的细节是焊球阵列边角处的“边缘效应”。中间焊球的四周都有相邻焊球支撑变形相对均匀边角焊球只有一边或两边有相邻焊球另外几个方向是自由的应力集中现象更明显。边界焊球比内圈焊球先坏也是这个原因。3.2 振动模态与焊点应力叠加越往角上振幅越大第二步做模态分析提取PCB的前六阶固有频率和振型。这个120mm×100mm的板子一阶固有频率大约在230Hz振型是典型的弯曲模态板中心和四角位移方向相反二阶频率约410Hz振型变成扭转加弯曲的复合形态三阶频率约580Hz板子出现马鞍形变形。关键是无论哪一阶模态板子四个角的位移幅值都是相对较大的区域。随机振动分析的结果进一步印证了这一点。在6Grms的振动载荷下PCB四角的位移响应RMS值约0.35mm板中心的位移响应反而较小。焊球作为连接封装和PCB的“铰链”板子的弯曲变形在焊球位置转化为拉伸和剪切应变。提取焊球阵列的振动应力分布角部焊球的等效应力RMS约28MPa中心焊球约9MPa最外圈非角部焊球约18MPa。振动应力在空间分布上的规律和热应力的分布高度一致——都是四角最大、中心最小这就是两类载荷在空间上的“同相位叠加”。把热态初始应力和振动应力加起来看四角焊球在高温段的综合应力水平最高峰值应力约75MPa中心焊球峰值应力约22MPa两者相差3.4倍。更重要的是四角焊球在振动过程中经历的应力幅值变化也最大每个振动周期的应力和应变幅值都远高于中心焊球疲劳损伤的累积速度自然快得多。热-振耦合不是简单的应力相加而是应力和应变幅值的双重放大。3.3 寿命估算四角焊球的寿命到底短多少有了关键焊球的应力应变数据下一步就是寿命评估。焊点的疲劳寿命预测常用两类模型一类是基于塑性应变的Coffin-Manson模型适用于温度循环主导的失效场景另一类是基于蠕变应变的Darveaux模型或基于能量的蠕变应变能密度模型适用于蠕变和应力松弛占主导的场景。由于无铅焊料在温度循环下蠕变效应显著我选用基于蠕变应变能密度累积的寿命模型这个模型的好处是同时考虑温度和应力两个因素与热-振耦合的场景更匹配。用Darveaux模型做寿命计算输入角部和中心焊球的蠕变应变能密度增量模型中的裂纹萌生周期和扩展周期分别计算最后合计出焊点的特征寿命。仿真结果显示-40°C到125°C温循叠加6Grms随机振动条件下角部焊球的预测特征寿命约2100个循环中心焊球的预测特征寿命约6300个循环角部寿命只有中心的1/3。即便是最外圈非角部焊球预测寿命也只有约3800个循环。这个结果很有说服力。打个比方同样一块面板四个角的铆钉要承受比中心铆钉大3倍的载荷当系统运行到两千多次温循时四角铆钉率先疲劳断裂中心铆钉还没到极限。BGA焊点四角先坏的工程现象在仿真数据里获得了清晰的定量解释。当然要说明的是具体寿命数值会随封装尺寸、材料参数、载荷谱不同而变化但它反映的“四角与中心寿命差距”这个结论在各类BGA封装中具有普遍性。4. 从仿真到工程怎么改设计、怎么修板子才靠谱4.1 设计端的几个有效动作选材、布板、加胶既然仿真把四角应力高的机理讲清楚了工程上的改进方向也自然清晰。最先考虑的永远是降低CTE失配。选用更低CTE的PCB基材比如高Tg FR4、陶瓷基板甚至金属基板或者选用低CTE的封装基板材料都能直接减小热失配产生的剪切应变。以FR4板材为例面内CTE从16ppm/°C降到12ppm/°C仿真显示四角焊球的蠕变应变大约可以降低20%到25%。但这个方案受限于成本和板材可加工性不是所有产品都能换材料。其次是从封装和板级布局上想办法。既然四角焊球离中心最远、应力最大可以在封装设计阶段就让四角的焊球“参与度”降低——比如四角做虚焊盘不连接电气网络的机械焊盘或者把角部最外侧的几颗焊球改为直径更大、高度更高的“应力缓解焊球”。还有一种常见做法是在封装四角增加应力释放槽把基板角部的应力集中区切掉一部分。不过这些手段都会影响封装成本和加工良率需要权衡。最实用、应用也最广的手段是底部填充胶。对于CSP和小尺寸BGA封装在回流焊后对芯片底部进行underfill填充胶水固化后将芯片和PCB连成整体焊球不再独立承受全部剪切变形应力被分散到胶层和PCB的粘接面上。仿真显示填充底部胶后四角焊球的蠕变应变降低了50%以上。对于球间距较小、封装尺寸较大的BGA建议把underfill列为强制工艺。4.2 工艺端的细节回流曲线和返修温度一个都不能马虎设计做得再好焊接工艺拉胯照样四角先坏。这里要重点说两个环节。第一是回流焊的温度曲线控制。无铅SAC305焊料的峰值温度一般在235°C到245°C之间但很多工厂为了提高产能会把升温速率调得很快结果就是板子表面和内部温差过大冷却时PCB和封装之间产生额外的热应力把残余应力“冻结”在焊点里。我建议升温速率控制在1.5°C/s到2°C/s以内冷却速率控制在3°C/s以内让焊点在凝固前后有足够的时间释放应力。这个参数看起来不起眼但对焊点的初始应力状态影响非常大初始应力越高的焊点在后续温循和振动中越早完蛋。第二是返修环节这也是现场工程师最常遇到的情况。BGA返修台和热风枪最大的区别在于返修台具备底部预热和精确控温能力。底部预热可以让整个PCB达到一个均匀的温度基础通常120°C到150°C这样拆卸芯片时顶部热风不需要开到很高就能融化焊球避免板子局部过热变形。我见过太多用热风枪硬吹导致焊盘翘起、板子烤黄、相邻元件移位的情况原因就是没有底部预热热风全被板子吸收局部温度冲击太大。用BGA返修台拆焊时至少要注意三点第一步根据焊球尺寸和焊料成分设置好底部预热温度和顶部风嘴温度SAC305的无铅焊料顶部温度一般设定在280°C到300°C底部预热150°C左右第二步吸嘴或风嘴的中心必须和芯片中心对齐如果偏了芯片两侧受热不均容易出现一边焊球全化了一边还没动的情况第三步芯片取下后用吸锡带配合助焊剂把焊盘上的残锡清理平整再涂助焊剂、植球植球时确保每个焊球的位置精度偏位会导致焊接时短路或虚焊。4.3 现场案例红米AX3000主板的TTL焊点修复说到返修实操我最近刚好处理过一台红米AX3000路由器的主板问题。这台路由器本身是正常使用中出现的启动异常拆机后检查主板发现CPU旁边的TTL调试接口焊盘有松脱迹象同时CPU下方的一颗BGA焊点也有轻微空焊。这种消费级产品的PCB板材等级不高焊盘附着力有限加上路由器长期在弱通风环境里工作温升和热循环反复折腾焊点出问题其实不意外。TTL焊盘松脱的处理相对直接。先用烙铁配合低温焊锡把残留的焊锡清理干净然后用刀片轻轻刮开焊盘附近走线上的阻焊层找一段细铜丝做飞线一端焊在走线上另一端焊到TTL排针的对应引脚。飞线长度尽量短减少信号干扰。这活儿看着简单实际上手要非常小心路由器主板上的走线很细刮阻焊层时力度大了容易把走线弄断力度小了又露不出铜面。我的经验是先上一点助焊剂再用刀片轻刮刮两下就停下来看一次别着急。BGA空焊的处理就只能上返修台了。这台路由器的CPU封装尺寸不大我用的返修台底部预热设定140°C顶部风嘴温度280°C拆下CPU后重新植球植完球再装回去。整个过程最需要注意的是PCB的受热变形路由器主板只有1.2mm厚度比工控主板薄得多预热不充分的话板子很容易翘曲一翘曲BGA焊球的对位精度就废了。我实测下来底部预热时间至少要给足3分钟让板子整体温度均匀后再加热顶部这样装回去的芯片才不会有内应力残留。再说一句题外话很多人以为BGA虚焊只能整机报废其实只要有返修台和一点耐心大部分消费级产品的BGA焊点问题都能修。市面上一台入门级BGA返修台两三千块对经常捣鼓电子维修的人来说回本是很快的。4.4 常见问题速查仿真和返修中那些容易翻车的点最后把我在仿真和返修过程中经常遇到的坑整理成一张速查表按场景分类方便大家直接排查场景典型问题主要原因解决思路仿真分析热应力结果虚高边界约束过强板子无法自由膨胀只约束必要的刚体位移让面内自由膨胀仿真分析模态频率和实测差很多PCB的弹性模量取值不准或忽略了铜层PCB用等效层合板属性计入铜箔层仿真分析收敛困难焊料本构模型设置不当或网格畸变使用Anand粘塑性本构细化焊球网格仿真分析寿命预测偏差大载荷谱和实际工况不符尽可能用实测PSD谱和温度曲线返修操作拆焊时焊盘脱落底部预热不足局部温度冲击过大延长预热时间控制顶部风嘴温度返修操作重新贴装后短路植球位置偏位或焊球大小不一致检查钢网开孔精度植球后仔细检查返修操作飞线后信号异常飞线太长或焊点不牢固飞线尽量短用胶固定走线位置现场维修芯片拆下来就碎了芯片底部还粘着胶硬撬导致碎裂确认底部胶是否已加热软化用铲刀轻推这些坑我基本都踩过一遍最难排查的是仿真里“结果看似合理但数值不对”的情况比如振动应力偏高最后发现是PCB板材的弹性模量用了面内值模型里的厚度方向刚度被算大了。做仿真这行模型细节决定结果可信度建议大家在提交仿真结果前一定先用一个最简单的已知工况校核模型比如用单颗焊球模型对比手算的剪切应变确认模型本身没问题再跑完整阵列。最后多说一句从现象到机理从仿真到工程改进BGA四角先坏这件事说复杂也复杂说简单也简单。我个人的体会是可靠性的问题很少有单一原因四角焊点失效是材料、结构、载荷三者的耦合结果仿真只是把这三者的关系定量地摆出来真正的改进还是要靠设计、工艺、维护一起使劲。如果你手头也有BGA失效的案例建议先别急着怀疑供应商的焊接质量先算算封装四角的DNP再看看板子的振动工况很多时候答案早就写在力学里了。
返回列表