SDRAM/DDR/DDR2學習筆記

在說明初始化之前先了解一下SDRAM的一些基礎知識吧.  

      SDRAM (Synchronous Dynamic Random Access Memory),同步動態隨機存儲器。同步是指其時鐘頻率與CPU的前端總線的系統時間頻率相同,並且他的內部命令的發送與數據的傳輸都是以這個時鐘爲基準的,動態是指存儲陣列需要不斷的刷新才能保證數據的不丟失。隨機是指數據不是線性存儲的,是可以自由指定地址進行數據讀寫。

      位寬:是指內存一次數據傳輸的數據量就是位寬,以位爲單位。

SDRAM的內部結構:
    SDRAM相當於一個excel,一個工作溥中有幾個工作表,每個工作表裏有行列。
    SDRAM中的一個bank就相當於excel中的一個工作表, SDRAM中的行(Column)與列(Row)相當於工作於中的行與列,我們對內存的讀寫就是根據bank 號 Column 、Row來準確的找到所需要的單元格(存儲陣列)。
    由於技術、成本等原因,不可能只做一個全容量的Bank,而且最重要的是,由於SDRAM的工作原理限制,單一的Bank將會造成非常嚴重的尋址衝突,大大降低了內存的效率,所以把SDRAM內部分割成多個Bank,較早以前是2個,目前市面上大多都是4個Bank的,

SDRAM容量的計算。
   SDRAM容量 =  單元格的總數(地址總數) X  位寬
        單元格的總數 = Bank數 X Column數 X ROW數

       如果要以字節爲單位的話,剛需要將SDRAM容量(bit) / 8(bit)

   型號爲:HY57V641620E的爲64Mbit (8M字節)位寬爲16bit 的SDRAM,內部結構爲4個Bank,Column數爲 8(CA0-CA7),Row數爲12(RA0- RA11),SDRAM的行地址線和列地址線是分時複用的,即地址要分兩次送出,先送出行地址,再送出列地址。這樣,可以大幅度減少地址線的數目。

       計算方法爲:每個bank的容量爲: 2 Row 次方 X 2 的Column X 16(bit) = 256 X4096  X 16  /1024 =  16384 bit = 16 Mbit = 2 M字節,再乘以bank 數就是64 Mbit (8M字節了),更簡單的方法是行列加起了相當於20根地址線,所以每個bank能訪問的地址空間是 2 的20次方 =  1048576 bit =  1M字節,但由於第次傳輸的數據位寬是16位,所以每個bank的空量是 16 Mbit ,總共有4個bank ,所以就有64Bbit的容量,換成字節單位就是8M字節。


初始化:

上電後,等到VDD和VDDQ穩定後並且CKE設爲高電平時。

1.將SDRAM的一些特性寫入配置寄存中,如,同步時間 ,列數,行數,CAS延時等,還有需要將數據線寬度寫入模式寄存器,這個數據寬度是要根據實妹的硬件接口寬度的。

2.  等待一個最少200us 的延時,這個根據不同的SDRAM可能不同

3.  向SDRAM 發一個NOP命令:應用程序需要把模式模式寄存器寫爲模式1並寫一個數到任意地址

4. 設置所有Bank 預衝電(precharge):應用程序需要將模式寄存器設置爲模式2並下任意地址寫入數據,可能需要延時.

     實際上,預充電是一種對工作行中所有存儲體進行數據重寫,並對行地址進行復位,同時釋放S-SMP(重新加入比較電壓,一般是電容電壓的1/2,以有助於判斷讀取數據的邏輯電平,,S-AMP是通過一個參考電壓與存儲體的電壓比較來判斷邏輯值的),以用來準備新的工作。

5. 自動刷新(auto refresh). 提供8個自動刷新時序。將模式寄存器切換到 第四種方式,並向任意地址寫一個數據,重複8次。

    刷新說明,因爲SDRAM需要不斷的進行刷新,所在稱作爲動態內存-DRAM,刷新操作有兩種,一種是Auto Reresh,簡稱AR,另一種是Self Refresh ,簡稱是SR,但不管是哪種刷新方法,都不需要外部提供行地址住處,因爲他們都是內部的自動操作。結於AR,SDRAM有一個行地址生成器(也稱亻刷新計數器)用來自動依次生成行地址。由於刷新是針對一行中所有存儲單無際是行的,所以無需列尋址,或都說CAS在RAS之前,所以AR在有的地方叫作 CBR(意思是CAS Before RAS)式刷新。

      刷新時間,目前公認的標準是,存儲單元中電容的數據有效保存上限是64ms(1000ms = 1 s),也就是說每一行新的循環週期是64ms,我們在有的內存上看這樣樣的參數4096 Refresh Cycles/64ms之類的信息,從中可以看出,這個內存的行是  

 12行,相當於每一行就行地址的掃描時間是64ms / 4096 = 15.625us(1000us = 1ms)。

 

6. 設置CAS延時與突發長度。數據將模式寄存器設置爲第三種模式,然後向寫入任意數據。

     空發時間Burst  Length :空髮長度是什麼呢,如果突發長度(BL)爲4,那就是每次傳輸的的是4 X W(數據寬度)的數據,這樣就可能造成第二筆數據是不需要的,這就引入了數據掩碼(DQM)技術,通過DQM,,內存可以控制I/O數據取消哪些輸出或輸入的數據。 

7,設置爲正常工作模式,然後向SDRAM寫入任意

8.將刷新率寫入SDRAM的刷新計數器中,刷新率=刷新週期之間的延遲。

以上初始化的基於MCU是at91sram7se,SDRAM是HY57V641620XXX   



內存顆粒識別

  看看如今CPU的發展,頻率一再衝高,二級緩存也一路飆升。但是CPU速度越來越快,是不是整個系統的性能提升了嗎?當然不是!如果把整個系統 比喻成一個木水桶,它性能就好比是水桶的盛水量,那系統的各個配件就是組成水桶的木板。如果其中一片木板短了一截,整個水桶的盛水量就會跟着降下來。換言 之,要使整個電腦系統的每個配件都發揮全部功效,那就要求配件之間不存在所謂的“瓶勁”。在衆多的瓶勁中,內存方面的瓶勁尤爲突出。如何挑選適合自己的內 存條,成爲很多DIYer們考慮的重要問題。

  首先,你要了解自己的CPU到底是個什麼“樣子”。這裏的樣子就是CPU自己的帶寬大小。比如說P43.0c的外頻是200MHz,前端總線頻 率高達800MHz,而它提供的前端總線帶寬是64位總線位寬×200 MHz系統外頻×4倍/8=6400MB/s。要讓系統不會出現瓶勁,那我們就要讓內存的帶寬也要達到6400MB/s。如果是在以前,這在技術上根本就 不可能,不過電腦廠商們從另外一個方面解決了這個問題,那就是內存的雙通道DDR技術!所謂雙通道,它是相對於以前的單通道來說的。在單通道時代,無論你 插上幾根內存條,內存總帶寬就是單條內存的帶寬,就算是現在,除了I850E支持的Rambus PC1066規範外,根本沒有內存可以滿足處理器的需要。而雙通道DDR技術,是一種可以讓2條DDR內存共同使用,數據並行傳輸的技術。雙通道DDR技 術的優勢在於,它可以讓內存帶寬在原來的基礎上增加一倍,這對於P4處理器來說,可謂最佳搭配。不過要說明一點,雙通道DDR技術並不只是針對P4的超線 程技術而言的。就拿FSB533MHz的P4處理器來說,其本身帶寬達到4.3G/s,而一條DDR333的帶寬僅僅有2.7G/s,就算是現在當紅的 DDR400的帶寬也就3.2G/s。所以說雙通道DDR技術的出現,在很大程度上解決了CPU“好漢使不出力”的情況,使主板、CPU、內存之間的傳輸 速率達到更好的協調。

  其次,對內存本身的選擇,主要注意以下幾個方面:

首先是內存的做工和用料。

 內存的做工和用料的好壞主要體現在PCB板質量、.佈線設計是否合理、.使用的內存顆粒的質量等級和品牌自由品質控制。隨着電腦芯片的頻率增加, 穩定性也越來越重要,所以現在品牌內存大多采用6層板,目的就是爲了設計具有完整的電源層和其他層,且完善的過濾雜波,來保證內存穩定的高速運轉。而內存 顆粒的品質,一般人較難辨別,不過名牌內存條一般都會採用A級內存顆粒,質量絕對有保障,所以在這裏向大家推薦買內存條的時候最好選名牌,這已經不僅僅是 錢的問題了,一不小心搞到一條差的內存條,輕側讓你身心疲憊,重則還要多花上幾百塊錢重新購買,真是欲哭無淚呀~~~(現在市場上主流的名牌內存 有:KINGSTONE,KINGMAX,金邦,三星金條等)

此外還要注意內存的remark!!

  提起remark,實在是讓我們這些消費者深惡痛絕。俗話說,誠信第一,但那些JS就是要擺你一道,稍微不留神就要被“黑”。本人少說也幫人裝 過幾十臺電腦,對電腦硬件還算略知一二,去年幫一哥們裝機,就遇到被JS黑內存的狀況。所以一氣之下,回家上網收集了一下識別內存編號的文章,在這裏拿出 來給大家分享一下:

三星顆粒 

  一、三星顆粒一般以KM開頭 

  二、內存顆粒類型:4表示DDR SDRAM 

  三、芯片輸出的數據位寬:40、80、16、32分別代表4位、8位、16位和32位 

  四、工作電壓:H=DDR SDRAM,3.3V、L=DDR SDRAM,2.5V 

  五、內存顆粒位數:4:4Mbit、8:8 Mbit、16:16 Mbit、32:32 Mbit、64:64 Mbit、12:128 Mbit、25:256 Mbit、51:512 Mbit 

  六、芯片容量及刷新速度:0:64m /4K [15.6μs]、1:32m/2K [15.6μs]、2:128m/8K [15.6μs]、3:64m/8K [7.8μs]、4:128m/16K [7.8μs] 

  七、內存BANK:3:4排、4:8排

  八、電壓:混合接口LVTTL+SSTL3(3.3V)、1:SSTL2(2.5V) 

  九、封裝類型:T:66針TSOP II、B:BGA、C:微型BGA(CSP) 

  十、工作頻率:0:10ns、100MHz(200Mbps);8:8ns、125MHz(250Mbps);Z:7.5ns、 133MHz(266Mbps);Y:6.7ns、150MHz(300Mbps);6:6ns、166MHz(333Mbps);5:5ns、 200MHz(400Mbps)

HYUNDAI

  一、HY是現代顆粒的標誌

  二、內存顆粒類型:(57=SDRAM,5D=DDR SDRAM); 

  三、工作電壓:空白=5V,V=3.3V,U=2.5V  

  四、芯片容量和刷新速率:16=16Mbits、4K Ref;64=64Mbits、8K Ref;65=64Mbits、4K Ref=128Mbits、8K Ref;129=128Mbits、4K Ref;256=256Mbits、16K Ref;257=256Mbits、8K Ref

  五、芯片輸出的數據位寬:40、80、16、32分別代表4位、8位、16位和32位 

  六、內存BANK:1、2、3分別代表2個、4個和8個Bank,是2的冪次關係 

  七、電壓代表:1:SSTL_3、2:SSTL_2 

  八、芯片版本:可以爲空白或A、B、C、D等字母,越往後代表內核越新 

  九、功耗:L=低功耗芯片,空白=普通芯片 

  十、封裝類型:JC=400mil SOJ,TC=400mil TSOP-Ⅱ,TD=13mm TSOP-Ⅱ,T TG=16mm TSOP-Ⅱ  

  十一、工作頻率:55 :183MHZ、5 :200MHZ、45 :222MHZ、43 :233MHZ、4 :250MHZ、33 :300NHZ、L :DDR200、H :DDR266B、K :DDR266A


Micron(美光)

  一、 MT是代表Micron的產品 

  二、內存顆粒類型:48=SDRAM、4=DRAM、46=DDR SDRAM、6=Rambus 

  三、工作電壓:C=5V Vcc CMOS,LC=3.3V Vdd CMOS,V=2.5V Vdd CMOS 

  四、設備號碼

  五、內存容量:無字母=Bits,K=Kilobits(KB),M=Megabits(MB),G=Gigabits(GB) 

  六、芯片輸出的數據位寬:4、8、16、32分別代表4位、8位、16位和32位 

  七、代表封裝:TG=TSOPⅡ封裝,DJ=SOJ,DW=寬型SOJ,F=54針4行FBGA,FB=60 針8*16 FBGA,FC=60針11*13 FBGA,FP=反轉芯片封裝,FQ=反轉芯片密封,F1=62針2行FBGA,F2=84針2行FBGA,LF=90針 FBGA,LG=TQFP,R1=62針2行微型FBGA,R2=84針2行微型FBGA,U=μ BGA 

  八、內存顆粒速度:分爲四大類 DRAM SD RAMBUS DDR

  1、DRAM 

  -4=40ns,-5=50ns,-6=60ns,-7=70ns 

  2、SDRAM,x32 DDR SDRAM(時鐘頻率 @ CL3) 

  -15=66MHz,-12=83MHz,-10+=100MHz,-8x+=125MHz,-75+=133MHz,-7x+=143MHz,- 65=150MHz,-6=167MHz,-55=183MHz,-5=200MHz 

  3、DDR SDRAM(x4,x8,x16)時鐘頻率 @ CL=2.5 

  -8+=125MHz,-75+=133MHz,-7+=143MHz 

  4、Rambus(時鐘頻率) 

  -4D=400MHz 40ns,-4C=400MHz 45ns,-4B=400MHz 50ns,-3C=356MHz 45ns,-3B=356MHz 50ns,-3M=300MHz 53ns 

+的含義 

  -8E支持PC66和PC100(CL2和CL3) 

  -75支持PC66、PC100(CL2和CL3)、PC133(CL=3) 

  -7支持PC66、PC100(CL2和CL3)、PC133(CL2和CL3) 

  -7E支持PC66、PC100(CL2和CL3)、PC133(CL2+和CL3) 

  -8支持PC200(CL2) 

  -75支持PC200(CL2)和PC266B(CL=2.5) 

  -7支持PC200(CL2),PC266B(CL2),PC266A(CL=2.5)。 

  九、功耗:L=低耗,blank=普通

WINBOND(華邦)

  一、W表示內存顆粒是Winbond生產 

  二、內存類型:98爲SDRAM,94爲DDR RAM  

  三、內存的版本號:常見的版本號爲B和H; 

  四、封裝類型,H爲TSOP封裝,B爲BGA封裝,D爲LQFP封裝 

  五、工作時鐘頻率:0:10ns、100MHz;8:8ns、125MHz;Z:7.5ns、133MHz;Y:6.7ns、 150MHz;6:6ns、166MHz;5:5ns、200MHz 

  但現今有一部分內存條在內存顆粒表面覆蓋上了散熱金屬片,那這就看不到顆粒上的編碼。這時候我們可以用一款內存檢測軟件來識別,他就是最近走紅的AIDA。通過它我們可以輕易地看到內存的真面目。

  最後,內存品牌並不是代表內存顆粒的品牌,這一點要十分注意。不是說散裝HY內存顆粒的內存條就是HY原廠內存, 那些往往就是一些散戶加工而成,質量總的來說沒什麼保障。同樣的,作爲世界第一大內存生產廠商的Kingston,其使用的內存顆粒確是五花八門,既有 Kingston自己顆粒的產品,更多的則是現代(Hynix)、華邦(Winbond)、三星(Samsung)、南亞(Nanya)、英飛凌 (Infinoen)、美光(Micron)等等衆多廠商的內存顆粒。JS的騙人手法天天在變,所以我們也要用知識武裝自己,買之前一定要先了解清楚,務 必打贏每一次DIY商戰

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章