DDR 2.5V & VTT 去藕电容数量的分析
翻译了Micron的一份AN文档,里面增加了自己的一部分理解。从原理上对芯片去藕电容数量的计算分析。DDR 2.5V & VTT 去藕电容数量的分析
在DDR设计过程中,DDR使用2.5V对颗粒进行供电,使用VTT(1.25V)进行端接。对于VTT电源,最大工作电流可达到2.8A,如此大的电流如何保证其电压不会跌落到规定的范围之外呢?2.5V为内存颗粒提供工作电压,同一时间大量的逻辑门进行翻转,也会造成2.5V上大电流的出现,如何对这些电源进行去藕,才能满足设计要求?
模型
为解决上面的问题,首先对一个端口进行简单的模型化。一个典型的DDR控制器端口,其串接一个端接电阻,接到负载,最后连上并行终端,终端电压为MVTT,如下图1所示。模型中,net的总电流由两部分组成:通过终端匹配电阻的稳态电流,Idc;通过负载的开关电流Iac。Idc在负载状态发生改变之前为一个常量。Iac仅仅出现在逻辑状态发生变化时。在Iac流过负载的这段时间,稳定状态时的电流方向将从正(或者负)到负(或者正)发生改变。如下图1:
[attach]369[/attach]
图1:I/O端口基本模型
Itotal=Idc+Iac;----------------------------------------------------------<I>
其中:Idc=流过串行端接电阻(Rs),并行端接电阻(Rt),和驱动器电阻(Rd);
Iac=net逻辑状态发生变化时的开关电流。
对于一个支持双面、unbuffer的内存通道,其数据线连接4个负载。其模型中各参数非别为:Rs=0ohm,Rd=13ohm,Rt=39ohm。假设在最差情况下,信号边沿的变化速率为1V/ns。
负载处于稳定逻辑电平时:
Idc=(VDD-MVTT)/(Rs+Rd+Rt)----------------------------------<II>
=(2.5-1.25)/(0+13+39) 注:VDD=2.5V、MVTT=1.25V
负载跳变时:
Iac=Cdv/dt ----------------------------------------------------------------<III>
=30(1.875/1.5) 注:C=负载电容、dv=电压范围、dt=10%到90%上升下降时间。
对于DDR SDRAM的DQ/DQS最坏输入电容为5pf,每根net挂4个负载的双面DIMM,其总共负载为20pf。对60ohm阻抗的PCB走线,每英寸线长的电容为2.5pf。走线为4inch的PCB线,其总电容为10pf的电容。该net上的总电容为负载电容与走线电容之和30pf。
负载端的电压范围为1.875V,10%到90%的电压之间的差为1.5V,根据电压跳变的速率得到,发生翻转的时间为1.5ns。
由上面II和III式可以分别计算得到Idc=24.0ma;Iac=37.5ma。
电感
在一个去藕电路中,制约设计的关键因素不是电容,而是电容管脚和将这些电容连到电源和地平面的过孔的电感。
过孔电感
对于通孔而言,电流流经过孔的路径仅仅是到所连接平面的深度。例如,对于地层离顶层只有4mil厚63mil的板,过孔实际有效长度只有4mil。常见的去藕电容连接方式是分别和内层的电源和地连接。如果PCB板的叠层设计对称,在一个四层板中,使用相同直径的过孔分别连接电源和地的话,则可以直接使用单个通孔长度来等价于连接电源和地层过孔的长度和。使用这种等效方式可以简化过孔电感的计算。(如果过孔对电源和地的结构不同,如:两个地过孔和一个电源过孔,则需要对每一种结构单独进行计算)
为了计算过孔的电感,使用下面的等式:Lvia=5.08h[ln(4h/d)+1] =5.08h[ln(4(0.050)/0.013)+1](公式祥见A Handbook of Black Magic by Howard Johnson & Martin Graham P259 公式7.9);h=过孔长度,d=过孔直径。在此:50mil的板厚,13mil的过孔。则可以得到0.948nh的电感。(对于不同的板和DIMM条,过孔的长度和直径不一样。为了简化计算,在这都使用同一种过孔。)
电感最大值
高速的开关电流在电容的寄生电感和连接到电源平面的过孔上造成电压的跌落。从公式:V=L(di/dt),如果限定V的变化范围的话,最大的电感Lmax可以被计算出来。在1到0翻转的情况下,Idc流过Rd,Rs和Rt。Iac从被充电的输入门流经Rs,Rd到地;在由0到1翻转的情况下,相同的电流从2.5V流过相反的方向。对于规定的电压裕量,MVTT的裕量要比2.5V的裕量要严格得多。将2.5V的Lmax,和端接电压MVTT的Lmax分开来进行单独计算。为了计算的简化,假设只有Idc流过MVTT,而Iac流过V2.5V。在实际中,MVTT在边沿发生变化时会提供一部分电流,但是这部分并不会对我们的假设造成很大的影响。
同时需要注意的是对于MVTT的di,它等于两倍的Idc。由于Idc的在由1到0或者是由0到1的变化中,实际的电流方向发生改变,而且幅值不变。Iac在dt的时间内从0变化到它最大值。因此,对于2.5V的di=Iac。
由上推导根据:由V=Ldi/dt =>Lmax=Vdt/Ndi--------------------------<IV>
在这V为允许的最大电压跌落,dt为10%到90%的跳变时间,di为每根net的电流,N为同时发生翻转的网络数量。对MVTT,di=2XIdc,对于2.5V,di=Iac。对于MVTT,其电压范围为+/-100mv,对于2.5V,其电压范围为+/-200mv。由此可以得出MVTT最大的允许电感Lmax=0.029nH,2.5V最大的允许的电感Lmax=0.073nH。
电容的等效电感
对一个0603封装的电感来说,其封装的电感会随厂商的不同或者是使用的非介电质不同而不同,由此在设计的过程中我们需要根据厂商提供的手册来找到其封装电感。如下例:
0603电容的封装电感为0.87nH;
则0603电容的等效电感:Leq= package+Lvia;
Leq=0.87nH+0.948nH=1.818nH
去藕电容的个数
去藕电容的个数可以由每个电容的等效电容除以最大允许的电感。即:
Ncap=Leq/Lmax
结合上面的例子:对于MVTT:Ncap=1.82/0.029=63个;
2.5V: Ncap=1.82/0.073=25个;
当MVTT需要的去藕电容数量呈现在我们面前时,我们或许不禁会问,这么多个电容,能够摆放得下吗?问题可以通过如下方式来解决。通过将MVTT使用大块铜皮,然后将去藕电容直接连在这块铜皮上,这样就可以省去许多过孔。与此同时,我们能够将地过孔的有效长度通过将地层直接铺在表层下减小。在这种情况下(假设h=0.04mil),Lvia=24.5pH,这个过孔的电感与电容的封装电感相比就显得无关紧要了。在这种情况下Leq=Lpackage,根据上面的例子,我们可以得到,MVTT 0603的去藕电容将会减少到31个。
结束语
由于上面的计算都采用简化的等式进行,同时每根net的负载也相同,其实在实际的使用中,地址、控制和时钟信号会比数据线的负载要重的多!这些信号也是单向的仅仅从控制器到RAM。而且其工作频率为数据频率的一半,单独对这些网络进行计算,可以获得更精确的结果。
在上述的例子中,电容的数量更多依赖于公式中计算的参数。尽管在去藕电容的数量上很难进行精确的预算,但是减小串联端接电阻的阻值,将会增加信号边沿的速率,从而增加di/dt,这样将会增加2.5V的去藕电容。
同时对于dt的值也很难进行确定,dt的值主要取决于驱动器驱动能力的设置。建议对于整篇文档中的例子,在设计时,可以做为设计的一个参考来进行模型的搭建,更精确的数量需要多次的实验来支持。 我觉得这个很难计算得出一个准确数字啊 是的.理论上讲数量计算出来,然后进行不同容值电容组合.
确定需要滤波的频段,在该频段内建立目标阻抗,然后根据上述电容的总容值,进行不同容值的组合,以确定最优的PI解决方案(据说sigrity的OptimizePI可以进行组合优化:)).当然这需要涵盖电容的模型,走线网络的建模.呵呵.纯理论的空谈!:L :(
希望能够有时间静下心弄一下!
页:
[1]