分享是一種美德,如果喜歡「嵌入式硬體開發」的內容,可以轉發到朋友圈讓更多的人看到哦。
摘要:
雖然DDR3的資料很多,ddr4和 eMMC也出現了,但是這裡還是把DDR3的設計心得搬出來說一說:
1,上圖,搞一張圖紙大家都看得見
如圖,DDR3 sdram晶片原理上簡單得很,就幾個注意點:
a.DATA bus--一般都多片拼接,數據線從0往後數,這裡位寬32bits【DQ0~DQ31】,實際更據您需要的容量而定;
b.Addr bus--A0~A13,位寬14bits;
c.CLK:差分的
cke:時鐘使能
ck_P,ck_N差分時鐘
d.復位:ResetN
e.bank地址選擇:BA0~BA2
f.端接:ODT
g.數據掩碼、控制命令 如:/cs,/WE
h.電源
i,剩下就是電源引腳上的退耦電容/供電
引腳說明詳細:
管腳符號
類型
描述
A0-A9,A10/AP,A11,A12/BC#,A13
Input
地址輸入。為ACTIVATE命令提供行地址,和為READ/WRITE命令的列地址和自動預充電位(A10),以便從某個bank的內存陣列裡選出一個位置。A10在PRECHARGE命令期間被採樣,以確定PRECHARGE是否應有於某個bank:A10為低,這個bank由BA[2:0]來選擇,或者A10為高,對所有bank。在LOAD MODE命令期間,地址輸入提供了一個操作碼。地址輸入的參考是VREFCA。A12/BC#:在模式寄存器(MR)使能的時候,A12在READ和WRITE命令期間被採樣,以決定burst chop(on-the-fly)是否會被執行(HIGH=BL8執行burst chop),或者LOW-BC4不進行burst chop。
BA0,BA1,BA2
Input
Bank地址輸入。定義ACTIVATE、READ、WRITE或PRECHARGE命令是對那一個bank操作的。BA[2:0]定義在LOAD MODE命令期間哪個模式(MR0、MR1、MR2)被裝載,BA[2:0] 的參考是VREFCA
CK,CK#
Input
時鐘。差分時鐘輸入,所有控制和地址輸入信號在CK上升沿和CK#的下降沿交叉處被採樣,輸出數據選通(DQS、DQS#)參考與CK和CK#的交叉點。
CKE
Input
時鐘使能。使能(高)和禁止(低)內部電路和DRAM上的時鐘。由DDR3 SDRAM配置和操作模式決定特定電路被使能和禁止。CKE為低,提供PRECHARGE POWER-DOWN和SELF REFRESH操作(所有Bank都處於空閒),或者有效掉電(在任何bank裡的行有效)。CKE與掉電狀態的進入退出以及自刷新的進入同步。CKE與自刷新的退出異步,輸入Buffer(除了CK、CK#、RESET#和ODT)在POWER-DOWN期間被禁止。輸入Buffer(除了CKE和RESET#)在SELF REFRESH期間被禁止。CKE的參考是VREFCA。
CS#
Input
片選。使能(低)和禁止(高)命令解碼,當CS#為高的時候,所有的命令被屏蔽,CS#提供了多RANK系統的RANK選擇功能,CS#是命令代碼的一部分,CS#的參考是VREFCA。
DM
Input
數據輸入屏蔽。DM是寫數據的輸入屏蔽信號,在寫期間,當伴隨輸入數據的DM信號被採樣為高的時候,輸入數據被屏蔽。雖然DM僅作為輸入腳,但是,DM負載被設計成與DQ和DQS腳負載相匹配。DM的參考是VREFCA。DM可選作為TDQS
ODT
Input
片上終端使能。ODT使能(高)和禁止(低)片內終端電阻。在正常操作使能的時候,ODT僅對下面的管腳有效:DQ[7:0],DQS,DQS#和DM。如果通過LOAD MODE命令禁止,ODT輸入被忽略。ODT的參考是VREFCA
RAS#,CAS#,WE#
Input
命令輸入,這三個信號,連同CS#,定義一個命令,其參考是VREFCA
RESET#
Input
復位,低有效,參考是VSS,復位的斷言是異步的。
DQ0-DQ7
I/O
數據輸入/輸出。雙向數據,DQ[7:0]參考VREFDQ
DQS,DQS#
I/O
數據選通。讀時是輸出,邊緣與讀出的數據對齊。寫時是輸入,中心與寫數據對齊。
TDQS,TDQS#
Output
終端數據選通。當TDQS使能時,DM禁止,TDQS和TDDS提供終端電阻。
VDD
Supply
電源電壓,1.5V+/-0.075V
VDDQ
Supply
DQ電源,1.5V+/-0.075V。為了降低噪聲,在晶片上進行了隔離
VREFCA
Supply
控制、命令、地址的參考電壓。VREFCA在所有時刻(包括自刷新)都必須保持規定的電壓
VREFDQ
Supply
數據的參考電壓。VREFDQ在所有時刻(除了自刷新)都必須保持規定的電壓
VSS
Supply
地
VSSQ
Supply
DQ地,為了降低噪聲,在晶片上進行了隔離。
ZQ
Reference
輸出驅動校準的外部參考。這個腳應該連接240ohm電阻到VSSQ
2.pcb設計,也上說明:
關鍵要點:
0.布局合理,2片ddr晶片與cpu晶片保持同等距離,且需要預留繞線空間,便於走線等長處理,圖中
1.數據線 走靠近GND的內部走線層,如圖3、10層
2.地址線 走靠近GND的內部走線層,如圖4,9層
3.相鄰走線層走線盡力垂直交叉
4.差分時鐘從源端(cpu)引出到兩片ddr晶片,拓撲結構保持"Y"結構,切保證在分支點到兩片ddr晶片的距離一致+/-5mil
5.關於走線間距,需要滿足>=3W原則,圖示差分時鐘線寬間距為3.2mil/10.5mil,具體最好做一下仿真,疊層和板材不一樣,相應的阻抗也不一樣
6.關於電源:兩組VREF/VDD,都需要走足夠寬,根據經驗需要走電源平面分割
7.等長蛇形線間gap保持>3w,圖中為18.5mil
8.地址線addr bus/ba0~ba2/odt//cs/we等都採用Y結構從源端到ddr晶片端
9.走線不跨層,過孔最少原則
掃描二維碼,關注微信公眾號「嵌入式硬體開發」,與熱愛硬體的你一起成長。有任何好的想法或建議可以直接在公眾號中回復。
長按自動掃碼關注
分享是一種美德,如果喜歡「嵌入式硬體開發」的內容,可以轉發到朋友圈讓更多的人看到哦。