資源描述:
《SDRAM初始化》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、1,SDRAM的地址線,在我們一般用的什么SRAM啊,PSRAM啊,RAM啊,一般而言都是有多少根地址線,然后可以算出尋址空間,比如有11根地址線,那尋址空間就是2的11次方。但是SDRAM是分列地址和行地址的,行、列地址線是復(fù)用的,所以有時(shí)候我們看到說(shuō)尋址空間有多大多大,但是看看地址線怎么就那么幾根啊,呵呵。SDRAM一般還有2根BANK的線,分成4個(gè)BANK,在有的處理器的SDRAM控制模塊中,這兩根線可能映射到地址線的某兩根去。一般芯片常按照以下方式寫芯片的配置,比如4Megx4x16,那這個(gè)芯
2、片就是256Mbits。其中16指數(shù)據(jù)線是16根,中間一個(gè)4是只分4個(gè)BANK,每個(gè)BANK是4Meg。2,SDRAM的初始化SDRAM上電后使用前必須要經(jīng)過(guò)一段初始化操作才可以使用。這個(gè)操作過(guò)程是標(biāo)準(zhǔn)的過(guò)程。這個(gè)過(guò)程如下A:prechargeB:auto-“refresh”C:LoadModeRegisterD:NormalRead/Write在上電后輸入初始化命令值前,最少要100us延遲(這個(gè)其實(shí)很容易滿足,呵呵)。在輸入precharge
3、命令后,因?yàn)楸仨毷菍?duì)所有BANK進(jìn)行Precharge,所以A10這個(gè)管腳要設(shè)置成高,因此在Precharge后面要做一個(gè)讀的操作,這個(gè)操作最主要的是在SDRAM的尋址空間里設(shè)置的地址必須是A10是高的。在輸入Auto-“refresh”命令后,一般要跟幾句空操作或者讀什么之類的,反正要達(dá)到延遲的目的,以使得SDRAM有時(shí)間來(lái)完成“refresh”。之后就是要設(shè)置SDRAM的模式寄存器,這個(gè)寄存器里一般設(shè)置了burst長(zhǎng)度,CAS,burst類型,操作模式,還有是設(shè)置SDRAM是工作在單個(gè)讀寫
4、操作還是burst操作下。而這個(gè)寄存器的設(shè)置也是通過(guò)地址線來(lái)設(shè)置的,所以在發(fā)出LoadModeRegister命令后要做一個(gè)操作可是使得在SDRAM的地址線上出線的值就是你要設(shè)置的值。這里很有必要提醒的一下的是,這個(gè)操作是8位的操作,切記切記。設(shè)置完模式寄存器后就進(jìn)入正常操作模式。實(shí)際上具體的操作要跟選用的處理器的SDRAM控制模塊相結(jié)合來(lái)設(shè)置。對(duì)于這些初始化命令比較直觀的理解就是拿邏輯分析儀來(lái)分析。在這里需要提醒一下CAS這個(gè)參數(shù)很重要。還有SDRAM必須要刷新的,因此刷新頻率可以按照手冊(cè)算
5、出來(lái)的,但是設(shè)置的高一點(diǎn)也是可以的。常常SDRAM都有工作頻率,但是也可以工作在低一點(diǎn)的頻率上,比如PC133的,你工作到100也是可以的,設(shè)置基本不需要修改。3,其他我們有時(shí)候看到有的原理圖上數(shù)據(jù)線有倒過(guò)來(lái)接的,其實(shí)這個(gè)無(wú)所謂的,反過(guò)接,寫進(jìn)去的就是反的,但是讀出又反了一下,反反兩次正好沒反。延伸一下到DDR,其實(shí)DDR就是SDRAM外面加了一個(gè)烏龜殼。因此初始化是一樣的。當(dāng)然DDR一是多了一個(gè)把時(shí)鐘頻率反相的時(shí)鐘,因此有2個(gè)相位差180度的時(shí)鐘。這兩個(gè)一般都是用同一個(gè)時(shí)鐘源
6、產(chǎn)生,一致性會(huì)比較好。還有多了2個(gè)DQS,這個(gè)也是一個(gè)時(shí)序要求,一般CPU的控制模塊都有設(shè)置好了。如果你使用的CPU不含有控制模塊,那用FPGA去做一個(gè)控制模塊的話,那就要好好研究時(shí)序了。在有些處理器的控制模塊中,由于EMI的設(shè)置,地址線映射關(guān)系復(fù)雜,因此推算會(huì)比較麻煩,一般如果沒有什么映射的話,還是很容易操作的。4,補(bǔ)充:SDRAM的自動(dòng)刷新和自刷新刷新操作分為兩種:自動(dòng)刷新(AutoRefresh,簡(jiǎn)稱AR)與自刷新(SelfRefresh,簡(jiǎn)稱SR)。不論是何種刷新方式,都不需要外部提供
7、行地址信息,因?yàn)檫@是一個(gè)內(nèi)部的自動(dòng)操作。對(duì)于AR,SDRAM內(nèi)部有一個(gè)行地址生成器(也稱刷新計(jì)數(shù)器)用來(lái)自動(dòng)的依次生成行地址。由于刷新是針對(duì)一行中的所有存儲(chǔ)體進(jìn)行,所以無(wú)需列尋址,或者說(shuō)CAS在RAS之前有效。所以,AR又稱CBR(CASBeforeRAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,因此在刷新過(guò)程中,所有L-Bank都停止工作,而每次刷新所占用的時(shí)間為9個(gè)時(shí)鐘周期(PC133標(biāo)準(zhǔn)),之后就可進(jìn)入正常的工作狀態(tài),也就是說(shuō)在這9個(gè)時(shí)鐘期間內(nèi),所有工作指令只能等待而無(wú)法執(zhí)行。64ms之
8、后則再次對(duì)同一行進(jìn)行刷新,如此周而復(fù)始進(jìn)行循環(huán)刷新。顯然,刷新操作肯定會(huì)對(duì)SDRAM的性能造成影響,但這是沒辦法的事情,也是DRAM相對(duì)于SRAM(靜態(tài)內(nèi)存,無(wú)需刷新仍能保留數(shù)據(jù))取得成本優(yōu)勢(shì)的同時(shí)所付出的代價(jià)。SR則主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,這方面最著名的應(yīng)用就是STR(SuspendtoRAM,休眠掛起于內(nèi)存)。在發(fā)出AR命令時(shí),將CKE置于無(wú)效狀態(tài),就進(jìn)入了SR模式,此時(shí)不再依靠