本文主要是介绍从内部结构分析DDR2到DDR3的变化及DDR3原理图分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、概述
内存的升级都是为容量和读写速度服务的,每次升级无疑会使容量、读写速度增加、功耗降低,从而引起的一些硬件和时序变化。
从SDRAM芯片内部结构分析其原理,从内部结构讲解SDRAM与DDR的变化,从内部结构讲解DDR到DDR2的变化。
下图列出了从SDRAM到DDR3每代内存的时钟频率范围和预取长度,SDRAM内核时钟频率和接口时钟频率一致,在每个时钟的上升沿传输数据,不需要预取数据,电压为3.3V。DDR内核时钟和接口时钟频率依旧保持相同,但是数据在接口时钟的上升沿和下降沿都传输数据。因此预取为2,表示内部传输一次数据,接口要传输两次数据。
然后到DDR2的时候,将接口时钟频率提升到内核时钟频率的2倍,此时预取就变为4了,工作电压下降到1.8V,功耗更低。
DDR3只是延续DD2的变化,将外部接口时钟频率变为内核时钟频率的4倍,又因为数据在接口时钟的双沿传输,预取变为8。同时bank变为8个,容量进一步提升。工作电压下降到1.35或1.5V,功耗更低。
这些本质就是对接口时钟频率进行提升,然后内核使用更大数据位宽去弥补时钟频率的差别,内核时钟频率基本上没有太大变化。每次性能的提升依靠预取的翻倍,由于PC的其他原因,预取也就增加到8,DDR4也只能通过提升内核频率来提升性能,预取依旧是8。DDR5虽然预取提升到16,但是它本质上与8没有区别。
本文只讲述DDR3在外部接口时钟频率变为内核时钟频率4倍之后,为保证读写数据的稳定性,硬件和时序上相对DDR2的一些变化。至于DDR4和DDR5以后用到的时候在来讲解他们各自的变化。SDRAM到DDR5的手册可以在公众号后台获取,可以自行研究。
2、DDR3的变化
下图是镁光型号为MT41K256M16RE的一款DDR3内部结构框图,与前几节选用的型号均一样,都是选用16位接口数据线的芯片进行分析。
该芯片相比DDR2芯片多了一个复位引脚和ZQ校准引脚,同时存储阵列中每个存储单元包含128位数据,而接口位宽为16位,所以接口读写八次数据,才会从存储单元中读写一次,因此预取为8。
注意列地址线的低三位并没有连接到列地址解析器,也就是说这三位数据线并没有用于控制存储单元列地址,造成的结果就是列地址每变化8,读写存储阵列的列地址才会改变1,这也是为什么读写数据时DDR3列地址每次都需要加8的原因,你也可以理解预取为8,道理都一样。
因此引脚和框图中与DDR2的区别仅多了复位、ZQ管脚,存储阵列数据位宽翻倍了。
2.1、预取与突发长度
由于DDR3外部接口时钟频率变为内核时钟频率4倍,外加双沿传输数据。而内部只在内核时钟频率的上升沿传输数据,所以内核没传输一次数据,接口其实传输了8次数据,通过将内部传输的位宽变为接口传输数据位宽的8倍,使得接口传输数据速率等于内部传输数据的速率,因此预取为8。
DDR2的突发长度可以设置为4和8,DDR3由于预取变为8,突发长度一般就只能设置为8。但DDR3应该是为了兼容DDR2的4位突发,DDR3就增加了一个长度为4的突发突变模式,由一个突发长度为4的读取操作加上一个突发长度为4的写操作来合成一个突发长度为8的传输,本质上来说突发长度还是8。注意DDR3的突发操作是不能中断的。
2.2、模式寄存器
从DDR到DDR3,CL的持续周期个数一直在增加,DDR2一般处于25个时钟周期,DDR3一般位于514个时钟周期。模式寄存器的配置基本上与DDR2相同,只是具体的数据发生了变化。
DDR3的扩展模式寄存器与DDR2也基本相同,对ODT、DLL使能、写恢复时间、附加延时进行设置。附加延时AL也增加了,DDR2的AL一般处于0~4个时钟周期,而DDR3包括0、CL-1、CL-2这三种选项。
DDR2的扩展模式寄存器2基本上处于保留状态,但DDR3的该寄存器可以对写入延时(CWL)、自动刷新进行设置,对应位如下图所示。
写入延时(CWL)是从释放内部写入到锁存第一个数据输入的延迟(以时钟周期为单位),这是DDR3新增的参数,总体写入延迟 (WL) 等于CWL + AL。
DDR2没有CWL这个参数,但是写入延时还是存在的,只不过使用的是CL参数进行替代,DDR2写入时序如下图所示,总体写入延时(WL) 等于CL + AL-1。CL本来是控制读潜伏期的,DDR3应该是为了更加精确控制读、写延时,所以将读数据延时CL与写入延时CWL分开设置了。
为了省电,DDR3采用了一种新型的自动自刷新设计(Automatic Self-Refresh)。当开始ASR之后,通过内置的温度传感器来控制刷新的频率,因为刷新频率高的话,耗电就大,温度也随之升高。而温度传感器则在保证数据不丢失的情况下,尽量减少刷新频率,降低工作温度。初始化时通过设置扩展模式寄存器2的bit6来使能ASR功能。
这部分的变化主要在于CL和AL的取值增加了,然后新增了写入延时参数(CWL),自刷新的频率可以根据芯片内部温度自己调整,更加节能。
2.3、复位引脚(Reset)
DDR3新增了一个复位引脚,该引脚的出现可以简化初始化流程。当Reset有效时,必须保持低电平100ns ,在此期间,输出被禁用、ODT关闭(高阻抗)、且DRAM自行复位。在Reset被驱动为高电平之前,CKE应被驱动为低电平。 Reset变为高电平后,必须重新初始化DRAM,对应时序如下图所示。
2.4、ZQ校准与参考电压
ZQ也是一个新增的脚,该引脚需要连接240Ω的低公差参考电阻。这个引脚利用内置的片上校准引擎(On-Die Calibration Engine,ODCE)执行一系列指令,以自动检测并调整数据输出驱动器的导通电阻和ODT(On-Die Termination)的终结电阻值,确保数据传输的准确性。
DDR3定义了ZQCL和ZQCS两个ZQ校准命令,ZQ校准时序如下所示。当系统发出这一指令后,将用相应的时钟周期(在加电与初始化之后用512个时钟周期,在退出自刷新操作后用256个时钟周期、在其他情况下用64个时钟周期)对导通电阻和ODT电阻进行重新校准。
在向DDR3发出ZQCL或ZQCS命令之前,必须对所有存储体进行预充电且必须满足tRP。在tZQinit或tZQoper持续时间内,控制器不能在DDR3通道上执行任何其他活动。
DDR3中参考电压分为命令与地址信号的参考电压(VREFCA)和数据总线参考电压(VREFDQ),有效的提高系统数据总线的信噪等级,抗干扰能力更强。
2.5、点对点连接
点对点连接主要是简化硬件工程师对多片DDR3的PCB电路设计,一个主控芯片驱动多片DDR3芯片,DDR3布局和走线一般有T型、Fly-by、菊花链几种。每种拓扑走线的难度不一样,对于噪声的抗干扰能力也不一样。Fly-by的结构又引入了写入均衡技术(Write Leveling),如果对这部分内容感兴趣,可以参考以下链接进行了解,https://blog.csdn.net/jsf120/article/details/113986468。
DDR3的点对点连接(Point-to-Point,P2P)拓扑结构相较于DDR2的T型分支拓扑结构有几个显著的好处:
1. 简化的拓扑结构:P2P拓扑结构简单直接,减少了分支的数量和长度,这使得整个网络的阻抗特性更容易控制,有助于提高信号的完整性。
2. 更好的信号完整性:由于减少了分支,信号在传输过程中的干扰和衰减降低,从而提高了数据传输的可靠性和速度。
3. 自动校准:DDR3控制器支持自动校准功能,可以在系统启动时自动完成对存储器系统的校准,这减少了设计人员在PCB布局和信号完整性方面的工作量。
4. 写入均衡技术:DDR3支持写入均衡(Write Leveling)技术,允许控制器补偿由于fly-by拓扑结构引入的时序差异,确保数据在DQ总线上可以可靠地被捕获。
5. 易于维护和升级:P2P拓扑结构简化了内存模块的维护和升级过程,因为每个内存通道独立于其他通道,可以单独添加或移除内存模块而不影响整个系统。
总的来说,DDR3的点对点连接拓扑结构通过简化设计、提高信号质量、支持自动校准和写入均衡技术,以及降低功耗,为系统提供了更高的性能和可靠性,同时也简化了内存模块的维护和升级。
3、DDR3原理图分析
由于开发板上使用的是DDR3存储器,所以就结合手册对原理图进行简单的讲解。使用xilinx的zynq 7030核心板,PS和PL各包含两片DDR3存储器,每片容量为512Mb,接口时钟频率支持800MHz,等效的单沿数据传输速率为1600MT/S,本文只对PL端的原理图做简要说明。
两片DDR3相同的地址线和指令线连在一起,将数据线扩展为32位,也就是说同时使用两片DDR3时,读写操作的数据位宽为32位,使用时根据需要选择16位或者32位数据位宽即可。
根据下图DDR3的初始化时序来分析原理图的参考电压和引脚上下拉的连接。
首先上电之后,在功率斜坡期间建议reset小于0.2×VDDQ,确保输出保持禁用(高阻)和ODT关闭(RTT也是高阻)。在原理图中reset引脚通过4.7KΩ下拉到地,在上电时可以确保为低电平,满足要求。
上电期间还需要满足一些添加,VDD和VDDQ由同一个电源提供,且相差要小于0.3V。并且要求两个参考电压VREFDQ和VREFCA均等于VDD/2。原理图上VDD和VDDQ均连接到1.5V电源,VREFDQ和VREFCA均连接到DDRVREF,满足要求。注意ZQ引脚根据手册要求通过一个240Ω的电阻接地。
并且要求其余地址总线、片选、时钟使能等引脚的电压必须小于VDD和VDDQ,大于VSS和VSSQ,且最大电压小于0.95V。原理图对于这些信号的处理如下所示,上拉到0.75V的高电平,电压就处于0~0.75V之间了,满足上述要求。注意差分时钟线之间接了一个电阻,这个电阻是用于消除差模干扰的。
通过TI的一颗专门为DDR供电的芯片生成DDRVREF和DDR0V75,对应原理图如下所示。
TPS51200器件被用作DDR3内存的VTT(Voltage Termination Termination)稳压器,目的是为了在DDR3内存系统中提供稳定的VTT电压,以确保数据信号的完整性。TI推荐的使用方法如下所示,与原理图中基本一致。
VDDQ经过R1和R2分压,由于R1和R2均为10KΩ,所以TPS51200参考电压输入为VDDQ/2=0.75V。然后经过内部处理,使得6号引脚输出的VTTREF始终位于VDDQ/2的误差范围内,不会出现太大波动。
3号引脚输出电压为DDR提供VTT,这个就是DDR地址线和控制线的上拉电源,必须小于0.95V。如果输出电压稳定,则9号引脚输出高电平。7号引脚是内部LDO的使能引脚,为高电平时工作。
DDR3的原理图大致就是这些内容了,只是要注意每个电源管脚都要多加电容滤波,如下图和图12中的滤波电容,确保电压的平稳,且保证VDD与VDDQ能够在200ms内上升到最大值。
4、总结
本文主要对DDR3与DDR2的区别做了讲解,之后通过手册要求对DDR3的原理图做了简单分析,主要包括以下内容。
1. DDR3外部接口时钟频率变为内核时钟频率的4倍,为了维持数据传输速率不变,预取长度变为8。
2. CL和AL持续的时钟个数增加,新增了一个写入延时参数CWL,芯片的自刷新频率会根据芯片温度动态调整,进一步节省电力。
3. 新增复位引脚和ZQ校准引脚,主控芯片可以通过发出ZQ校准指令调整数据输出驱动器的导通电阻和ODT(On-Die Termination)的终结电阻值。
4. 新增点对点连接,DDR3支持fly-by拓扑结构,引入了写入均衡技术。能够简化设计、提高信号质量,降低功耗。
5. 对DDR3原理图做了简要分析,包括参考电源引脚、电源供电引脚、地址引脚、数据引脚的连接。
如果对文章内容理解有疑惑或者对代码不理解,可以在评论区或者后台留言,看到后均会回复!
如果本文对您有帮助,还请多多点赞👍、评论💬和收藏⭐!您的支持是我更新的最大动力!将持续更新工程!
这篇关于从内部结构分析DDR2到DDR3的变化及DDR3原理图分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!