(转):内存器件介绍之RAM篇(三)

转载 2011年01月10日 21:21:00

接下来我们来了解一下SDRAM芯片的初始化及读写时序。

    针对内存的操作指令有如下几种:

       1).Command INHIBIT(初始化)

       2).No Operation(无动作)

       3).Active(使指定L-Bank中的指定行有效)

       4).Read(从指定L-Bank中的指定列开始读取数据)

       5).Write(从指定L-Bank中的指定列开始写入数据)

       6).Burst Terminate(突发传输终止)

       7).Precharge(预充电命令,关闭指定或全部L-Bank中的工作行)

       8).Auto Refresh(自动刷新)

       9).Load Mode Register(模式寄存器加载)

     10).写允许/输出允许;

     11).写禁止/输出屏蔽;

      ♦内存的初始化

    一旦VDDVDDQ被同时家电,并且时钟已经稳定,SDRAM需要一个200us的延迟,在这个时间段中,Command INHIBITNo Operation指令有效,这个过程实际上就是内存的自检过程,一旦这个过程通过后,一个Precharge命令就会生效,在这个命令周期中,内存会处于Idle状态。随后执行几个Auto Refresh周期,之后SDRAM为模式寄存器编程做准备。整个初始化过程如下图所示。

    模式寄存器设置(MRS)是在CPUBIOS控制下进行的。SDRAM芯片内部有一个逻辑控制单元,这个控制单元的相关控制参数是由MR提供的,SDRAM芯片每次进行初始化时都要将重新写MR寄存器。MR中设置了SDRAM的运行模式:包括突发长度(BL)、突发类型(Burst Type)CAS延迟(CAS Latency)、运行方式(Operating Mode)和写入突发模式。

       MR通过Load Mode Register命令进行编程。MR中操作位M0-M11分别与内存芯片的地址线A0-A11对应。M0-M2用来设置BLM3设置突发类型,M4-M6设置CAS延迟,A7-A11设置操作模式。如下图所示。

     ♦行有效

    初始化完成后,要想对一个L-Bank中的阵列进行寻址,首先要确定行(Row),使之处于活动状态(Active),然后再确定列。虽然之前要进行片选和L-Bank的地址,但它们与行有效可以同时进行。同一个L-Bank中,两个相邻的Active命令之间的时间间隔被定义为 tRC,在不同L-Bank中,执行两个Active命令之间的时间间隔被定义为tRRD(RAS to RAS Delay)。行有效时序图如下所示。

       ♦列读写

    行地址确定之后,就要对列地址进行寻址了。在SDRAM中,行地址与列地址线是共用的,仍然是A0-A11。读/写命令是通过WE#信号的状态去区分的,当WE#为低电平有效时是写命令,为高电平无效时是读命令。列寻址信号与读写命令是同时发出的。虽然列地址线与行寻址共用,但是CAS(Column Address Strobe,列地址选通脉冲)信号则可以区分开行与列寻址的不同。列读写时序如下图所示。

    在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定位为tRCD,即RAS to CAS Delay(RAS CAS延迟),大家也可以理解为行选通周期。tRCDSDRAM的一个冲要时序参数,可以通过主板BIOS经过北桥芯片进行调整,但不能超过厂商的预定范围。广义的tRCD以时钟周期为单位,比如tRCD=2,就代表延迟周期为两个时钟周期。

在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过I/O通道输出到内存总线上了。但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间,被定位为CL(CAS LatencyCAS潜伏期)。由于CL只在读取时出现,所以CL又被称为读取潜伏期(RLRead latency)

    由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效的识别性,这个放大/驱动工作由S-AMP负责,一个存储体对应一个S-AMP通道。但它要有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断),因此从数据I/O总线上有数据输出之前的一个时钟上升沿开始,数据就已传向S-AMP,经过一定的驱动时间最终传向数据I/O总线进行输出,这段时间被定位为tAC(Access Time from CLK,时钟触发后的访问时间)tAC的单位是ns,并且需要小于一个时钟周期。下面为SDRAM读操作中CStAC关系示意图。

          SDRAM的数据写入操作也是在tRCD之后进行,但此时没有CL,寻址方式跟读操作一样,只是在写操作时,WE#信号为低电平有效。下图为SDRAM写操作时序。从图中可以看出,由于数据信号由控制端发出,输入时芯片无需做任何调校,只需直接传到数据输入寄存器中,然后再由写入驱动器进行对存储器电容的充电操作,因此数据可以与CAS同时发送,也就是说写入延迟为0。不过,数据并不是即时地写入存储电容,因为选通三极管(就如读取时一样)与电容的充电必须要有一段时间,所以数据的真正写入需要一定的周期。为了保证数据的可靠写入,都会留出足够的写入/校正时间(tWRWrite Recovery Time),这个操作也被称作写回(Write Back)。tWR 至少占用一个时钟周期或再多一点。

(转):内存器件介绍之RAM篇(一)

        提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按照内存的工作原理划分,可将内存分为RAM和ROM两大类。    RAM(Random Access Memory)存储...

(转):内存器件介绍之RAM篇(五)

        这一节我们重点介绍下DDR、DDR2、DDR3的管脚功能和它们之间的差异。       ♦SDRAM芯片引脚及功能如下图所示:    下图为DDR SDRAM的管脚列表及功能描述,从中...

(转):内存器件介绍之RAM篇(六)

     在关于内存的前面五篇相关介绍文字中,基本上都是关于内存原理性方面的内容,下面介绍点DDR总线匹配方式和信号时序测试方面的实用内容。       ♦DDR总线的匹配方式         SDR...

(转):内存器件介绍之RAM篇(二)

        ♦DRAM的物理BANK与逻辑BANK          我们在进行内存设计选型时会有两种选择:内存颗粒和内存条     1).内存颗粒其实也就是内存芯片,数据位宽通常是8bit,最高...

《Xilinx可编程逻辑器件设计与开发(基础篇)》连载13:Spartan-6的BRAM(Block RAM)模块

2.1.4 BRAM(Block RAM)模块 Spartan-6中的BRAM存储18Kbit数据,能配置成两个独立的9Kbit BRAM或者一个18Kbit BRAM。每个RAM可以通过两个端...

读取手机RAM内存值

  • 2014年07月22日 09:46
  • 1.14MB
  • 下载

ROM,RAM,Android存储目录,Java代码中对内存的使用,ART的运行位置

安卓手机,有两个内存:机身内存、运行内存。 机身内存:ROM //相当于给电脑添加一块硬盘。运行内存:RAM //相当于电脑里的内存条。容量越高,响应速度越快,操作越流畅。手机买来就是固定不变的。 ...

智能内存释放工具(iobit smart ram 3)

  • 2013年09月21日 07:36
  • 2.81MB
  • 下载

内存盘 虚拟硬盘SoftPerfect RAM Disk

  • 2014年08月30日 08:54
  • 1.97MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(转):内存器件介绍之RAM篇(三)
举报原因:
原因补充:

(最多只允许输入30个字)