DDR2 SDRAM介紹及其基于MPC8548 CPU的硬件設計
DR2(Double Data Rate 2,兩倍數據速率,版本2) SDRAM,是由JEDEC標準組織開(kāi)發(fā)的基于DDR SDRAM的升級存儲技術(shù)。 相對于DDR SDRAM,雖然其仍然保持了一個(gè)時(shí)鐘周期完成兩次數據傳輸的特性,但DDR2 SDRAM在數據傳輸率、延時(shí)、功耗等方面都有了顯著(zhù)提高,而這些性能的提高,主要來(lái)源于以下技術(shù)的提升:ODT,Post CAS,4n數據預取,封裝等。
* ODT
ODT(On-Die Termination),即芯片內部匹配終結。
在DDR SDRAM應用中,需要通過(guò)大量的外部電阻上拉到VTT電平(1.25V)以實(shí)現信號匹配,以16位芯片為例,以下信號需要通過(guò)這種方式進(jìn)行匹配:CK,CK#,DQ[15:0],LDQS,UDQS, ADDR[10:0],RAS#,CAS#,WE#,即一片芯片需要34個(gè)外部上拉電阻,極大的占用了寶貴的PCB面積。同時(shí),由于DQ[15:0],LDQS,UDQS等信號是雙向信號,即讀和寫(xiě)時(shí),對匹配電阻的位置有不同要求,因此在電阻布局時(shí)很難在兩個(gè)方向上同時(shí)實(shí)現最佳的信號完整性。
在DDR2 SDRAM中,采用ODT技術(shù)將許多外部的匹配電阻移到芯片內部從而節省了大量的PCB板上面積。另外,ODT技術(shù)允許存儲控制器(如下文的MPC8548 CPU)通過(guò)配置DDR2 SDRAM的內部寄存器以及控制ODT信號,來(lái)實(shí)現對匹配電阻的值及其開(kāi)關(guān)狀態(tài)進(jìn)行控制,從而可以實(shí)現讀,寫(xiě)操作時(shí)最佳的信號完整性。
圖1 ODT功能圖
DDR2 SDRAM芯片提供一個(gè)ODT引腳來(lái)控制開(kāi)或關(guān)芯片內部的終結電阻。在只有一個(gè)DDR2 SDRAM芯片作為存儲器控制器的負載的情況下,寫(xiě)操作時(shí),由于DDR2 SDRAM作為接收端,所以ODT引腳為高電平以打開(kāi)芯片內部終結電阻;讀操作時(shí),由于DDR2 SDRAM作為發(fā)送端,所以ODT引腳為低電平以關(guān)閉芯片內部終結電阻。其中,ODT引腳的狀態(tài)由存儲器控制器(如MPC8548)來(lái)控制。
ODT終端電阻值RTT可以通過(guò)DDR2 SDRAM內部的EMR寄存器來(lái)設定:首先配置EMR[15:14]=01來(lái)選定該寄存器工作于EMR(擴展模式寄存器)模式,然后通過(guò)EMR[6]和EMR[2]兩位來(lái)設置內部RTT的值,允許選擇為RTT關(guān)閉,75歐姆,150歐姆,50歐姆這四種模式。以選擇75歐姆這種模式為例,圖1中,DQ引腳內部的上拉電阻和下拉電阻將配置為150歐姆。
需要注意,DDR2 SDRAM的ODT技術(shù),只是對DQ,DQS,DM這些信號(在選擇了差分DQS的情況下,也包括DQS#信號)實(shí)現了內部匹配。而地址和控制信號等仍需要通過(guò)外部匹配。
* Posted CAS
以讀DDR2 SDRAM為例。
圖2 多塊數據讀取時(shí)的間隙問(wèn)題
DDR2 SDRAM和DDR SDRAM一樣,是通過(guò)Bank(塊地址),Row(行地址)和Column(列地址)三者結合實(shí)現尋址。每一次對DDR2 SDRAM的操作,都以ACTIVE命令(圖2的ACT命令,通過(guò)有效#RAS信號實(shí)現)開(kāi)始,在發(fā)出該命令的同時(shí),通過(guò)地址信號線(xiàn)發(fā)出本次操作的Bank和Row地址,此后等待tRCD時(shí)間后,發(fā)起READ/AUTO PRECHARGE命令(圖2 的RD AP命令,通過(guò)有效#CAS信號實(shí)現),該命令的作用是發(fā)出讀取命令,同時(shí)通過(guò)地址信號線(xiàn)發(fā)出本次操作的Column地址。最后,等待CAS Latency時(shí)間之后,數據即通過(guò)數據總線(xiàn)輸出。
由于DDR2 SDRAM的存儲空間相對DDR SDRAM有所增加,因此Bank數目也有所增加。例如,DDR SDRAM單片最大容量為1Gbit,Bank數目是4,而DDR2 SDRAM單片最大容量為2Gbit,Bank數目達到了8。DDR SDRAM的Bank數目最少是2,而DDR2 SDRAM的Bank數目最少是4。為了提高性能,經(jīng)常需要在一個(gè)Bank的操作完成之前插入對下一個(gè)Bank的操作。如圖2,在發(fā)出對Bank0的ACT命令之后,無(wú)需等待對應的RD AP命令發(fā)出,只用滿(mǎn)足tRRD時(shí)間要求,即可發(fā)出對另一個(gè)Bank的ACT命令。
評論