如何使用DDR2SDRAM全集.docx
《如何使用DDR2SDRAM全集.docx》由会员分享,可在线阅读,更多相关《如何使用DDR2SDRAM全集.docx(25页珍藏版)》请在冰豆网上搜索。
![如何使用DDR2SDRAM全集.docx](https://file1.bdocx.com/fileroot1/2023-1/29/7fc5a992-0ba8-449f-9a7f-fdc160600a61/7fc5a992-0ba8-449f-9a7f-fdc160600a611.gif)
如何使用DDR2SDRAM全集
如何使用DDR2SDRAM
(一)
ElpidaMemoryInc.
本文面向使用DDR2SDRAM进行系统设计的应用工程师,介绍有关现有SDRAM和双倍数据率同步DRAM(DDRSDRAM)的一些知识,如电气工程参数、逻辑电路,以及详细的功能及使用要点,帮助他们了解DDR2SDRAM的基本功能和使用。
请注意,本文是一个严格意义上的演示指导文件,所出现的数据未经证实,只供大家学习参考。
如果欲了解有关个别产品的详细资料,请参考相关的数据手册。
一、片上端接(ODT)
ODT即片上端接,它是一个不久前才增加到DDR2SDRAM上的新功能。
通过将端接电阻包含於DRAM内,有效地降低了信号的反射。
对於每一个数据I/O,管脚信号(DQ)、差分数据选通信号(DQSand/DQS)、写数据屏蔽信号(RDQSand/RDQS),DRAM控制器能够使用ODT功能同时设定端接电阻的ON和OFF。
由於减少了信号的反射(一个主要的噪音源),这个功能可以使信号质量大幅度提高,从而实现比较快速的数据传输。
由於消除了端接电阻的布局和布线工序,ODT功能还简化了系统的设计。
同时,这还意味著主板上元器件数量的减少,降低了与元器件相关的费用。
图1-1.使用主板端接时的信号反射
1.1信号反射
将一个球抛向墙壁将会被反弹回来。
同样地,当电气信号达成传输路径的末尾的时候,将会被反涉回来。
电信号经过阻抗不一致的传输点时,例如总线和DRAM的连接点,也可能被反射。
信号反射将引起噪声,从而降低信号质量。
高速数据传输系统要求高质量的信号,甚至一些细微的噪声也可能成为一个主要问题。
1.2主板终接
主板终接是一种能够减少信号反射的终接方式,具体方法是将具有适当阻值的电阻器(端接电阻)附著在每一个传输线路的终端。
然而,在DDR2SDRAM的运行频率范围内,这个方法不能充分地减少信号的反射。
另外,在主板上增加端接电阻还增加了元件的数目,并且可能增加成本。
1.2.1使用主板端接时的信号反射
如上所述,主板端接不能充分地减少信号反射。
如果同一总线上带有多个DRAM,如图1-1所示,处於激励模式的DRAM就会受到处於待机模式的DRAM发出的反射信号的影响。
这样一来,为了获得高信号质量就必需一个高速度的数据传输系统;当要求的信号精度高於主板端接可能达到的水平时,必须通过一种特别技术来控制信号的反射。
1.3ODT概览
当使用ODT时,每一个DRAM的片上端接电阻均可以切换为ON和OFF状态。
因此,即使同一总线上有多个DRAM,发射到处於待机状态DRAM的信号也可以被中止。
结果是,激励DRAM将很少受到来自待机状态DRAM的反射信号的影响。
1.3.1ODT特徵
DDR2SDRAM嵌入了端接电阻,该端接电阻通常放置在主板上。
DRAM控制器通过ODT,能够同时将每一个管脚(DQ、DQS、/DQS、RDQS和/RDQS)的端接电阻设置为ON或OFF状态。
端接电阻的阻值有多种选择,如“ODT未选择”、“ODT被选择(50Ω)”、“ODT被选择(75Ω)”、或“ODT被选择(150Ω)”等。
这些端接电阻的阻值是通过扩展模式寄存器芯片组(EMRS,extendedmoderegistersset)进行设置的。
图1-2.ODT和反射信号
1.3.2ODT的优势
DDR2DRAM所包含的端接电阻通常预先固定在主板上,因此减少了主板上的元器件的数目。
也消除了在主板上进行的一些繁琐的布线工序,有助於简化系统设计。
图1-3.ODT的结构
1.3.3ODT的结构
DDR2DRAM能通过ODT控制管脚将每一个管脚(DQ、DQS、/DQS、RDQS和/RDQS)的端接电阻同时设置为ON或OFF状态。
端接电阻的阻值预先通过EMRS进行设置。
1.4ODT阻抗值的设定
ODT的阻抗值经由EMRS进行设定。
使用2bits(A6和A2)数据,选择“ODT未选择”、“ODT被选择(50Ω)”、“ODT被选择(75Ω)”,或“ODT被选择(150Ω)”进行设定。
一旦设置了ODT阻抗值,该数值就一直保留在里面,直到另一组设置数据进入,或电源被关闭为止。
1.5ODT的ON/OFF定时
ODT设定状态的控制是以ODT控制管脚上的输入电平的大小为依据的。
ODT定时的标准值在切断模式和其它模式之间改变,例如激励模式或待机模态。
1.5.1切断模式下的ODTON/OFF定时
图1-5显示了切断模式下的ODTON/OFF定时。
在切断模式下,将ODT设置为ON(ODT的控制管脚输入处於高电平状态),当ODT切断接通延迟时间(tAONPD,turn-ondelaytime)消逝後,再将内部端接电阻器(Rtt)设定为ON。
切断模式下,当ODT被设置为OFF时(ODT的控制管脚输入处於高电平状态),当ODT切断延迟时间(tAOFPD,turn-offdelaytime)消逝後,将内部端接电阻器(Rtt)设定为OFF状态。
1.5.2激励模式及待机模式下的ODTON/OFF定时
图1-6.激励模式及待机模式下的ODTON/OFF定时
图1-6显示的是激励模式及待机模式下的ODTON/OFF定时。
无论是激励模式还是待机模式,如果ODT被设置为ON(ODT控制管脚输入为高电平),当ODT接通延迟时间(tAOND)消逝後,将内部端接电阻器(Rtt)设定为ON模式。
无论是激励模式及待机模式下,当ODT被设置为OFF(ODT控制管脚输入为低电平)时,在ODT切断延迟时间(tAOND)消逝以後,再将内部终接电阻器(Rtt)设定为OFF模式。
图1-4.通过EMRS设置ODT的阻抗值
图1-5.切断模式下的ODTON/OFF定时
1.5.3进入切断模式时的ODTON定时
图1-7显示了进入切断模式过程中,当ODT被设定为ON时的定时情况。
在ODT被接通(ON)时,ON的延迟时间必须消逝。
进入切断模式时,具体定时情况根据延迟时间是否已经逝去而有所不同。
当输入切断模式时,如果延迟时间没有消逝,ODTON的延迟时间将会比常态要长。
图1-7.进入切断模式时的ODTONTiming
如果在ODTON的延迟时间消逝之後进入切断模式,DRAM就会随著切断模式的输入而同时被设置为“激励”或“待机”状态。
如果切断模式是在ODTON延迟时间消逝之前输入的,DRAM就被设置为切断模式。
1.5.4进入切断模式时的ODTOFF计时
图1-8显示了进入切断模式时,当ODT被设定为OFF时的计时情况。
在ODT被关掉(OFF)之前,切断延迟必须消逝。
当输入切断模式时,具体定时情况根据延迟时间是否已经逝去而有所不同。
当输入切断模式时,如果延迟时间没有消逝,ODT的切断延迟时间将会比常态要长。
如果在ODTOFF的延迟时间消逝之後输入切断模式,DRAM就会随著切断模式的输入而同时被设置为“激励”或“待机”状态。
如果切断模式是在ODTOFF延迟时间消逝之前输入的,DRAM就被设置断电(power-down)模式
图1-8.进入断电(power-down)模式时的ODTOFF计时
1.5.5离开断电(power-down)模式时的ODTOFF计时
图1-9为离开断电模式时,当ODT被设定为ON时的计时情况。
图1-9.离开断电模式时的ODTONTiming
其中,离开(exit)延迟时间(tAXPD)必须在离开断电模式之前消逝。
ODT的接通计时根据延迟时间是否已经消逝而有所不同。
1.5.6离开切断模式时的ODTOFFTiming
图1-10.离开切断模式时的ODTOFFTiming
图1-10为离开切断模式时,当ODT被设定为OFF时的计时情况。
其中,离开(exit)延迟时间(tAXPD)必须在离开切断模式之前消逝。
ODT的关断(turn-off)计时根据延迟时间是否已经消逝而有所不同。
1.6ODT的自刷新模式
在自刷新模式(self-refreshmode)下,不支持ODT功能。
二、OCD(片外驱动器)
片外驱动器(OCD)是增加到的DDR2SDRAM的一个新功能。
它的主要功能是通过调节DRAM的内部输出驱动器的阻抗值,达到调整电压的目的,从而使输出信号的上拉阻抗(pull-up)与下拉阻抗(pull-down)相等。
这个功能用来使输出信号同步中的不平坦度最小化。
同时,当Ron阻抗变动的时候,可以通过调节该阻抗值,使器件之间的此类波动最小化。
2.1OCD概览
2.1.1驱动性能和同步
当驱动特徵改变的时候,输出信号需要一定的过渡时间(上升时间或下降时间),以便达到一定的电压,因为该电压也发生改变。
图2-1显示了由於驱动性能的改变,输出信号的过渡时间是如何进行变化的。
一般地说,驱动性能越好,意味著信号的过渡时间(上升时间或下降时间)越快。
相反的,驱动性能越差,意味著信号的过渡时间(上升时间或下降时间)越慢。
2.1.2DQS信号、/DQS信号和驱动性能
图2-1.驱动时间与信号过渡时间
DDR2SDRAM所使用的DQS和/DQS信号是与相位有关的。
当DQS和/DQS信号具有相同的驱动特徵时,每一个信号的中间电平和交叉点电平也是相互匹配的。
然而,如果任何一个信号相较另外一个而言具有比较差(或较强)的驱动性能,那麽它们的中间电平和交叉点就不匹配。
2.1.3DQS信号、/DQS信号和有效数据窗口
DDR2SDRAM使用DQS和/DQS信号的交叉点作为I/O数据的参考时钟。
记忆体控制器以与参考时钟同步的形式,将数据与DQ闭锁。
之所以采用DQ作为参考信号,是为了区别VREF信号的高电平和低电平。
当DQS和/DQS信号具有不同的驱动特徵时,DQS信号和/DQS信号之间的交叉点将会偏离每一个信号的中间电平。
因此,延迟时间(DQ-DQSskew)出现在DQS和/DQS信号交叉点的一侧,以及DQ和VREF信号的交叉点的另一侧。
当如此DQ-DQS斜率存在时,用以在数据输入或输出期间闭锁数据的时间(有效数据窗口)减少了。
对於DDR2SDRAM来说,有效时间窗口的减小是一个相当严重的问题。
2.1.4通过调整电压扩展有效数据窗口
OCD用来调整DRAM的内部输出驱动器的阻抗值。
该功能能够调整电压,相当於调整了DQ、DQS和/DQS等输出信号的上拉电阻和下拉电阻的电阻值。
用OCD调整电压的时候,将在DQS和/DQS信号之间生成一个交叉点,以便与每一个信号各自的中间电平匹配。
使DQS和/DQS信号之间的交叉点最佳化,可以将DQ信号和VREF信号之间的交叉点的延迟时间减到最小。
通过OCD调整DDR2SDRAM的电压的时候,可使DQ-DQS斜率最小,从而使数据输入或输出时的闭琐时间(有效数据窗口)最大化。
图2-2.DQS信号、/DQS信号和驱动特徵
图2-3.DQS信号、/DQS信号和有效数据窗口
图2-4.通过调整电压扩展有效数据窗口
2.2OCD阻抗值的设定
OCD阻抗值的设置是通过优化处於驱动模式的DRAM的输出信号的阻抗值来实现的,具体依据是记忆体控制器或外部测量仪器的测量数据。
在驱动模式中,外部设备主要起比较作用,以检测目前的阻抗值和目标值(对於SSTL_18来说,目标值为18±3Ω)之间的差异。
当此类差异存在时,就通过调整模式对该阻抗值进行调整。
一直重复这些比较和调整步骤,直到最适宜的阻抗值被设置成功为止。
进行OCD阻抗值调整的时候,所有输出管脚都被设置成同一阻抗值。
因此,进行这些测量和比较的时候,必须使用记忆体控制器或其他外部设备。
2.2.1OCD阻抗调整方法
调整OCD阻抗的5个步骤为∶设定驱动
(1)模式,设定驱动(0)模式,设定调整模式,退出OCD校验模式,设定OCD校验默认值。
所有这些操作通过设定EMRS进行选择。
为了调整并得到正确的阻抗值,上拉阻抗和下拉阻抗一定要分开调整。
这是因为驱动模式
(1)和驱动模式(0)已经设定到位。
切换到不同的模式时,OCD校验模式必须随当前模式一起消除。
2.2.2OCD阻抗调整步骤
为了调整并得到正确的阻抗值,上拉阻抗和下拉阻抗一定要分开调整。
这是因为驱动模式
(1)和驱动模式(0)已经设定到位,首先调整哪一个驱动模式并不重要。
一旦设定了某一驱动模式,就检测当前的阻抗值是否为最佳阻抗值。
如果需要对该阻抗值进行调整,就将其设置为调整模式,对阻抗值进行调整。
一直重复该调整,直到阻抗值达到最佳值为止。
如果要切转到一个不同的模式或退出,OCD校验模式必须随当前模式一起取消。
2.3OCD值的设定
OCD的各种功能可以通过EMRS进行设定。
其中,可以通过3bits(A7、A8和A9),设定以下五个模式之中的任何一个∶驱动
(1)模式、驱动(0)模式、调整模态、OCD校验模式退出,默认OCD校验模式等。
这五个模式主要用作OCD校验。
2.3.1驱动模式
(1)
当使用驱动
(1)模式时,输出信号(DQ、DQS和/DQS)的输出电平保持为目前状态。
同时,还必须使用一个外部器件,如记忆体控制器,以测量输出信号(DQ、DQS和/DQS)的电压电平,检测上拉电阻的值是否与目标值一致。
一旦设定了驱动
(1)模式(Drive
(1)Mode),tOIT时间必须在输出信号(DQ、DQS和/DQS)被设定为如表2-1列出的输出状态之前消逝。
这些输出状态必须一直保持到进入“OCD校验退出(OCDcalibrationmodeexit)”指令为止。
该过程中,必须使用一个外部器件,以测量用以驱动输出信号(DQ、DQS和/DQS)的输出驱动器是否已经设定为最佳阻抗值。
如果该阻抗不是最佳值,必须通过调整模式进行重新设定。
返回顶部
整个测量和调整循环必须一直重复下去,直到得到最佳阻抗值为止。
注意,DDR2SDRAM不支持阻抗值测量和比较功能。
因此,在这些测量和比较过程中必须使用记忆体控制器或其它外部器件。
2.3.2驱动(0)模式
当使用驱动模式(0)时,输出信号(DQ、DQS和/DQS)的输出电平设定为目前状态。
同时,还必须使用一个外部器件,如记忆集控制器,以测量输出信号(DQ、DQS和/DQS)的电平,检测下拉电阻值是否与目标值一致。
一旦设定了驱动(0)模式(Drive(0)Mode),tOIT时间必须在输出信号(DQ、DQS和/DQS)被设定为如表2-2列出的输出状态之前消逝。
图2-6.通过EMRS设定OCD模式
表2-1.驱动
(1)模式设定以後的输出信号状态
表2-2.设定为Drive(0)Mode时的输出信号状态
图2-7.驱动模式
(1)计时
点击查看图2-5.OCD阻抗调整流程
图2-8.驱动模式(0)计时
表2-3.脉冲数据和操作
这些输出状态必须一直保持到输入“OCD校验退出(OCDcalibrationmodeexit)”指令为止。
该过程中,必须使用一个外部器件,以测量用以驱动输出信号(DQ、DQS和/DQS)的输出驱动器是否已经设定为最佳阻抗值。
如果该阻抗不是最佳值,必须通过调整模式进行重新设定。
整个测量和调整循环必须一直重复下去,直到得到最佳阻抗值为止。
注意,DDR2SDRAM不支持阻抗值测量和比较功能。
因此,在这些测量和比较过程中必须使用记忆体控制器或其它外部器件。
2.3.3调整模态
采用调整模式可以对输出驱动器的阻抗值进行调整。
由於该阻抗可以在16档值中进行调整,可以通过对电压进行精细微调,对输出信号(DQ、DQS、和/DQS)的上拉电阻和下拉电阻进行量化。
一旦设定了调整模式,写等待时间(WL)时期一定要消逝,然後才能通过向DQ管脚输入4个脉冲数据的方式,对输出驱动器的阻抗值进行调整。
如果输出驱动器的阻抗值达到了极限值,就不能超过该极限。
在输入调整模式之前,脉冲长度必须设定为“4”。
这时,所有输入数据必须同时输入到DQ的所有管脚。
甚至在调整模式已经设定成功之後,如果切换为调整模式之前采用postedCAS输入指令,只有在附加延迟时间消逝之後才执行该指令。
2.3.4退出OCD校验模式
在调整OCD阻抗值的时候,必须在切换为另一个模式之前退出现在模式。
OCD校验模式退出(OCDcalibrationmodeexit)指令的功能就是退出目前模式。
2.3.5OCD校验默认值
OCD校验默认模式(OCDcalibrationdefaultmode)用以将输出驱动器的现在阻抗值设定为默认值。
如果了解默认值的详细描述,请参考特殊产品之数据说明。
2.3.6阻抗测试电路举例
使用图2-10所示的比较电路,可以对阻抗值进行测量。
外部设备可以通过该电路,检测输出信号(DQ、DQS、和/DQS)的阻抗值是否为最佳值。
三、4-bit预取(prefetch)
DDR2SDRAM所采用的4-bit预取(prefetch)是一项新结构技术。
在该结构中,内部总线宽度为外部总线宽度的四倍,因此在不用改变内部总线(记忆体胞元阵列)的运行速度的情况下,就可以得到加速因子为4的总线数据传输率。
图2-9.调整模式计时
图2-10.阻抗值测试电路举例
使用4-bitprefetch结构,DDR2SDRAM能够实现高达400Mbps或更高速率的高速数据传输。
3.1半导体工艺及加速极限
由於应用程序变得越来越复杂,要求更快速度的DRAM单元。
然而,DRAM单元的内部运行速度却受目前半导体工艺技术的限制,而且进一步提高速度已经变得相当困难。
如果将I/O缓存(buffer)的运行从DRAM的内部运行中分离出来,可以使DDR2SDRAM获得较高的数据传输速度,这较对DRAM本身进行改进的方法来说相对容易实现。
3.2Prefetch操作
prefetch运行可以预先读取和锁定即将从DRAM(记忆体胞元阵列)输出到I/O缓存的数据。
当I/O缓存的运行速度比记忆体胞元阵列的速度还要快的时候,DDRSDRAM就能够在一个prefetch操作的时钟周期内,提高可以传输的数据数量,从而使数据传输区域得到保护。
根据每个时钟周期内可以传输的数据量的不同,有二种prefetch方法∶4-bitprefetch和2-bitprefetch。
DDR2SDRAM使用的是4-bitprefetch方法。
3.2.1DDR2SDRAM、DDRSDRAM和SDRSDRAM的操作
SDRDRAM在外部时钟信号的上升边缘,以同步方式传输数据。
该数据传输区域是通过以下方式进行保护的∶以与外部时钟信号相同的频率,以1×nbit宽度(I/O宽度)将数据从记忆体胞元阵列传输到I/O缓存。
DDRDRAM的数据传输是与外部时钟信号的上升和下降边缘同步的。
这意味著即使两种类型的DRAM具有相同的运行频率,DDRDRAM也能够以两倍於SDRDRAM的速度传输数据。
除此之外,DDRDRAM能够以与外部时钟相同的运行频率,使用其prefetch功能锁定2×n-bit宽度的数据,并从记忆体阵列传输到I/O缓存,因此在不需要更高外部总线频率的情况下就能够保护数据传输区域。
DDR2DRAM的运行频率是DDRSDRAM的两倍。
因此,DDR2SDRAM在不需要更高的外部总线频率的情况下,能够以4×n-bit宽度(4-bitprefetch)预取数据。
3-3DDR2SDRAM、DDRSDRAM和SDRSDRAM的运行速度
表3-1列出了当内部总线的运行频率为133MHz时,DDR2SDRAM、DDRSDRAM和SDRSDRAM的运行速度。
通过对这些DRAM的比较发现,即使所有这些DRAM具有相同的内部总线运行频率,它们的数据总线速度的差异也很大。
对於DDRSDRAM和DDR2SDRAM,由於数据是在外部时钟信号的上升和下降沿传输的,其数据传输速度是SDRSDRAM的两倍。
此外,DDR2SDRAM的外部时钟运行频率是DDRSDRAM的两倍,因此其数据传输速度是SDRDRAM的4倍。
图3-1.DDR2SDRAM、DDRSDRAM和SDRSDRAM的运行比较(点击查看)
表3-1.DDR2SDRAM、DDRSDRAM和SDRSDRAM的运行速度
四、postedCAS及附加延迟
postedCAS和附加延迟(AL,additivelatency)是增加到DDR2SDRAM中的两个新功能,它们能够使指令的发布更加有效,并增加有效记忆体区域。
postedCAS和附加延迟减少了指令总线之间的冲突,使指令的发布更加高效。
因此,更加有效地利用数据总线提高了DDR2SDRAM的有效记忆体区域。
图4-1.DDR2SDRAM指令的发布
图4-2.PostedCAS操作(写操作)概览’]
4.1PostedCAS概览
4.1.1DDRSDRAM问题
当DDRSDRAM执行某一读或写操作的时候,首先会输入一个RAS信号(用於bank激励指令“ACT”),然後在读或写操作指令执行之前输入一个CAS信号(用於读指令“READ”或写指令“WRIT”)。
此时,在RAS信号输入和CAS信号输入之间需要一个明确的周期间隔(tRCD),这就是为什麽在连续执行多个读和/或写操作的时候发生指令冲突的原因。
即使为了避免如此指令冲突而有效地发布指令,数据总线中也可能出现浪费的空闲空间。
这就降低了指令总线和数据总线的效率,防止最大化的可能有效记忆体区域被保护起来。
4.1.2DDR2SDRAM的改进
DDR2SDRAM使用postedCAS功能使CAS信号(用於读指令“READ”或写指令“WRIT”)的输入要麽紧随RAS信号(用於bank激励指令“ACT”)输入之後,要麽位於tRCD期间的任何时刻。
上述已经输入的读或写指令插在器件内,在附加延迟阶段开始生效。
采用postedCAS功能能够使指令的发布更加有效,也提高了指令总线和数据总线的效率。
同时,由於该功能能够使多个读和/或写操作连续执行,也提高了记忆体区域的利用率。
借助控制器,该功能还避免了指令冲突。
4.2读操作
4.2.1DDRSDRAM中的读操作
DDRSDRAM中的读操作包括以下步骤∶
(1)输入Bankactive指令“ACT”。
(2)紧接bankactive输入,在tRCD过程消逝之後,输入读指令“READ”。
(3)紧接读指令,在/CAS延迟过程“CL”消逝之後,开始输出数据。
在执行一系列读操作的时候,一旦tRRD过程消逝,就紧接第一个bankactive指令的输入,输入下一个bankactive指令,但是其时序不能与读指令相同。
4.2.2DDR2SDRAM中的读操作
DDR2SDRAM中的读操作基本上与DDRSDRAM中的读操作相同∶
(1)输入Bankactive指令“ACT”。
(2)紧接bankactive的输入,或tRCD阶段中的任一时间点,在时钟周期内输入