sdram:synchronous dynamic random access memory,同步動態隨機儲存器,同步是指 memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準;動態是指儲存陣列需要不斷的重新整理來保證資料不丟失;隨機是指資料不是線性依次儲存,而是自由指定位址進行資料讀寫。
sdram在讀寫資料時重點注意以下訊號:
(1)clk:時鐘訊號,為輸入訊號。sdram所有輸入訊號的邏輯狀態都需要通過clk的上公升沿取樣確定。
(2)cke:時鐘使能訊號,為輸入訊號,高電平有效。cke訊號的用途有兩個:一、關閉時鐘以進入省電模式;二、進入自重新整理狀態。cke無效時,sdram內部所有與輸入相關的功能模組停止工作。
(3)cs#:片選訊號,為輸入訊號,低電平有效。只有當片選訊號有效後,sdram才能識別控制器傳送來的命令。設計時注意上拉。
(4)ras#:行位址選通訊號,為輸入訊號,低電平有效。
(5)cas#:列位址選通訊號,為輸入訊號,低電平有效。
(6)we#:寫使能訊號,為輸入訊號,低電平有效。
當然還包括bank[…]位址訊號,這個需要根據不同的型號來確定,同樣為輸入訊號;位址訊號a[…],為輸入訊號;資料訊號dq[…],為輸入/輸出雙向訊號;資料掩碼訊號dqm,為輸入輸出雙向訊號,方向與資料流方向一致,高電平有效。當其有效時,資料匯流排上出現的對應資料位元組被接收端遮蔽。
sdram之所以成為drarm就是因為它要不斷進行重新整理(refresh)才能保留住資料,因此它是dram最重要的操作。那麼要隔多長時間重複一次重新整理,目前公認的標準是,儲存體中電容的資料有效儲存期上限是64ms(毫秒,1/1000秒),也就是說每一行重新整理的迴圈週期是64ms。這樣重新整理速度就是:行數量/64ms。我們在看記憶體規格時,經常會看到4096 refresh cycles/64ms或8192 refresh cycles/64ms的標識,這裡的4096與8192就代表這個晶元中每個bank的行數。重新整理命令一次對一行有效,傳送間隔也是隨總行數而變化,4096行時為15.625μs(微秒,1/1000毫秒),8192行時就為7.8125μs。hy57v561620為8192 refresh cycles / 64ms。
sdram是多bank結構,例如在乙個具有兩個bank的sdram的模組中,其中乙個bank在進行預充電期間,另乙個bank卻馬上可以被讀取,這樣當進行一次讀取後,又馬上去讀取已經預充電bank的資料時,就無需等待而是可以直接讀取了,這也就大大提高了儲存器的訪問速度。
為了實現這個功能,sdram需要增加對多個bank的管理,實現控制其中的bank進行預充電。在乙個具有2個以上bank的sdram中,一般會多一根叫做ban的引腳,用來實現在多個bank之間的選擇。
sdram具有多種工作模式,內部操作是乙個複雜的狀態機。sdram器件的引腳分為以下幾類。
(1)控制訊號:包括片選、時鐘、時鐘使能、行列位址選擇、讀寫有效及資料有效。
(2)位址訊號:時分復用引腳,根據行列位址選擇引腳,控制輸入的位址為行位址或列位址。。
(3)資料訊號:雙向引腳,受資料有效控制。
sdram的所有操作都同步於時鐘。根據時鐘上公升沿控制管腳和位址輸入的狀態,可以產生多種輸入命令。
模式暫存器設定命令。
啟用命令。
預充命令。
讀命令。
寫命令。
帶預充的讀命令。
帶預充的寫命令。
自動重新整理命令。
自我重新整理命令。
突發停命令。
空操作命令。
根據輸入命令,sdram狀態在內部狀態間轉移。內部狀態包括模式暫存器設定狀態、啟用狀態、預充狀態、寫狀態、讀狀態、預充讀狀態、預充寫狀態、自動重新整理狀態及自我重新整理狀態。
sdram支援的操作命令有初始化配置、預充電、行啟用、讀操作、寫操作、自動重新整理、自重新整理等。所有的操作命令通過控制線cs#、ras#、cas#、we#和位址線、體選位址ba輸入。
1、行啟用
行啟用命令選擇處於空閒狀態儲存體的任意乙個行,使之進入準備讀/寫狀態。從體啟用到允許輸入讀/寫命令的間隔時鐘節拍數取決於內部特徵延時和時鐘頻率。hy57v561620內部有4個體,為了減少器件門數,4個體之間的部分電路是公用的,因此它們不能同時被啟用,而且從乙個體的啟用過渡到另乙個體的啟用也必須保證有一定的時間間隔。
2、預充電
預充電命令用於對已啟用的行進行預充電即結束活動狀態。預充電命令可以作用於單個體,也可以同時作用於所有體(通過所有體預充電命令)。對於猝發寫操作必須保證在寫入預充電命令前寫操作已經完成,並使用dqm禁止繼續寫入資料。預充電結束後回到空閒狀態,也可以再次被啟用,此時也可以輸入進入低功耗、自動重新整理、自重新整理和模式設定等操作命令。
預充電中重寫的操作與重新整理操作一樣,只不過預充電不是定期的,而只是在讀操作以後執行的。因為讀取操作會破壞記憶體中的電荷。因此,記憶體不但要每64ms重新整理一次,而且每次讀操作之後還要重新整理一次。
3、自動預充電
如果在猝發讀或猝發寫命令中,a10/ap位置為「1」,在讀寫操作完成後自動附加乙個預充電動作。操作行結束活動狀態,但在內部狀態機回到空閒態之前不能給器件傳送新的操作命令。
4、猝發讀
猝發讀命令允許某個體中的一行被啟用後,連續讀出若干個資料。第乙個資料在經過指定的cas延時節拍後呈現在資料線上,以後每個時鐘節拍都會讀出乙個新的資料。猝發讀操作可以被同體或不同體的新的猝發讀/寫命令或同一體的預充電命令及猝發停止命令中止。
5、猝發寫
猝發寫命令與猝發讀命令類似,允許某個體中的一行被啟用後,連續寫入若干個資料。第乙個寫資料與猝發寫命令同時在資料線上給出,以後每個時鐘節拍給出乙個新的資料,輸入緩衝在猝發資料量滿足要求後停止接受資料。猝發寫操作可以被猝發讀/寫命令或dqm資料輸入遮蔽命令和預充電命令或猝發停止命令中止。
6、自動重新整理
由於動態儲存器儲存單元存在漏電現象,為了保持每個儲存單元資料的正確性,hy57v561620必須保證在64ms內對所有的儲存單元重新整理一遍。乙個自動重新整理周期只能重新整理儲存單元的乙個行,每次重新整理操作後內部重新整理位址計數器自動加「1」。只有在所有體都空閒(因為4個體的對應行同時重新整理)並且未處於低功耗模式時才能啟動自動重新整理操作,重新整理操作執行期間只能輸入空操作,重新整理操作執行完畢後所有體都進入空閒狀態。該器件可以每間隔7.8μs執行一次自動重新整理命令,也可以在64ms內的某個時間段對所有單元集中重新整理一遍。
7、自重新整理
自重新整理是動態儲存器的另一種重新整理方式,通常用於在低功耗模式下保持sdram的資料。在自重新整理方式下,sdram禁止所有的內部時鐘和輸入緩衝(cke除外)。為了降低功耗,重新整理位址和重新整理時間全部由器件內部產生。一旦進入自重新整理方式只有通過cke變低才能啟用,其他的任何輸入都將不起作用。給出退出自重新整理方式命令後必須保持一定節拍的空操作輸入,以保證器件完成從自重新整理方式的退出。如果在正常工作期間採用集中式自動重新整理方式,則在退出自重新整理模式後必須進行一遍(對於hy57v561620來說,8192個)集中的自動重新整理操作。
8、時鐘和時鐘遮蔽
時鐘訊號是所有操作的同步訊號,上公升沿有效。時鐘遮蔽訊號cke決定是否把時鐘輸入施加到內部電路。在讀寫操作期間,cke變低後的下乙個節拍凍結輸出狀態和猝發位址,直到cke變高為止。在所有的體都處於空閒狀態時,cke變低後的下乙個節拍sdram進入低功耗模式並一直保持到cke變高為止。
9、dqm操作
dqm用於遮蔽輸入輸出操作,對於輸出相當於開門訊號,對於輸入禁止把匯流排上的資料寫入儲存單元。對讀操作dqm延遲2個時鐘週期開始起作用,對寫操作則是當拍有效
SDRAM工作原理
在嵌入式行業中,經常會碰到有人問如果將開發板上 32m 的 sdram 換成64m 的sdram 硬體需不需要改動。答案是 不需什麼改動。由於當時剛進入這個行業,對這個答案一直很迷惑,板上用的是現代的 sdram 晶元4m 16b 4bank 即32mb 按理說應該有 25根位址線,但晶元上只提供了...
SDRAM工作原理
sdram工作原理 胡昶基 sdram synchronous dynamic random access memory,同步動態隨機儲存器 也就是通常所說的記憶體。在我們現在所用的pc機中,所指的記憶體,其實就是sdram,只不過是他的公升級版,如ddr記憶體,ddr2記憶體,ddr3記憶體等等,...
SDRAM的工作原理
sdram synchronous dynamic random access memory,同步動態隨機儲存器,同步是指 memory工作需要同步時鐘,內部的命令的傳送與資料的傳輸都以它為基準 動態是指儲存陣列需要不斷的重新整理來保證資料不丟失 隨機是指資料不是線性依次儲存,而是自由指定位址進行資...