資源描述:
《Altera提供的sdram+ip+core應(yīng)用小節(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Altera提供的sdramipcore應(yīng)用小節(jié)1.SDRAM是一種高速高容量同步動(dòng)態(tài)存儲(chǔ)器。其原理介紹參考sdram原理和時(shí)序.pdf2.SDRAM時(shí)序控制SDRAM的正常操作包括:初始化(initialize),寄存器定義(registerdefinition),激活(active),讀(read),寫(write),預(yù)充電(precharge),自動(dòng)預(yù)充電(autoprecharge),自發(fā)停止命令(BurstTerminate),自動(dòng)刷新(autorefresh),自我刷新(selfrefresh),空操作(NOP)。2.1初始化(initialize)SDRA
2、M上電后必須按一種確定的方式初始化。一旦SDRAM上的電壓加至Vdd并且時(shí)鐘穩(wěn)定后,SDRAM需要有100us的時(shí)間不接受除NOP以外的任何命令。當(dāng)100us過后,應(yīng)該對(duì)SDRAM發(fā)出預(yù)充電(precharge)命令,使得SDRAM所有bank預(yù)充電,這樣bank都進(jìn)入idle狀態(tài)。之后,要使SDRAM連續(xù)執(zhí)行兩個(gè)autorefresh周期。當(dāng)這兩個(gè)周期完畢之后,就可以對(duì)SDRAM的模式寄存器(moderegester)進(jìn)行操作。2.2寄存器定義(registerdefinition)模式寄存器(moderegester)用來決定SDRAM用何種工作模式工作。模式寄存器
3、(moderegester)定義了:何種讀寫模式(burst或fullpage),burst長(zhǎng)度(burstlength),CAS延時(shí)。從下圖看出,模式寄存器(moderegester)的M0-M2位定義了burst長(zhǎng)度,M3定義了burst的類型(連續(xù)的或交叉存取的),M4-M6位定義了CAS延時(shí)。M7和M8定義工作模式。M9定義寫burst模式。00000000000010001001112.3激活命令(active)reada,writea激活命令用來打開某一特定bank的一row,BA0和BA1上的值選擇了某個(gè)bank,地址線A0-A11的值對(duì)應(yīng)著某一row。被
4、激活的row在未接到precharge命令之前會(huì)保持原狀態(tài)。如果需要切換bank地址進(jìn)行操作,就必須在兩個(gè)命令之間插入precharge命令。2.4讀(read)和寫(whrit)操作讀命令是在激活的一row上開始一個(gè)burst或fullpage讀或?qū)懖僮?。BA0BA1上的值選擇了bank,A0-A9(x4),A0-A8(x8),orA0-A7(x16)選擇了起始column地址。A10的值決定了是否選擇autoprecharge模式。在模式寄存器中已經(jīng)設(shè)置了讀或?qū)懙墓ぷ鞣绞健?.5預(yù)充電(precharge)預(yù)充電命令用來使激活的row關(guān)閉。A10決定是只關(guān)閉一個(gè)ba
5、nk或著全部的bank。在切換地址時(shí),如果需要有bank的變動(dòng),需要在讀寫之前插入precharge命令。2.6自動(dòng)預(yù)充電(autoprecharge)fullpagemode不支持autoprecharge,A10=0A10為1時(shí),除了在burst工作模式下,在讀或?qū)懡Y(jié)束后都會(huì)進(jìn)行一次自動(dòng)預(yù)充電。2.7自發(fā)停止命令(BurstTerminate)自發(fā)停止命令用于在一個(gè)連續(xù)的讀或?qū)懨钪胁迦?,提前結(jié)束這一串的數(shù)據(jù)的讀或?qū)憽?.7自動(dòng)刷新(autorefresh)和自我刷新(selfrefresh)每過15.6us就refresh一次1行一共212故15.6us×4096
6、=64ms為保持SDRAM上的數(shù)據(jù)不丟失,必須定時(shí)刷新,刷新計(jì)數(shù)器決定了刷新的時(shí)間間隔,刷新計(jì)數(shù)器要保證每個(gè)單元都能按一定周期刷新。SDRAM提供兩種類型的刷新模式:自動(dòng)刷新和自我刷新。自動(dòng)刷新在正常操作中進(jìn)行,但不持久,因此需要定時(shí)進(jìn)行刷新,這樣就會(huì)占用系統(tǒng)資源,降低系統(tǒng)性能。而自刷新模式無需系統(tǒng)時(shí)鐘就能保持?jǐn)?shù)據(jù)不丟失。兩種模式相比,自動(dòng)刷新實(shí)現(xiàn)較為簡(jiǎn)單,而自刷新功耗更小。2.8SDRAM操作指令指令對(duì)應(yīng)于RAS_N,CAS_N,WE_N 接口部件控制命令表2ALTERA提供的通用SDRAM控制器的結(jié)構(gòu)這是總體示意圖,左邊是用戶操作端,右邊則與SDRAM相連。該通用控
7、制器由3部分組成,分別是:commend,control_interface,str_data_path。主要功能是將外部提供的readwriteprecharge等命令轉(zhuǎn)化為SDRAM理解的RAS_N,CAS_N,WE_N指令。1:control_interface功能:從CMD[2:0]接收外部指令,ADDR[21:0]接受地址,REF_ACK接收refresh的反饋信號(hào)。CM_ACK接收命令結(jié)束信號(hào)反饋。本模塊將CMD編碼信號(hào)轉(zhuǎn)化為逐個(gè)的單個(gè)信號(hào),將lodemode中的控制信息也存入寄存器。再傳給下一級(jí)commend模塊。2:com