[攻克存儲] 掌握SDRAM/DDR的結構與尋址

 本系列前面兩篇文章《[攻克存儲] SRAM地址線的連接》和 《[攻克存儲] 存儲芯片的寫屏蔽及擴展》已經介紹了SRAM芯片的地址線連接方法以及存儲芯片的寫屏蔽擴展,這兩篇文章基本上是從SRAM的角度在進行講解和描述,其中許多原理在SDRAM/DDR芯片中也同樣適用,不過,SDRAM/DDR 存儲芯片的結構和尋址方式相對於ROM、SRAM、DRAM而言,還是有很大的變化和不同的,本文就着重介紹SDRAM/DDR的相關知識點和應用注意事項。

    在存儲結構上,SDRAM/DDR採取了多Bank方式,每一個邏輯Bank即爲一個存儲陣列,一般一個SDRAM芯片有2~8個Bank。我們可以把Bank想象爲一個表格,如下:    

     圖中的Bank是一個14行17列的邏輯存儲結構,假設該SDRAM芯片有4個Bank,則其存儲空間爲:4 x 2^14 x 2^17  bit = 2^33 bit =  1GB

     在尋址方式上,首先,多了幾個Bank選擇引腳,例如對於4個Bank的SDRAM,則有2個引腳(BA0~BA1)進行Bank選擇。當具體Bank選定後,再給出行列地址從而定位到具體的存儲位置。而行列地址值由相應的地址線引腳分時複用得到。

     下面研究一個具體的SDRAM電路圖,如下圖所示,該圖爲ARM芯片s3c2440與SDRAM芯片HY57V561620的連接示意圖。
 
   
    該SDRAM芯片爲 HY57V561620 ,有4個Bank,16位寬數據線,32M的存儲空間。該芯片的引腳功能描述如下:
 
 
    重點關注地址線 A0~A12的說明,我們可以到,該芯片每一個Bank有13行(RA0~RA12),9列(CA0~CA8),行尋址時使用A0~A12,列尋址分時複用,只使用了CA0~CA8。並且,相比於SRAM芯片,多了nRAS、nCAS引腳,用於標識當前是行尋址還是列尋址,從而實現地址線的分時複用。
 
    我們可以通過下面的時序圖,來更加直觀地瞭解一下SDRAM是如何尋址的:

[第一步] 選擇Bank,同時給出行地址 
 

    

[第二步] 給出列地址,得到數據
 

   

 
   到此,基本上算是把 SDRAM/DDR 的結構和尋址講完了,當然,關於SDRAM/DDR還有很多其他的相關知識點,比如 CAS 延時,比如 時鐘頻率,比如 DRAM/SDRAM/DDR2 的詳細區別等等,將在後面的文章中陸續講述。
 
   最後,再補充點內容,關於上面ARM芯片s3c2440與SDRAM芯片HY57V561620的連接圖,有一個細節,即爲什麼SDRAM芯片的BA0~BA1連接的是ARM芯片的LADDR24~LADDR25引腳?
 
   因爲,HY57V561620爲32MB的SDRAM芯片,我們知道,32MB的存儲空間是需要 25 根地址線尋址的,由於BA0~BA1引腳決定了訪問第幾個Bank,即決定了存儲空間的最高兩位,因此,需要使用ARM的25根地址線中的最高兩位來連接 BA0~BA1,這樣就可以滿足尋址的映射要求了。
 
   SDRAM/DDR的結構與尋址就介紹到這裏,歡迎對文中錯誤以及不夠清楚的地方提出意見和建議,留言或者來信[email protected]進一步交流。
 

 

本文出自 “對影成三人” 博客,請務必保留此出處http://ticktick.blog.51cto.com/823160/686447

發佈了22 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章