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