DDR知识积累
DDR知識積累
二、資料參考:
DDR3L芯片手冊《MT41K1G8 – 128 Meg x 8 x 8 banks》
博客:DDR硬件設計要點詳解(包括電源部分) - 鱷魚淚 - 博客園
銳致創新:從原理上解釋什么是DDR的ZQ校準?
三、文章正文
DDR3硬件設計
個人認為硬件設計主要包括三個部分,芯片原理圖電源引腳設計、芯片原理圖信號引腳設計、PCB設計。在完成以上兩部分設計時就要考慮:信號完整性設計、EMC設計。
根據芯片手冊,芯片引腳如圖:
其中引腳大致分為3類:電源引腳,數據、地址引腳,控制命令引腳;
電源引腳:VDD(芯片內部供電)、VDDQ(數據線I/O供電) VREF(參考電);具體電流技術手冊中含有且時序1.5>0.75(VTT使用專門的電源芯片出);參考電源Vref,參考電源Vref要求跟隨VDDQ,并且Vref=VDDQ/2,所以可以使用電源芯片提供,也可以采用電阻分壓的方式得到。由于Vref一般電流較小,在幾個mA~幾十mA的數量級,所以用電阻分壓的方式,即節約成本。VDD和VDDQ一般合并1.5V;VTT為匹配電阻上拉到的電源,VTT=VDDQ/2
DDR1:2.5V(工作電壓)DDR2:1.8V;
DDR3:1.5V:DDR3L:1.35V
DRR4:1.2V
數據、地址引腳:存在有分時復用;開始其中A0-A15作為行地址線、然后A0-A13表示列地址線,BA0-BA2:BANK地址線;故內存空間:【216*28*23】(地址空間數量)*23=8Gb;如圖:
DDR內部邏輯圖
DQ0-DQ8:數據線對應第一個地址存儲8位數據;A10/AP、A12/BC#還具有第三種功能:
A10在預充電命令發出后:A10=0表示選擇0-2BANK中選擇一個預充電、A10=1,三個BANK同時預充電;
A12也是在讀寫命令和MR寄存器中使能后,決定突發長度是8bit還是4bit;
另外:DQS和DQS#(Data strobe)數據選取秒沖,在讀寫時是跟隨DQ線同時發出。
控制命令引腳:時鐘信號差分對(CK/CK#)/時鐘使能(CKE)、RAS(行地址有效)、CAS(列地址選擇)、CS(片選引腳)、WE#(寫使能)、DM(數據掩碼)、RESET#(DDR復位)、ODT(抑制終端反射引腳)、ZQ(信號線上的輸出驅動電平校驗)。
以上的電平除了ZQ引腳之外,均為Input類型表示均有外部輸入到DDR內部。故一般采用33歐姆電路并聯端接到VTT。并且各個引腳均要控制器(CPU/FPGA)對應引腳相連。
ZQ引腳手冊指出采用240Ω電阻到VSS;DDR的校準用于了校準輸出驅動器的阻抗和ODT輸出阻抗.現在以ODT為例講述:假設ODT輸出負載的電阻為30歐姆,為了減少信號反射必須要設置上拉端接電阻為30,故通過DDR的MR1[9,6,2]寄存器設置ODT的端接電阻為30歐姆,具體是根據ZQ參考電阻值,通過開關下圖中的PMOS管的個數達到需要的端接30歐姆電阻。具體內容參考下圖:
校準功能框圖
校準過程詳解
ODT端接
ODT的端接電阻RTT的值是根據ZQ引腳上的基準電阻的幾分之幾確定的,對應寄存器的值不同。通過設定RTT上下拉的阻值,這樣DQ引腳輸出的波形的電平基本確定。
PCB設計:
DDR布局:采用FLY—BY,拓撲結構,這樣stub線最短,EMI能夠減小。
電源部分走線:在芯片電源輸入引腳加入去偶電容;大電容和小電容并聯使用,小電容靠近芯片。電源層比地層內縮20H,H為電源層與地層之間的間距;
DQ、DQ、CLK三者走線差分走線阻抗控制在100歐,注意等長、且保持平行走線以及相互之間滿足3W原則。
DDR存儲單元:DDR中的每一個存儲單元內部都是由行地址選通晶體管、列晶體選通晶體管、刷新放大器、存儲電容組成;刷新放大器是將存儲電容中的電壓放大作用。
下圖為DDR的狀態框圖
根據這個狀態框圖本人劃分出幾個常用狀態:
1、芯片進入準備狀態:主要包括:上電、復位、初始化、ZQ校驗、命令等待狀態、刷新、自刷新。
芯片進入準備邏輯
復位:芯片復位信號低電平有效,只需要拉低就行。低電平的時間保持100ns,復位期間芯片不操作其他命令。在RESET信號保持100ns后,CKE信號必須先拉低然后RESET信號才能夠拉高。RESET信號拉高后SDRAM進入初始化,初始化的過程需要在時鐘穩定后進行:主要工作內容是設置模式寄存器。然后在進入ZQ校驗模式。
一下是芯片模式寄存器具體內容:
MRS寄存器
2、芯片有效時序
3、芯片讀:
讀延時(RL)
RL時序
連續突發
先讀后寫
讀完執行預沖電:
3、寫操作
寫突發:
連續寫
先寫然后讀
寫完預充電(怕芯片長時間的操作,不予充電會丟失數據)
4、預沖電
5、自刷新
以上基本是本人認為的DDR3操作步驟,具體代碼由于是剛入職的小白,驅動程序只在研究生期間自學過,由于工作崗位為硬件故未從事,不過有機會依據希望以后能夠把軟件作為一種興趣本人不會最多只能夠看懂時序,在實際的調試過程中需要注意各個信號的邊沿時間和時鐘穩定性。
總結