基于AMBA-AHB總線的SDRAM控制器的計方案
SDRAM上電后必須按一種確定的方式初始化。在上電穩(wěn)定后100 μs時間內(nèi)存儲器不接受除NOP以外的任何命令。當100 μs過后,通過控制器向SDRAM所有bank 發(fā)出預(yù)充電(Precharge)命令[8],使SDRAM 所有bank進入待機狀態(tài)。之后,要對SDRAM 連續(xù)執(zhí)行兩個自動刷新操作,使SDRAM 芯片內(nèi)部的刷新及計數(shù)器進入正常運行狀態(tài)。兩個刷新周期完畢之后,開始對SDRAM 的模式寄存器(Mode Register)進行操作,模式寄存器用來決定SDRAM將以何種工作模式工作。整個初始化過程如圖2所示。
3 SDRAM 控制器與AMBA-AHB 總線的關(guān)系
本設(shè)計基于AMBA-AHB總線的slave模塊,SDRAM控制器處在片內(nèi)AHB 總線與片外存儲設(shè)備之間,作為一個從機掛在AHB總線上。它一邊需要通過AHB總線接口模塊與AHB總線通信,因此必須符合AHB總線標準;另一邊又需要給外部存儲設(shè)備提供控制信號,以實現(xiàn)對外部存儲設(shè)備的讀寫操作。控制器接收來自總線主設(shè)備的符合AMBA-AHB 總線規(guī)范的數(shù)據(jù)傳輸請求,產(chǎn)生正確的讀寫控制信號給SDRAM 存儲器,以完成總線的數(shù)據(jù)傳輸請求。
AMBA 2.0總線為嵌入式微控制器定義了一套片上總線標準,因此本設(shè)計是獨立設(shè)計的基于該規(guī)范的外圍IP.
4 SDRAM 控制器系統(tǒng)設(shè)計架構(gòu)
SDRAM 控制器與AHB 總線接口在整個系統(tǒng)中的連接關(guān)系如圖3所示。
4.1 AHB-slave總線接口電路
AHB-slave總線接口電路用來實現(xiàn)SDRAM 控制邏輯與AHB-master之間的信號傳輸。
按照AMBA 總線規(guī)范要求,AHB 總線從設(shè)備(slave)在總線時鐘上升沿,HREADY信號(由從設(shè)備發(fā)出)為高的情況下,必須鎖存來自AHB總線的總線控制信號、數(shù)據(jù)信號、地址信號等,以供內(nèi)部譯碼模塊以及其他各模塊使用。
評論