《DDR3工作原理教学提纲.doc》由会员分享,可在线阅读,更多相关《DDR3工作原理教学提纲.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。DDR3工作原理-DDR3工作原理介绍【摘要】随着微电子技术的不断进步,以DDR为基础的DRAM芯片不断的发展,现在已经发到了第三代DDR,即DDR3,由于前两代DDR3的相继停产,新一代DDR已经成为了市场的主流应用产品。目前北京波分设计开发部,对DDR3使用比较少,缺少足够的技术积累。本文对DDR3的工作原理进行了详细介绍,同时对其专用名词进行了相应的解释,对于以后研发人员使用DDR3有很好的指导意义。【关键词】DDR3一、问题的提出波分单板中的NCP和支持FC业务的业务板,对于DRAM存储器的需求
2、是一直存在的,随着今后计算容量逐渐增大,NCP系列单板需要足够容量的DRAM芯片对CPU运算的支持;而支持FC的业务单板,则需要DRAM芯片对其拉远进行支持。而前两带DDR的相继淘汰和停产,处于成本等考虑导致我们现在必须使用DDR3芯片完成上述的功能。但是,目前DDR3的使用比较少,使得我们在使用DDR3芯片的时候,遇到的困难比较多。其相对复杂的时序和较多的专用英文名词经常让新手摸不到头脑,因此需要我们对其名词和基本的时序很好的理解,对以后的开发应用有很大的帮助。二、解决思路1、DDR3主要名词解释DDR3的工作原理框图如下所示,为了清除的描述芯片正常的工作流程,需要对功能框图中的一些专用词汇
3、进行解读,否则无法很清楚了了解各个过程。图一DDR3工作原理示意图Poweron:上电ResetProcedure:复位过程Initialization:初始化ZQCL:上电初始化后,用完成校准ZQ电阻。ZQCL会触发DRAM内部的校准引擎,一旦校准完成,校准后的值会传递到DRAM的IO管脚上,并反映为输出驱动和ODT阻值。ZQCS:周期性的校准,能够跟随电压和温度的变化而变化。校准需要更短的时间窗口,一次校准,可以有效的纠正最小0.5%的RON和RTT电阻。Al:Additivelatency.是用来在总线上保持命令或者数据的有效时间。在ddr3允许直接操作读和写的操作过程中,AL是总线上的
4、数据出现到进入器件内部的时间。下图为DDR3标准所支持的时间操作。图2DDR3支持的AL设置WriteLeveling:为了得到更好的信号完整性,DDR3存储模块采取了FLY_BY的拓扑结构,来处理命令、地址、控制信号和时钟。FLY_BY的拓扑结构可以有效的减少stub的数量和他们的长度,但是却会导致时钟和strobe信号在每个芯片上的flighttimeskew,这使得控制器(FPGA或者CPU)很难以保持Tdqss,tdss和tdsh这些时序。这样,ddr3支持writeleveling这样一个特性,来允许控制器来补偿倾斜(flighttimeskew)。存储器控制器能够用该特性和从DDR
5、3反馈的数据调成DQS和CK之间的关系。在这种调整中,存储器控制器可以对DQS信号可调整的延时,来与时钟信号的上升边沿对齐。控制器不停对DQS进行延时,直到发现从0到1之间的跳变出现,然后DQS的延时通过这样的方式被建立起来了,由此可以保证tDQSS。图3WriteLeveling的调整示意图MRS:MODERegisterSet,模式寄存器设置。为了应用的灵活性,不同的功能、特征和模式等在四个在DDR3芯片上的ModeRegister中,通过编程来实现。模式寄存器MR没有缺省值,因此模式寄存器MR必须在上电或者复位后被完全初始化,这样才能使得DDR可以正常工作。正常工作模式下,MR也可以被重
6、新写入。模式寄存器的设置命令周期,tMRD两次操作的最小时间,其具体时序图,如下图所示。模式寄存器,分为MR0、MR1、MR2和MR4。MR0用来存储DDR3的不同操作模式的数据:包括突发长度、读取突发种类、CAS长度、测试模式、DLL复位等。MR1用来存储是否使能DLL、输出驱动长度、Rtt_Nom、额外长度、写电平使能等。MR2用来存储控制更新的特性,Rtt_WR阻抗,和CAS写长度。MR3用来控制MPR。图4tMRD的时序示意MPR:Multi-purposeregister.多用途寄存器。MPR的功能是读出一个预先设定的系统时序校准比特序列。为了使能MPR功能,需要在MRS的寄存器MR
7、3的A2位写1,并且在此之前需要将ddr3的所有bank处于idle状态;一旦MPR被使能后,任何RD和RDA的命令都会被引入到MPR寄存器中,当MPR寄存器被使能后,除非MPR被禁止(MR3的A2=0),否则就只有RD和RDA被允许。在MPR被使能的时候,RESET功能是被允许的。PrechargePowerDown:bank在in-progress命令后关闭ActivePowerDown:bank在in-progress命令后依然打开Idle:所有的bank必须预先充电,所有时序满足,DRAM的ODT电阻,RTT必须为高阻。CWL:CASwritelatency.以时钟周期为单位,在内部写
8、命令和第一位输入数据的时间延时,该单位始终为整数。在操作过程中,所有的写延时WL被定义为AL(AdditiveLatency)+CWL。Rtt:DynamicODT.DDR3引入的新特性。在特定的应用环境下为了更好的在数据总线上改善信号完整性,不需要特定的MRS命令即可以改变终结强度(或者称为终端匹配)。在MR2中的A9和A10位设置了Rtt_WR。Ddr3中,有两种RTT值是可以选择的,一种是RTT_Nom,另一种是RTT_WR;Rtt_Nom是在没有写命令的时候被选择的,当有了写命令后,ODT就会变成Rtt_wr,当写命令结束后,又会回到Rtt_nom。也就是说,RTT在ODT使能后,出现
9、,当总线上没有数据的时候,采用的RTT值为RTT_nom;而当总线上有了数据后,要求此时的ODT的值为Rtt_wr。具体的DDR3的ODT产生时序见图2。当ODT被使能后,必须要保持高电平ODTH4个时钟周期才可以有效;如果写命令被放入寄存器并且ODT是高,那么ODT必须保持ODTH4或者ODTH8,这样ODT才可以有效。图5ODT的示意图图6两种ODT的产生和作用时间2、工作原理在描述了上述的一些基本概念后,就可以对图1中的DDR3工作原理进行基本的描述了理解了。首先,芯片进入上电,在上电最小为200us的平稳电平后,等待500usCKE使能,在这段时间芯片内部开始状态初始化,该过程与外部时
10、钟无关。在时钟使能信号前(cke),必须保持最小10ns或者5个时钟周期,除此之外,还需要一个NOP命令或者Deselect命令出现在CKE的前面。然后DDR3开始了ODT的过程,在复位和CKE有效之前,ODT始终为高阻。在CKE为高后,等待tXPR(最小复位CKE时间),然后开始从MRS中读取模式寄存器。然后加载MR2、MR3的寄存器,来配置应用设置;然后使能DLL,并且对DLL复位。接着便是启动ZQCL命令,来开始ZQ校准过程。等待校准结束后,DDR3就进入了可以正常操作的状态。对于基本的配置过程,现在就可以结束了。下面,结合CH1的控制器FPGA,说明对DDR3相关的配置。三、实践情况经
11、过上面对DDR3的基本工作方式的研究后,就可以对DDR3进行一些基本的配置了。CH1单板使用的是Altera的FPGA,需要用quartus29.1中的MagaWizardPlug_INManager对DDR3SDRAMHighPerformanceController对参数进行设置。首先选择控制器件和PLL时钟以及存储器时钟,并正确选择存储器类型,此处说明下,存储器类型并不是十分严格,只要器件的时序满足要求即可。然后,正确选择拓扑结构,由于采用fly_by模式,因此时钟以及片选都是一对。然后,按照芯片手册的容忍范围选择各种关键参数,一般测试中会选用时序要求比较宽松的参数。此时ODT可以为非使能,其他的时序参数,按照要求默认即可,注意该部分参数,跟前面所选择的器件一起,所以确定后,不需要进行修改了。经过上面的配置后,基本的DDR3控制器的配置就结束了。四、效果评价经过上述方法配置的DDR3控制器,已经成功调试通过。五、推广建议对于采用FPGA的DDR3控制器,可以采用类似配置,保证FPGA的ODT正确设置,即可成功,可以再FPGA控制器重推广。参考资料无完-