DDR基础知识
1、前言
DDR的全称为Double Data Rate SDRAM,也就是双倍速率的SDRAM,SDRAM在一个CLK周期传输一次数据,而DDR在一个CLK周期传输两次数据,分别在上升沿和下降沿各传输一次数据,该概念称为预取,在描述DDR速度的时候一般使用MT/S单位,也就是每秒多少兆次数据传输。
2、DDR结构框图
接下来将以Micro的DDR3L芯片MT41K256M16进行结构框图的介绍,该芯片是一款512MB的DDR3L内存芯片,框图如下所示:
接下来对上面给出的框架图各个标号进行简单介绍:
(1)控制线
ODT:片上终端使能,ODT使能和禁止片内终端电阻;
ZQ:输出驱动较准的外部参考引脚,应外接一个RZQ电阻到VSSQ,一般接到地;
RESET:芯片复位引脚,低电平有效;
CKE:时钟使能引脚;
A12:A12为地址引脚,也叫做BC引脚,有另外一个功能,A12会在READ和WRITE命令期间被采样,以决定burst chop是否会被执行;
CK,CK#:时钟信号线,DDR3的时钟线是差分时钟线,所以的控制信号和地址信号都会在CK的上升沿和CK#的下降沿交叉处采集;
CS#:片选信号,低电平有效;
RAS#:行地址选通信号;
CAS#:列地址选通信号;
WE#:写使能信号。
(2)地址线
A[14:0]:A0~A14为15根地址线,根据MT41K256M16的框图可以知道,有15根行地址线A0~A14和10根列地址线A0~A9,行地址线和列地址线进行复用,因此该DDR3L芯片中1个Bank的大小为2^15*2^10*2=32MB*2=64MB,从框图中可以看到,总共有8个Bank,因此该DDR3L的RAM大小为64MB*8=512MB。
(3)Bank选择线
BA[2:0]:BA0~BA2为Bank的选择先,由2^3=8,因此可以总共有8个Bank。
(4)Bank区域
8个Bank区域,DDR3一般有8个Bank区域。
(5)数据线
DQ[15:0]:DQ0~DQ15为16根数据线,因此该DDR3L的宽度为16位。
(6)数据选通引脚
LDQS,LDQS#:LDQS和LDQS#是数据选通引脚,对应低字节DQ0~DQ7,读的时候是输出,写的时候为输入;
UDQS,UDQS#:UDQS和UDQS#是数据选通引脚,对应高字节DQ8~DQ15,读的时候是输出,写的时候为输入。
(7)数据输入屏蔽引脚
LDM/UDM:写数据输入屏蔽引脚。
3、DDR的一些关键时间参数
需要注意DDR的一些关键时间参数:
(1)传输速率
例如1066MT/S、1600MT/S等,这是首先需要考虑的,该参数决定了DDR的最高数据传输速率。
(2)tRCD参数
tRCD的全称为RAS-to-CAS Delay,行寻址到列寻址只之间的延迟。DDR的寻址流程为先进行Bank地址,然后再指定行地址,最后指定列地址,从而确定除最终要寻址的单元,Bank地址和行地址是同时发出的,该命令也叫"行激活",行激活后就发送列地址和具体的操作命令,同时发出,表示列寻址,在行激活到读写命令发出的这段时间时隔就是tRCD,如下:
数据手册一般会给出tRCD时间参数,例如MT41K256M16的数据手册中有如下:
(3)CL参数
当列地址发出以后就会触发数据传输,从数据从存储单元到内存芯片IO接口上还需要一段时间,而这段时间就是CL(CAS Latency),也就是列地址选通潜伏期,如下:
(4)AL参数
AL(Additive Latency)参数是为了保证足够的延迟潜伏期,单位为时钟周期,AL+CL组成了RL(Read Latency),加入AL参数以后的读时序如下:
(5)tRC参数
tRC是两个ACTIVE命令,或者ACTIVE命令到REFRESH命令之前的周期,DDR的数据手册会给出该值。
(6)tRAS参数
tRAS是ACTIVE命令到PRECHARGE命令之间的最小时间。