基于SDRAM芯片立體封裝大容量的應(yīng)用
圖3 VDSD3G48真值表
VDSD3G48有多種功能,每種功能包括多個(gè)命令。本應(yīng)用只涉及到最簡單的單個(gè)讀寫操作,其余功能不討論。VDSD3G48的操作流程包括:初始化和設(shè)置模式→讀寫操作→自動(dòng)刷新。
1.3.1初始化和設(shè)置模式
圖4初始化和模式設(shè)置時(shí)序圖
VDSD3G48功能比較多,時(shí)序比較復(fù)雜,所以上電后必須初始化,以指定一個(gè)確定的工作模式。當(dāng)電源供給VCC和VCCQ后,需要100us的延時(shí)來確保時(shí)鐘的穩(wěn)定,而不是在這個(gè)期間發(fā)送NOP等命令,在這之后可以發(fā)送NOP命令。當(dāng)滿足了這個(gè)條件之后,至少要發(fā)送一個(gè)INHIBIT或NOP命令,接著發(fā)PRECHARGE命令,所有banks預(yù)充電,使VDSD3G48處于空閑狀態(tài)。一旦在空閑狀態(tài),發(fā)出兩個(gè)AUTO REFRESH命令。完成之后接著就是寄存器模式的設(shè)置。這一系列的操作如圖4所示。
圖5模式的定義
圖6 CAS Latency時(shí)序圖
上面涉及到的寄存器模式設(shè)置內(nèi)容可從圖5模式的定義中找到。模式的定義是通過地址線傳送的,Burst Length定義爆發(fā)的長度,本應(yīng)用案例只涉及單個(gè)讀單個(gè)寫,所以M2M1M0=000;BT定義連續(xù)還是交叉,選擇連續(xù)BT=0,CAS Latency是在讀周期讀命令鎖存以后到數(shù)據(jù)輸出的延時(shí)時(shí)鐘數(shù),通常是2或者3,如圖6 CAS Latency時(shí)序圖所示。Op Mode中M8M7=00;WB=0,選擇可編程爆發(fā)長度。
1.3.2自動(dòng)刷新
VDSD3G48是一個(gè)SDRAM存儲器,存儲單元是一個(gè)電容,由于電容比較容易漏電,所以沒隔一段時(shí)間必須給電容充電,以防數(shù)據(jù)丟失。目前公認(rèn)的刷新周期為64ms,也就是說每隔64ms就要給每個(gè)單元刷新一次。對于不同容量的存儲器,發(fā)出的刷新命令的間隔也是不同的,計(jì)算方法是:刷新間隔時(shí)間=64ms/行數(shù)。VDSD3G48有每片基片有8192行,刷新間隔時(shí)間T=64ms/8192=7.8125us,考慮到余量,取7us。
在發(fā)REFRESH命令之前,必須發(fā)PRECHARGE命令釋放所有選中的banks。接著要等到TRP的延時(shí)之后才發(fā)REFRESH命令。所刷新單元地址由內(nèi)部刷新控制器產(chǎn)生,所有REFRESH命令不用輸入地址信號。所有操作如圖7自動(dòng)刷新時(shí)序圖所示:
圖7自動(dòng)刷新時(shí)序圖
1.3.3單個(gè)自動(dòng)預(yù)充電寫
在寫過程中,ACTIVE命令用于鎖存來自A[12:0]的地址信號和來自BA1、BA0的bank信號,WRITE命令鎖存來自A[9:0]地址信號,如果DQM為低,則來自DQ[47:0]上的數(shù)據(jù)則存入存儲器陣列;如果DQM為低,來自DQ[47:0]上的數(shù)據(jù)將不忽略。A[10]用于選擇是否自動(dòng)預(yù)充電,如果選擇,那么在寫完成后選擇的行將預(yù)充電。操作如圖8單個(gè)寫時(shí)序圖所示:
圖8單個(gè)寫時(shí)序圖
1.3.3單個(gè)自動(dòng)預(yù)充電讀
在讀過程中,ACTIVE命令用于鎖存來自A[12:0]的地址信號和來自BA1、BA0的bank信號,READ命令鎖存來自A[9:0]地址信號。數(shù)據(jù)的輸出將根據(jù)DQM信號的輸入而定,在READ命令期間如果DQM為低,那么在經(jīng)過兩個(gè)時(shí)鐘之后將輸出數(shù)據(jù)(CAS Latency=2);如果DQM為高,那么將輸出高阻態(tài)。A[10]用于選擇是否自動(dòng)預(yù)充電,如果選擇,那么在讀完成后選擇的行將預(yù)充電。操作如圖9單個(gè)讀時(shí)序圖所示:
圖9單個(gè)讀時(shí)序圖
1.3.4 VDSD3G48控制器的實(shí)現(xiàn)
本案例的控制器只實(shí)現(xiàn)單讀單寫功能。即便如此,初始化模式設(shè)置和刷新功能是必不可少的。控制器原理框圖如圖10所示:
存儲器相關(guān)文章:存儲器原理
評論