DDR工作時序與原理【轉】


轉自:https://blog.csdn.net/chenhongfeng1122/article/details/24876137

DDR SDRAM 全稱為 Double Data Rate SDRAM,中文名為“雙倍數據流 SDRAM”。DDR SDRAM 在原 有的 SDRAM的基礎上改進而來。下圖是DDR和SDRAM的數據傳輸對比圖

圖上可以清楚的看到,DDR SDRAM可在一個時鍾周期內傳送兩次數據,上升沿傳一次,下降沿傳一次。

1.DDR的基本原理
先來看一張DDR讀操作時序圖


從中可以發現它多了兩個信號:CLK#與DQS,CLK#與正常 CLK 時鍾相位相反,形成差分時鍾信號。而數據的傳輸在 CLK 與 CLK#的交叉點進行,可見在 CLK 的上升與下降沿(此時正好是 CLK#的上升沿)都有數據被觸發,從而實現雙倍數據傳輸,也就是DDR。下面來看DDR的內部結構圖的SDRAM有什么不同。


這也是一顆 128Mbit 的內存芯片,標稱規格為 32×4bit,右邊紅框區域就是DDR不同的地方:首先就是內部的L-Bank 規格。SDRAM 中L-Bank 存儲單元的容量與芯片位寬相同,但在DDR SDRAM 中並不是這樣,存儲單元的容量是芯片位寬的一倍,所以在此不能再套用講解 SDRAM時“芯片位寬=存儲單元容量”的公式了。也因此,真正的行、列地址數量也與同規格 SDRAM 不一樣了。 
以本芯片為例,在讀取時,L-Bank 在內部時鍾信號的觸發下一次傳送 8bit 的數據給讀取鎖存器,再分成兩路 4bit 數據傳給復用器,由后者將它們合並為一路 4bit 數據流,然后由發送器在 DQS 的控制下在外部時鍾上升與下降沿分兩次傳輸 4bit 的數據給北橋的內存控制器(在ARM和現在的CPU中,內存控制器是集成在CPU中的,現在的PC機中北橋已無內存控制器)。這樣,如果時鍾頻率為 100MHz,那么在 I/O 端口處,由於是上下沿觸發,那么就是傳輸頻率就是 200MHz。
現在大家基本明白 DDR SDRAM 的工作原理了吧,這種內部存儲單元容量(也可以稱為芯片內部總線位寬)=2×芯片位寬(也可稱為芯片 I/O 總線位寬)的設計,就是所謂的兩位預取(2-bit Prefetch)。  

2.DDR與SDRAM的異同
DDR SDRAM 與 SDRAM 一樣,在開機時也要進行 MRS(ModeRegister Set,模式寄存器的設置),不過由於操作功能的增多,DDR SDRAM 在 MRS 之前還多了一 EMRS 階段(Extended Mode Register Set,擴展模式寄存器設置),這個擴展模式寄存器控制着 DLL 的有效/禁止、輸出驅動強度、QFC 有效/無效等。

3.差分時鍾
CK#的作用, 並不能理解為第二個觸發時鍾,而是起到觸發時鍾校准 的作用。
由於數據是在 CK 的上下沿觸發,造成傳輸周期縮短了一半,因此必須要保證傳輸周期的穩定以 確保數據的正確傳輸,這就要求 CK 的上下沿間距要有精確的控制。但因為溫度、電阻性能的改變等 原因,CK 上下沿間距可能發生變化,此時與其反相的 CK#就起到糾正的作用(CK 上升快下降慢,CK# 則是上升慢下降快)。而由於上下沿觸發的原因,也使 CL=1.5 和 2.5 成為可能,並容易實現。


4.數據選取脈沖(DQS)
DQS 是 DDR SDRAM 中的重要功能,它的功能主要用來在 一個時鍾周期內准確的區分出每個傳輸 周期,並便於接收方准確接收數據。每一顆芯片都有一個 DQS 信號線,它是雙向的,在寫入時它用來 傳送由內存控制器發來的 DQS 信號,讀取時,則由DDR芯片生成 DQS 向內存控制器發送。完全可以說,它就是數據的同 步信號。 
 
在讀取時,DQS 與數據信號同時生成(也是在 CK 與 CK#的交叉點)。而 DDR 內存中的 CL 也就是 從 CAS 發出到 DQS 生成的間隔,數據真正出現在數據 I/O 總線上相對於 DQS 觸發的時間間隔被稱為 tAC。 實際上,DQS 生成時,芯片內部的預取已經完畢了,tAC 是 指上文結構圖中灰色部分的數據輸出時間,由於預取的原因,實際的數據傳出可能會提前於 DQS 發生 (數據提前於 DQS 傳出)。

DQS 在讀取時與數據同步傳輸,那么接收時也是以 DQS 的上下沿為准嗎?不,如果以 DQS 的上下沿區分數據周期的危險很大。由於芯片有預取的操作,所以輸出時的同步很難控制,只能限制在一定的時間范圍內,數據在各 I/O 端口的出現時間可能有快有慢,會與 DQS 有一定的間隔,這也就是為什么要有一個 tAC 規定的原因(DDR中的tAC是在DQS觸發和數據真正出現在I/O總線上的間隔時間)。而在接收方,一切必須保證同步接收,不能有 tAC 之類的偏差。這樣在寫入時,芯片不再自己生成 DQS,而以發送方傳來的 DQS 為基准,並相應延后一定的時間,在 DQS 的中部為數據周期的選取分割點(在讀取時分割點就是上下沿),從這里分隔開兩個傳輸周期。這樣做的好處是,由於各數據信號都會有一個邏輯電平保持周期,即使發送時不同步,在 DQS 上下沿時都處於保持周期中,此時數據接收觸發的准確性無疑是最高的。  

在寫入時,以 DQS 的高/低電平期中部為數據周期分割點,而不是上/下沿,但數據的接收觸發仍為 DQS 的上/下沿。

5.寫入延遲 

在上面的 DQS 寫入時序圖中,可以發現寫入延遲已經不是0了,在發出寫入命令后,DQS與寫入數據要等一段時間才會送達。這個周期被稱為 DQS 相對於寫入命令的延遲時間(tDQSS, WRITE Command to the first corresponding rising edge of DQS)。 
    為什么要有這樣的延遲設計呢?原因也在於同步,畢竟一個時鍾周期兩次傳送,需要很高的控制精度,它必須要等接收方做好充分的准備才行。tDQSS 是 DDR 內存寫入操作的一個重要參數,太短的話恐怕接受有誤,太長則會造成總線空閑。tDQSS 最短不能小於 0.75 個時鍾周期,最長不能超過 1.25 個時鍾周期。
    正常情況下, tDQSS 是一 個時鍾周期,但寫入時接受方的時鍾只用來控制命令信號的同步,而數據的接受則完全依靠 DQS 進行 同步,所以 DQS 與時鍾不同步也無所謂。不過,tDQSS產生了一個不利影響— — 讀后寫操作延遲的 增加,如果 CL=2.5,還要在 tDQSS 基礎上加入半個時鍾周期,因為命令都要在 CK 的上升沿發出。下圖中,當 CL=2.5 時,讀后寫的延遲將為 tDQSS+0.5 個時鍾周期(圖中 BL=2)。 


另外,DDR 內存的數據真正寫入由於要經過更多步驟的處理,所以寫回時間(tWR)也明顯延長,一般在3個時鍾周期左右,而在 DDR-Ⅱ規范中更是將 tWR 列為模式寄存器的一項,可見它的重要性。 

6.突發長度
在 DDR SDRAM 中,突發長度只有 2、4、8 三種選擇,沒有了隨機存取的操作(突發長度為 1)和全頁式突發。這是為什么呢?因為 L-Bank一次就存取兩倍於芯片位寬的數據,所以芯片至少也要進行兩次傳輸才可以,否則內部多出來的數據怎么處理?但是,突發長度的定義也與 SDRAM 的不一樣了,它不再指所連續尋址的存儲單元數量,而是指連續的傳輸周期數,每次是一個芯片位寬的數據。 

 

 

 

7.延遲鎖定回路(DLL) 
DDR SDRAM 對時鍾的精確性有着很高的要求,而 DDR SDRAM 有兩個時鍾,一個是外部的總線時鍾,一個是內部的工作時鍾,在理論上 DDR SDRAM 這兩個時鍾應該是同步的,但由於種種原因,如溫度、電壓波動而產生延遲使兩者很難同步,更何況時鍾頻率本身也有不穩定的情況(SDRAM 也有內部時鍾,不過因為它的工作/傳輸頻率較低,所以內外同步問題並不突出)。

DDR SDRAM 的 tAC 就是因為內部時鍾與外部時鍾有偏差而引起的,它很可能造成因數據不同步而產生錯誤的惡果。實際上,不同步就是一種正/負延遲,如果延遲不可避免,那么若是設定一個延遲值,如一個時鍾周期,那么內外時鍾的上升與下降沿還是同步的。鑒於外部時鍾周期也不會絕對統一,所以需要根據外部時鍾動態修正內部時鍾的延遲來實現與外部時鍾的同步,這就是 DLL 的任務。 

DLL 不同於主板上的 PLL,它不涉及頻率與電壓轉換,而是生成一個延遲量給內部時鍾。目前 DLL 有兩種實現方法,一個是 時鍾頻率測量法(CFM,Clock Frequency Measurement),一個是 時鍾比較法(CC,Clock Comparator)。 

CFM 是測量外部時鍾的頻率周期,然后以此周期為延遲值控制內部時鍾,這樣內外時鍾正好就相差了一個時鍾周期,從而實現同步。DLL 就這樣反復測量反復控制延遲值,使內部時鍾與外部時鍾保持同步。
CC的方法則是比較內外部時鍾的長短,如果內部時鍾周期短了,就將所少的延遲加到下一個內部時鍾周期里,然后再與外部時鍾做比較,若是內部時鍾周期長了,就將多出的延遲從下一個內部時鍾中刨除,如此往復,最終使內外時鍾同步。
CFM 式 DLL 工作示意圖 

CC 式 DLL 工作示意圖  

CFM 與 CC 各有優缺點,CFM 的校正速度快,僅用兩個時鍾周期,但容易受到噪音干擾,並且如果測量失誤,則內部的延遲就永遠錯下去了。CC 的優點則是更穩定可靠,如果比較失敗,延遲受影響的只是一個數據(而且不會太嚴重),不會涉及到后面的延遲修正,但它的修正時間要比 CFM 長。DLL 功能在 DDR SDRAM 中可以被禁止,但僅限於除錯與評估操作,正常工作狀態是自動有效的。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM