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命令之間的最小時間。