AMBA-AHB總線SDRAM控制器的設計
0 引言
隨著大規(guī)模集成電路和高速、低功耗、高密度存儲技術的發(fā)展,SDRAM動態(tài)存儲器因容量大、速度快、價格低廉等優(yōu)點,現(xiàn)已成為PC內(nèi)存的主流。然而SDRAM存儲器內(nèi)部控制邏輯十分復雜,時序要求也非常嚴格,因此需要設計專門的SDRAM 控制器來實現(xiàn)系統(tǒng)對SDRAM的訪問。
存儲控制器是嵌入式微處理器中AMBA-AHB總線與片外存儲設備之間的接口,完成總線主設備(CPU或DMA)與片外存儲設備(SDRAM或SRAM)的數(shù)據(jù)傳輸,其功能與性能決定著嵌入式微處理器所支持的外部存儲器的類型以及外部存儲器的訪問速度,進而決定著整個嵌入式系統(tǒng)的處理速度。AMBA總線規(guī)范成為嵌入了式微處理器內(nèi)片上總線的標準,設計基于AMBA總線標準,支持嵌入式系統(tǒng)常用存儲器類型的存儲控制器IP具有非常大的現(xiàn)實意義。
1 AMBA 總線簡介
典型的基于AMBA總線的微控制器架構如圖1所示。
它包含一個作為系統(tǒng)骨架的AHB(Advanced High-Performance Bus)或ASB總線,可實現(xiàn)CPU或DMA模塊與片外存儲器之間的大量數(shù)據(jù)通信,以獲得大的帶寬。
另外,在這條高性能總線上還有一個橋接器以連接低帶寬的APB,而在APB上連接著大多數(shù)的系統(tǒng)外設。用戶可以各自獨立設計基于這個規(guī)范的微處理器以及外圍IP,提高了系統(tǒng)的開發(fā)效率及模塊的可重用型.
其中,AHB 總線是一種支持多總線主機的高性能總線,用于高性能、高時鐘頻率的系統(tǒng),它保證了處理器與片外存儲器的有效連接。一個完整的AHB傳輸過程可以分為地址傳輸階段和數(shù)據(jù)傳輸階段,地址傳輸階段傳輸?shù)刂泛涂刂菩盘?,?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/數(shù)據(jù)傳輸">數(shù)據(jù)傳輸階段傳輸?shù)氖亲x寫數(shù)據(jù)和響應信號。AHB 總線支持流水線傳輸,也就是說在前一個數(shù)據(jù)傳輸階段可以同時進行下一個地址傳輸階段,前后不同的傳輸階段可以重疊起來以提高系統(tǒng)的數(shù)據(jù)處理速度。
2 SDRAM 工作原理
SDRAM 是一種高速高容量同步動態(tài)存儲器,相比于SRAM 等靜態(tài)存儲器具有容量大、速度快、價格低廉等優(yōu)點,成為圖像處理中常用的數(shù)據(jù)存儲器。但因SDRAM存儲結構的特殊性,需要對SDRAM不斷進行預充電、刷新等操作以保持數(shù)據(jù)不丟失。SDRAM 內(nèi)部的操作是通過總線命令實現(xiàn)的,命令由RASN、CASN 和WEN信號聯(lián)合產(chǎn)生,如表1所示(H表示高電平,L表示低電平)。
SDRAM上電后必須按一種確定的方式初始化。在上電穩(wěn)定后100 μs時間內(nèi)存儲器不接受除NOP以外的任何命令。當100 μs過后,通過控制器向SDRAM所有bank 發(fā)出預充電(Precharge)命令,使SDRAM 所有bank進入待機狀態(tài)。之后,要對SDRAM 連續(xù)執(zhí)行兩個自動刷新操作,使SDRAM 芯片內(nèi)部的刷新及計數(shù)器進入正常運行狀態(tài)。兩個刷新周期完畢之后,開始對SDRAM 的模式寄存器(Mode Register)進行操作,模式寄存器用來決定SDRAM將以何種工作模式工作。整個初始化過程如圖2所示。
3 SDRAM 控制器與AMBA-AHB 總線的關系
本設計基于AMBA-AHB總線的slave模塊,SDRAM控制器處在片內(nèi)AHB 總線與片外存儲設備之間,作為一個從機掛在AHB總線上。它一邊需要通過AHB總線接口模塊與AHB總線通信,因此必須符合AHB總線標準;另一邊又需要給外部存儲設備提供控制信號,以實現(xiàn)對外部存儲設備的讀寫操作。控制器接收來自總線主設備的符合AMBA-AHB 總線規(guī)范的數(shù)據(jù)傳輸請求,產(chǎn)生正確的讀寫控制信號給SDRAM 存儲器,以完成總線的數(shù)據(jù)傳輸請求。
評論