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