从内部结构分析DDR2到DDR3的变化及DDR3原理图分析

2024-03-10 12:52

本文主要是介绍从内部结构分析DDR2到DDR3的变化及DDR3原理图分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、概述

  内存的升级都是为容量和读写速度服务的,每次升级无疑会使容量、读写速度增加、功耗降低,从而引起的一些硬件和时序变化。

  从SDRAM芯片内部结构分析其原理,从内部结构讲解SDRAM与DDR的变化,从内部结构讲解DDR到DDR2的变化。

  下图列出了从SDRAM到DDR3每代内存的时钟频率范围和预取长度,SDRAM内核时钟频率和接口时钟频率一致,在每个时钟的上升沿传输数据,不需要预取数据,电压为3.3V。DDR内核时钟和接口时钟频率依旧保持相同,但是数据在接口时钟的上升沿和下降沿都传输数据。因此预取为2,表示内部传输一次数据,接口要传输两次数据。

  然后到DDR2的时候,将接口时钟频率提升到内核时钟频率的2倍,此时预取就变为4了,工作电压下降到1.8V,功耗更低。

在这里插入图片描述

图1 各种SDRAM的参数对比

  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,道理都一样。

在这里插入图片描述

图2 DDR3框图

  因此引脚和框图中与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相同,只是具体的数据发生了变化。

在这里插入图片描述

图3 DDR3模式寄存器

  DDR3的扩展模式寄存器与DDR2也基本相同,对ODT、DLL使能、写恢复时间、附加延时进行设置。附加延时AL也增加了,DDR2的AL一般处于0~4个时钟周期,而DDR3包括0、CL-1、CL-2这三种选项。

在这里插入图片描述

图4 DDR3扩展模式寄存器

  DDR2的扩展模式寄存器2基本上处于保留状态,但DDR3的该寄存器可以对写入延时(CWL)、自动刷新进行设置,对应位如下图所示。

在这里插入图片描述

图5 DDR3扩展模式寄存器2

  写入延时(CWL)是从释放内部写入到锁存第一个数据输入的延迟(以时钟周期为单位),这是DDR3新增的参数,总体写入延迟 (WL) 等于CWL + AL。

在这里插入图片描述

图6 DDR3写入延时时序

  DDR2没有CWL这个参数,但是写入延时还是存在的,只不过使用的是CL参数进行替代,DDR2写入时序如下图所示,总体写入延时(WL) 等于CL + AL-1。CL本来是控制读潜伏期的,DDR3应该是为了更加精确控制读、写延时,所以将读数据延时CL与写入延时CWL分开设置了。

在这里插入图片描述

图7 DDR2写入延时时序

  为了省电,DDR3采用了一种新型的自动自刷新设计(Automatic Self-Refresh)。当开始ASR之后,通过内置的温度传感器来控制刷新的频率,因为刷新频率高的话,耗电就大,温度也随之升高。而温度传感器则在保证数据不丢失的情况下,尽量减少刷新频率,降低工作温度。初始化时通过设置扩展模式寄存器2的bit6来使能ASR功能。

  这部分的变化主要在于CL和AL的取值增加了,然后新增了写入延时参数(CWL),自刷新的频率可以根据芯片内部温度自己调整,更加节能。

2.3、复位引脚(Reset)

  DDR3新增了一个复位引脚,该引脚的出现可以简化初始化流程。当Reset有效时,必须保持低电平100ns ,在此期间,输出被禁用、ODT关闭(高阻抗)、且DRAM自行复位。在Reset被驱动为高电平之前,CKE应被驱动为低电平。 Reset变为高电平后,必须重新初始化DRAM,对应时序如下图所示。

在这里插入图片描述

图8 复位时序

2.4、ZQ校准与参考电压

  ZQ也是一个新增的脚,该引脚需要连接240Ω的低公差参考电阻。这个引脚利用内置的片上校准引擎(On-Die Calibration Engine,ODCE)执行一系列指令,以自动检测并调整数据输出驱动器的导通电阻和ODT(On-Die Termination)的终结电阻值,确保数据传输的准确性。

  DDR3定义了ZQCL和ZQCS两个ZQ校准命令,ZQ校准时序如下所示。当系统发出这一指令后,将用相应的时钟周期(在加电与初始化之后用512个时钟周期,在退出自刷新操作后用256个时钟周期、在其他情况下用64个时钟周期)对导通电阻和ODT电阻进行重新校准。

在这里插入图片描述

图9 ZQ校准

  在向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位数据位宽即可。

在这里插入图片描述

图10 PL端DDR3原理图

  根据下图DDR3的初始化时序来分析原理图的参考电压和引脚上下拉的连接。

在这里插入图片描述

图11 DDR3初始化时序

  首先上电之后,在功率斜坡期间建议reset小于0.2×VDDQ,确保输出保持禁用(高阻)和ODT关闭(RTT也是高阻)。在原理图中reset引脚通过4.7KΩ下拉到地,在上电时可以确保为低电平,满足要求。

在这里插入图片描述

图12 复位引脚接地

  上电期间还需要满足一些添加,VDD和VDDQ由同一个电源提供,且相差要小于0.3V。并且要求两个参考电压VREFDQ和VREFCA均等于VDD/2。原理图上VDD和VDDQ均连接到1.5V电源,VREFDQ和VREFCA均连接到DDRVREF,满足要求。注意ZQ引脚根据手册要求通过一个240Ω的电阻接地。

在这里插入图片描述

图13 电源电压连接

  并且要求其余地址总线、片选、时钟使能等引脚的电压必须小于VDD和VDDQ,大于VSS和VSSQ,且最大电压小于0.95V。原理图对于这些信号的处理如下所示,上拉到0.75V的高电平,电压就处于0~0.75V之间了,满足上述要求。注意差分时钟线之间接了一个电阻,这个电阻是用于消除差模干扰的。

在这里插入图片描述

图14 引脚电压处理

  通过TI的一颗专门为DDR供电的芯片生成DDRVREF和DDR0V75,对应原理图如下所示。

在这里插入图片描述

图15 生成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的使能引脚,为高电平时工作。

在这里插入图片描述

图16 TI官方推荐的电路连接

  DDR3的原理图大致就是这些内容了,只是要注意每个电源管脚都要多加电容滤波,如下图和图12中的滤波电容,确保电压的平稳,且保证VDD与VDDQ能够在200ms内上升到最大值。

在这里插入图片描述

图17 滤波电容

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原理图分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794294

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异