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