日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

轉(zhuǎn)【 SDRAM學(xué)習(xí)筆記】

 千海之貝 2011-08-06

 SDRAM學(xué)習(xí)筆記

1.SDRAM的burst mode:SDRAM是一種命令型動(dòng)作的設(shè)備,就算讀寫資料只有一個(gè)也要先下命令才可以用,為了增加工作效率,就產(chǎn)生了一種傳送一個(gè)命令,寫多個(gè)數(shù)據(jù)的模式,這就是burst mode。
burst mode是一種利用內(nèi)部列地址發(fā)生器來(lái)工作的高速讀寫模式,只要設(shè)置最開始的列地址,后面的地址就可以通過(guò)內(nèi)部的列地址發(fā)生器來(lái)自動(dòng)生成。

2.為什么要做precharge動(dòng)作? 關(guān)閉正在作用的SDRAM bank,算是一種結(jié)束命令,后面可以下新的命令。我想這是和SDRAM內(nèi)部管理有關(guān)。(這是從網(wǎng)上查到的,感覺(jué)不夠詳細(xì),也不太理解)

3.自動(dòng)刷新功能?動(dòng)態(tài)存儲(chǔ)器(Dynamic RAM)都存在刷新問(wèn)題。這里主要采用自動(dòng)刷新方式,每隔一段時(shí)間向SDRAM發(fā)一條刷新命令。

4.SDRAM的地址線:在我們一般用的什么SRAM啊,PSRAM啊,RAM啊,一般而言都是有多少根地址線,然后可以算出尋址空間,比如有11根地址線,那尋址空間就是2的11次方減1。但是SDRAM是分列地址和行地址的,行、列地址線是復(fù)用的,所以有時(shí)候我們看到說(shuō)尋址空間有多大多大,但是看看地址線怎么就那么幾根啊,呵呵。SDRAM一般還有2根BANK的線,分成4個(gè)BANK,在有的處理器的SDRAM控制模塊中,這兩根線可能映射到地址線的某兩根去。一般芯片常按照以下方式寫芯片的配置,比如4Meg x 4 x 16,那這個(gè)芯片就是256Mbits。其中16指數(shù)據(jù)線是16根,中間一個(gè)4是只分4個(gè)BANK, 每個(gè)BANK是4Meg。

5.SDRAM的初始化:
SDRAM上電后使用前必須要經(jīng)過(guò)一段初始化操作才可以使用。這個(gè)操作過(guò)程是標(biāo)準(zhǔn)的過(guò)程。這個(gè)過(guò)程如下

A:   precharge

B:   auto-refresh

C:   Load Mode Register

D: Normal Read/Write

在上電后輸入初始化命令值錢,最少要100us延遲(這個(gè)其實(shí)很容易滿足,呵呵)。

在輸入precharge命令后,因?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è)讀寫操作還是burst操作下。而這個(gè)寄存器的設(shè)置也是通過(guò)地址線來(lái)設(shè)置的,所以在發(fā)出Load Mode Register命令后要做一個(gè)操作可是使得在SDRAM的地址線上出線的值就是你要設(shè)置的值。這里很有必要提醒的一下的是,這個(gè)操作是8位的操作,切記切記。

設(shè)置完模式寄存器后就進(jìn)入正常操作模式。

實(shí)際上具體的操作要跟選用的處理器的SDRAM控制模塊相結(jié)合來(lái)設(shè)置。對(duì)于這些初始化命令比較直觀的理解就是拿邏輯分析儀來(lái)分析。

在這里需要提醒一下CAS這個(gè)參數(shù)很重要。還有SDRAM必須要刷新的,因此刷新頻率可以按照手冊(cè)算出來(lái)的,但是設(shè)置的高一點(diǎn)也是可以的。常常SDRAM都有工作頻率,但是也可以工作在低一點(diǎn)的頻率上,比如PC133的,你工作到100也是可以的,設(shè)置基本不需要修改。

6.基本讀寫操作:
SDRAM的基本讀操作需要控制線和地址線相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應(yīng)的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD(SDRAM的RAS到CAS的延遲指標(biāo))時(shí)間后,發(fā)出讀命令字。CL(CAS延遲值)個(gè)工作時(shí)鐘后,讀出數(shù)據(jù)依次出現(xiàn)在數(shù)據(jù)總線上。在讀操作的最后,要向SDRAM發(fā)出預(yù)充電(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHARGE)命令,以關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間(PRECHAREG命令后,相隔tRP時(shí)間,才可再次訪問(wèn)該行)后,可以開始下一次的讀、寫操作。SDRAM的讀操作只有突發(fā)模式(Burst Mode),突發(fā)長(zhǎng)度為1、2、4、8可選。

SDRAM的基本寫操作也需要控制線和地址線相配合地發(fā)出一系列命令來(lái)完成。先發(fā)出BANK激活命令(ACTIVE),并鎖存相應(yīng)的BANK地址(BA0、BA1給出)和行地址(A0~A12給出)。BANK激活命令后必須等待大于tRCD的時(shí)間后,發(fā)出寫命令字。寫命令可以立即寫入,需寫入數(shù)據(jù)依次送到DQ(數(shù)據(jù)線)上。在最后一個(gè)數(shù)據(jù)寫入后延遲tWR時(shí)間。發(fā)出預(yù)充電命令,關(guān)閉已經(jīng)激活的頁(yè)。等待tRP時(shí)間后,可以展開下一次操作。寫操作可以有突發(fā)寫和非突發(fā)寫兩種。突發(fā)長(zhǎng)度同讀操作。

7.其他:我們有時(shí)候看到有的原理圖上數(shù)據(jù)線有倒過(guò)來(lái)接的,其實(shí)這個(gè)無(wú)所謂的,反過(guò)接,寫進(jìn)去的就是反的,但是讀出又反了一下,反反兩次正好沒(méi)反。

延伸一下到DDR,其實(shí)DDR就是SDRAM外面加了一個(gè)烏龜殼。因此初始化是一樣的。當(dāng)然DDR一是多了一個(gè)把時(shí)鐘頻率反相的時(shí)鐘,因此有2個(gè)相位差180度的時(shí)鐘。這兩個(gè)一般都是用同一個(gè)時(shí)鐘源產(chǎn)生,一致性會(huì)比較好。還有多了2個(gè)DQS,這個(gè)也是一個(gè)時(shí)序要求,一般CPU的控制模塊都有設(shè)置好了。如果你使用的CPU不含有控制模塊,那用FPGA去做一個(gè)控制模塊的話,那就要好好研究時(shí)序了。

在有些處理器的控制模塊中,由于EMI的設(shè)置,地址線映射關(guān)系復(fù)雜,因此推算會(huì)比較麻煩,一般如果沒(méi)有什么映射的話,還是很容易操作的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多