Menu Close

DDR3存储器状态机及状态命令

DDR3存储器的读/写,刷新等都是按照一定的状态执行的,状态转换是通过命令进行的,DDR3的状态转移图如图1所示。

1. 状态转移图

图1 DDR3 SDRAM内部状态转移图

2. 状态转移图分析

    • 初始化部分

初始化部分为从上电(power on或 RESET)开始到空闲IDLE的过程,这一部分为DDR3能可靠工作做好准备。过程如下:

A. Reset Procedure(复位)

(1) Power on

(2) RESET

B. Initialization(初始化),主要初始化

C. ZQ calibration(ZQ 校准),命令为ZQCL。

  • 初始化时序
    • 上电需要200ms等待电源稳定,
    • 复位(RESET)约等待最少200us+500us的内部系统稳定及时钟稳定,
    • 进入初始化和校准过程,后续课程会详细介绍,
    • 进入IDLE状态(如图2)。

图2 初始化时序图

  • IDLE状态

在IDLE状态根据不同的命令,可以进入一下状态

(1)MRS,MPR写

MPR=> Multipurpose register

MRS => Mode register set

有关DDR3寄存器后面会详细介绍。

(2)ZQ校准

校准的作用–主要是利用DDR3芯片外接的ZQ电阻(240欧姆)校准DDR3芯片内部的终端电阻。 由于DDR3内部的终端电阻是由半导体器件形成,会随着芯片的温度变化而变化,因此为了得到更高的精确度,需要在固定时间间隔内或温度差异较大时,重新启动ZQ的校准过程。

ZQCL => ZQ LONG CALIBRATION ,校准效果好但耗时长。

ZQCS = ZQ SHORT CALIBRATION,校准效果一般,但耗时短。

(3)self refresh

SRE => Self refresh entry,进入自刷新状态,在自刷新期间CLKE维持低电平

SRX = Self refresh exit,退出自刷新状态。

(4)REF=>Refreshing ,刷新并退出

(5)ACT =>Activating ,进入激活状态。

(6)PDE=>Precharge power down,预充电并进入低功耗状态,期间CKE保持低电平

(7)PDX =>exit Precharge power down,退出预充电低功耗状态。

  • 激活状态

在激活命令(ACT)给出后,进入Activating状态选择不同的Bank,进入Bank激活状态。在Bank激活状态下根据不同命令可以进入如下状态:

  • WRITE =>Writing ,进入写数据状态。
  • READ=>Reading ,进入读数据状态。
  • WRITE AP=> Writing(AP),进入带有auto pre-charge写数据状态,写完成后自动进入Precharging状态。
  • READ AP= >Reading(AP),进入带有auto pre-charge读数据状态,读完成后自动进入Precharging状态。
  • PRE,PREA=>Precharging,进入Precharging状态。
    • PRE关闭当前行,PREA将关闭所有已打开的不同BANK的行。
  • PDE,PDX=>Active power down,进入或退出Active power down(低功耗模式)状态。退出低功耗时,不需要ACT命令重新经过activating 过程,就可以直接使用read和write 命令。
  • Writing状态
    • WRITE=>Writing, 保持在Writing状态继续写操作,完成后退回到Bank active状态。
    • READ=>Reading,转移到读数据状态。
    • WRITE AP=> Writing(AP),进入带有auto pre-charge写数据状态,写完成后自动进入Precharging状态。
    • READ AP= >Reading(AP),进入带有auto pre-charge读数据状态,读完成后自动进入Precharging状态。
    • PRE,PREA=>Precharging,进入Precharging状态。
  • Reading状态
    • READ =>Reading,保持在Reading状态继续读操作,完成后退回到Bank active状态。
    • WRITE=>Writing,转移到写数据状态。
    • READ AP= >Reading(AP),进入带有auto pre-charge读数据状态,读完成后自动进入Precharging状态。
    • WRITE AP=> Writing(AP),进入带有auto pre-charge写数据状态,写完成后自动进入Precharging状态。
    • PRE,PREA=>Precharging,进入Precharging状态。
  • Precharging状态

进入Precharging状态后,完成预充电自动退到IDLE状态。

3. DDR3命令例表

DDR3命令是由控制信号,地址信号组成与时钟上升沿同步。控制信号由CKE, CS#,RAS#,CAS#, WE#,BA[2:0]构成,地址构成操作码或地址等。

如表1所示。

表1

表1中 :

(1)“V” means “H” or “L” (a defined logic level), and “X” means “Don’t Care.” V是确定的“H” 或“L”状态,“X” 表示未知或不影响 , CA (command address )命令对应的地址

(2) Burst READs or WRITEs cannot be terminated or interrupted.突发读或写,在一个突发完成之前不能被停止或打断

(3)The power-down mode does not perform any REFRESH operations 省电模式最长时间9 X TREFI

(4)The purpose of the NOP command is to prevent the DRAM from registering any unwanted commands. A NOP will not terminate an operation that is executing. NOP是空操作指令,DDR3的状态不受影响

(5)The DES and NOP commands perform similarly. DES(器件处在非选择状态),与NOP的功能类似。

(6)An表示A13或A14, 只有部分大容量的芯片才有(RFU–reserved for future use)。

例: READ命令

READ 命令 要求CKE在前一个时钟周期和本时钟周期都为1,CS#为低,RAS#为高,CAS#为低,WE#为高,BA为确定的Bank值(如读bank3的内容BA [2:0]=3’b011),A12为V(高或低),A10为低,A11,A[9:0] 为地址。其它命令都是类似的解释。

 

 

Posted in FPGA, FPGA 教材教案, 元器件, 存储器, 教材与教案, 文章, 资料区

发表回复

相关链接