娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

S3C2440核心板原理圖設計:與SDRAM接線分析

發(fā)布者:科技驛站最新更新時間:2019-05-22 來源: eefocus關鍵字:S3C2440  SDRAM  接線分析 手機看文章 掃描二維碼
隨時隨地手機看文章

SDRAM(Synchronous Dynamic Random Access Memory,同步動態(tài)隨機存儲器)也就是通常所說的內(nèi)存。內(nèi)存的工作原理、控制時序、及相關控制器的配置方法一直是嵌入式系統(tǒng)學習、開發(fā)過程中的一個難點。我們從其硬件的角度來分析其原理,然后再引出SDRAM的驅(qū)動編寫過程。

內(nèi)存是代碼的執(zhí)行空間,以PC機為例,程序是以文件的形式保存在硬盤里面的,程序在運行之前先由操作系統(tǒng)裝載入內(nèi)存中,由于內(nèi)存是RAM(隨機訪問存儲器),可以通過地址去定位一個字節(jié)的數(shù)據(jù),CPU在執(zhí)行程序時將PC的值設置為程序在內(nèi)存中的開始地址, CPU會依次的從內(nèi)存里取址,譯碼,執(zhí)行,在內(nèi)存沒有被初始化之前,內(nèi)存好比是未建好的房子,是不能讀取和存儲數(shù)據(jù)的,因此我們要想讓MTOS運行在內(nèi)存里必須進行內(nèi)存的初始化。

通用存儲設備:

在介紹內(nèi)存工作原理之前有必要了解下存儲設備的存儲方式:ROM,RAM

l  ROM(Read-Only Memory):只讀存儲器,是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導體存儲器。其特性是一旦儲存資料就無法再將之改變或刪除。通常用在不需經(jīng)常變更資料的電子或電腦系統(tǒng)中,資料并且不會因為電源關閉而消失。如:PC里面的BIOS。

l  RAM(Random Access Memory) :隨機訪問存儲器,存儲單元的內(nèi)容可按需隨意取出或存入,且存取的速度與存儲單元的位置無關的存儲器。可以理解為,當你給定一個隨機有效的訪問地址,RAM會返回其存儲內(nèi)容(隨機尋址),它訪問速度與地址的無關。這種存儲器在斷電時將丟失其存儲內(nèi)容,故主要用于存儲短時間內(nèi)隨機訪問使用的程序。計算機系統(tǒng)里內(nèi)存地址是一個四字節(jié)對齊的地址(32位機),CPU的取指,執(zhí)行,存儲都是通過地址進行的,因此它可以用來做內(nèi)存。

RAM按照硬件設計的不同,隨機存儲器又分為DRAM(Dynamic RAM)動態(tài)隨機存儲器和SRAM(Static RAM) 靜態(tài)隨機存儲器。

l  DRAM:它的基本原件是小電容,電容可以在兩個極板上短時間內(nèi)保留電荷,可以通過兩極之間有無電壓差代表計算機里的0和1,由于電容的物理特性,要定期的為其充電,否則數(shù)據(jù)會丟失。對電容的充電過程叫做刷新,但是制作工藝較簡單,體積小,便于集成化,經(jīng)常做為計算機里內(nèi)存制作原件。比如:PC的內(nèi)存,SDRAM, DDR, DDR2, DDR3等,缺點:由于要定期刷新存儲介質(zhì),存取速度較慢。

l  SRAM:它是一種具有靜止存取功能的內(nèi)存,不需要刷新電路即能保存它內(nèi)部存儲的數(shù)據(jù)。因此其存取速度快,但是體積較大,功耗大,成本高,常用作存儲容量不高,但存取速度快的場合,比如CPU的L1 cache,L2cache(一級,二級緩存) ,寄存器。

 

為了滿足開發(fā)的需要MINI2440在出廠時搭載了三種存儲介質(zhì):

(1)NOR FLASH(2M):ROM存儲器,通常用來保存BootLoader,引導系統(tǒng)啟動

(2)NAND FLASH(256M,型號不一樣,Nandflash大小不一樣):保存操作系統(tǒng)映像文件和文件系統(tǒng)

(3)SDRAM(64M):內(nèi)存,執(zhí)行程序

l  NORFLASH:它的特點是支持XIP芯片內(nèi)執(zhí)行(eXecute In Place),這樣應用程序可以直接在Flash閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中,也就是說可以隨機尋址。NOR FLASH的成本較高。

l  NAND FLASH:它能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。其成本較低,不支持XIP。可做嵌入式里的數(shù)據(jù)存儲介質(zhì)。如:手機存儲卡,SD卡等。

S3C2440存儲器地址段(Bank)

S3C2440對外引出了27根地址線ADDR0~ADDR26,它最多能夠?qū)ぶ?28MB,而S3C2440的尋址空間可以達到1GB,這是由于S3C2440將1GB的地址空間分成了8個BANKS(Bank0~Bank7),其中每一個BANK對應一根片選信號線nGCS0~nGCS7,當訪問BANKx的時候,nGCSx管腳電平拉低,用來選中外接設備, S3C2440通過8根選信號線和27根地址線,就可以訪問1GB。如圖2-48所示。

 

圖2-48 S3C2440存儲器BANK

如圖所示,左側圖對應不使用Nandflash啟動時(通過跳線設置),存儲器Bank分布圖,通常在這種啟動方式里選擇Norflash啟動,將Norflash焊接在Bank0, 系統(tǒng)上電后,CPU從Bank0的開始地址0x00000000開始取指運行。

上圖右側是選擇從Nandflash引導啟動(通過跳線設置),系統(tǒng)上電后,CPU會自動將Nandflash里前4K的數(shù)據(jù)復制到S3C2440內(nèi)部一個4K大小 SRAM類型存儲器里(叫做Steppingstone),然后從Steppingstone取指啟動。

其中Bank0~Bank5可以焊接ROM或SRAM類型存儲器,Bank6~Bank7可以焊接ROM,SRAM,SDRAM類型存儲器,也就是說,S3C2440的SDRAM內(nèi)存應該焊接在Bank6~Bank7上,最大支持內(nèi)存256M,Bank0~Bank5通常焊接一些用于引導系統(tǒng)啟動小容量ROM,具體焊接什么樣存儲器,多大容量,根據(jù)每個開發(fā)板生產(chǎn)商不同而不同,比如MINI2440開發(fā)板將2M的Norflash焊接在了Bank0上,用于存放系統(tǒng)引導程序Bootloader,將兩片32M,16Bit位寬SDRAM內(nèi)存焊接在Bank6和Bank7上,并聯(lián)形成64M,32位內(nèi)存。

由于S3C2440是32位芯片,理論上講可以達到4GB的尋址范圍,除去上述8個BANK用于連接外部設備,還有一部分的地址空間是用于設備特殊功能寄存器,其余地址沒有被使用。

表2-14 S3C2440設備寄存器地址空間

外接設備

起始地址

結束地址

存儲控制器

0x48000000

0x48000030

USB Host控制器

0x49000000

0x49000058

中斷控制器

0x4A000000

0x4A00001C

DMA

0x4B000000

0x4B0000E0

時鐘和電源管理

0x4C000000

0x4C000014

LCD控制器

0x4D000000

0x4D000060

NAND FLASH控制器

0x4E000000

0x4E000014

攝像頭接口

0x4F000000

0x4F0000A0

UART

0x50000000

0x50008028

脈寬調(diào)制計時器

0x51000000

0x51000040

USB設備

0x52000140

0x5200026F

WATCHDOG計時器

0x53000000

0x53000008

IIC控制器

0x54000000

0x5400000C

IIS控制器

0x55000000

0x55000012

I/O端口

0x56000000

0x560000B0

實時時鐘RTC

0x57000040

0x5700008B

A/D轉換器

0x58000000

0x58000010

SPI

0x59000000

0x59000034

SD接口

0x5A000000

0x5A000040

AC97音頻編碼接口

0x5B000000

0x5B00001C

內(nèi)存工作原理

SDRAM的內(nèi)部是一個存儲陣列。陣列就如同表格一樣,將數(shù)據(jù)“填”進去。在數(shù)據(jù)讀寫時和表格的檢索原理一樣,先指定一個行(Row),再指定一個列 (Column),我們就可以準確地找到所需要的單元格,這就是內(nèi)存芯片尋址的基本原理,如圖2-49所示。

 

圖2-49內(nèi)存行,列地址尋址示意圖

這個單元格(存儲陣列)就叫邏輯 Bank(Logical Bank,下文簡稱 L-Bank)。 由于技術、成本等原因,不可能只做一個全容量的 L-Bank,而且最重要的是,由于 SDRAM的工作原理限制,單一的 L-Ban k將會造成非常嚴重的尋址沖突,大幅降低內(nèi)存效率。所以人們在 SDRAM內(nèi)部分割成多個 L-Bank,目前基本都是 4個(這也是SDRAM規(guī)范中的最高L-Bank數(shù)量),由此可見,在進行尋址時就要先確定是哪個 L-Bank,然后在這個選定的 L-Bank中選擇相應的行與列進行尋址。因此對內(nèi)存的訪問,一次只能是一個 L-Bank工作。如圖2-50:

 

圖2-50內(nèi)存存儲單元

當對內(nèi)存進行操作時(見下圖),先要確定操作L-Bank,因此要對L-Bank進行選擇。在內(nèi)存芯片的外部管腳上多出了兩個管腳BA0, BA1,用來片選4個L-Bank。如前所述, 32位的地址長度由于其存儲結構特點,分成了行地址和列地址。通過下面的內(nèi)存結構圖可知,內(nèi)存外接管腳地址線只有13根地址線A0~A12,它最多只能尋址8M內(nèi)存空間,到底使用什么機制來實現(xiàn)對64M內(nèi)存空間進行尋址的呢?SDRAM的行地址線和列地址線是分時復用的,即地址要分兩次送出,先送出行地址(nSRAS行有效操作),再送出列地址(nSCAS列有效操作)。這樣,可以大幅度減少地址線的數(shù)目,提高器件的性能和制作工藝復雜度。但尋址過程也會因此而變得復雜。實際上,現(xiàn)在的SDRAM一般都以L-Bank為基本尋址對象的。由L-Bank地址線BAn控制L-Bank間的選擇,行地址線和列地址線貫穿連接所有的L-Bank,每個L-Bank的數(shù)據(jù)的寬度和整個存儲器的寬度相同,這樣,可以加快數(shù)據(jù)的存儲速度。同時,BAn還可以使未被選中的L-Bank工作于低功耗的模式下,從而降低器件的功耗。

 

 

圖2-51 HY57561620內(nèi)部結構圖

 

開發(fā)板內(nèi)存控制器管腳接線(以MINI2440開發(fā)板為例):

(1)確定BA0、BA1的接線

表2-15 BA0、BA1接線

 

 

Bank Size: 外接內(nèi)存容量大小(HY57561620是4Mbit*16bit*4Bank*2Chips/8=64MB)

Bus Width: 總線寬度 (兩片16位HY57561620,并聯(lián)成32位)
Base Component:單個芯片容量(bit)(256Mb)
Memory Configration:內(nèi)存配置 ((4M*16*4banks)*2Chips )

由硬件手冊Bank Address管腳連接配置表可知,使用A[25:24]兩根地址線作為Bank片選信號,正好兩根接線可以片選每個存儲單元的4個BANKS。

(2)確定其它接線

SDRAM內(nèi)存是焊接在BANK6~BANK7上的,其焊接管腳,如圖2-52:

 

圖2-52 S3C2440 16位寬內(nèi)存芯片

上圖是S3C2440提供的兩片16位芯片并聯(lián)連接示意圖,An是CPU地址總線,其中A2~A14為內(nèi)存芯片尋址總線,之所以地址尋址總線從A2開始是因為內(nèi)存地址都是按字節(jié)對齊的,,A24,A25為L-Bank片選信號,Dn為CPU數(shù)據(jù)總線,其它為對應控制信號線。

表2-16 內(nèi)存芯片各管腳說明

外接管腳名

內(nèi)接管腳名

全稱

描述

A2~A14

A0~A12

Address

地址線

D0 ~D31

DQ0~DQ31

Data Input/Output

數(shù)據(jù)線

A24,A25

BA0,BA1

Bank Address

L-BANK片選信號

DQM0~DQM3

LDQM, UDQM

Data Input/Output Mask

高,低字節(jié)數(shù)據(jù)掩碼信號

SCKE

SCKE

Clock Enable

輸入時鐘有效信號

SCLK

SCLK

Clock

輸入時鐘

nSCS0

nSCS

General Chip Select

片選信號(它與nGCS6是同一管腳的兩個功能)

nSRAS

nSRAS

Row Address Strobe

行地址選通信號

nSCAS

nSCAS

Column Address Strobe

列地址選通信號

nWE

newnWE

Write Enable

寫入有效信號

我們通過S3C2440 16位寬內(nèi)存芯片接線圖可以看出,兩片內(nèi)存芯片只有兩個地方不一樣,LDQM, UDQM和數(shù)據(jù)總線DQn接線方式不一樣。

由于存儲芯片位寬為16位,一次可以進行兩個字節(jié)的讀取。但是,通常操作系統(tǒng)里最小尋址單位是1字節(jié),因此內(nèi)存控制器必須要保證可以訪問內(nèi)存里每一個字節(jié)。UDQM ,LDQM分別代表16位數(shù)據(jù)的高,低字節(jié)讀取信號,當讀取數(shù)據(jù)時,LDQM /UDQM分別用來控制16位數(shù)據(jù)中高低字節(jié)能否被讀取,當LDQM /UDQM為低電平時,對應的高/低字節(jié)就可以被讀取,如果LDQM /UDQM為高電平時,對應的高/低字節(jié)就不能被讀取。當向內(nèi)存里寫入數(shù)據(jù)時,LDQM /UDQM控制數(shù)據(jù)能否被寫入,當LDQM /UDQM為低電平時,對應的高/低字節(jié)就可以被寫入,如果LDQM /UDQM為高電平時,對應的高/低字節(jié)就不能被寫入。通過對LDQM /UDQM信號的控制可以控制對兩個存儲芯片存儲數(shù)據(jù),由于兩個存儲單元的地址線是通用的,他們都能接收到CPU發(fā)出的地址信號,但是,發(fā)給兩個存儲單元的LDQM /UDQM信號是不同的,以此來區(qū)分一個字的高低字節(jié)。

S3C2440A為32位CPU,也就是說其數(shù)據(jù)總線和地址總線寬度都是32位(可以理解為32根線一端連接CPU內(nèi)部,另外一端連接向內(nèi)存控制器),那么內(nèi)存數(shù)據(jù)的輸入/輸出端也要保證是32位總線,MINI2440上采用兩片16位寬總線內(nèi)存芯片并聯(lián)構成32位總線。其中一個芯片連接到CPU數(shù)據(jù)總線的低16位,另外一個芯片連接到數(shù)據(jù)總線上的高16位,并聯(lián)成32位總線,因此兩個芯片的輸入/輸出總線連接到CPU總線上的不同管腳上。

SDRAM的讀操作

SDRAM進行讀操作時,先向地址線上送上要讀取數(shù)據(jù)的地址,通過前面的知識了解到,地址被分成3部分,行地址,列地址,L-Bank片選信號。片選(L-Bank的定址)操作和行有效操作可以同時進行。

在CS、L-Bank定址的同時,RAS(nSRAS行地址選通信號)也處于有效狀態(tài)。此時 An地址線則發(fā)送具體的行地址。A0~A12,共有13根地址線(可表示8192行),A0~A12的不同數(shù)值就確定了具體的行地址。由于行有效的同時也是相應 L-Bank有效,所以行有效也可稱為L-Bank有效。

行地址確定之后,就要對列地址進行尋址了。但是,地址線仍然是行地址所用的 A0~A12。沒錯,在SDRAM中,行地址與列地址線是復用的。列地址復用了A0~A8,共9根(可表示512列)。那么,讀/寫的命令是怎么發(fā)出的呢?其實沒有一個信號是發(fā)送讀或?qū)懙拿鞔_命令的,而是通過芯片的可寫狀態(tài)的控制來達到讀/寫的目的。顯然WE信號(nWE)就是一個關鍵。WE無效時,當然就是讀取命令。有效時,就是寫命令。

SDRAM基本操作命令, 通過各種控制/地址信號的組合來完成(H代表高電平,L代表低電平,X表示高,低電平均沒有影響)。此表中,除了自刷新命令外,所有命令都是默認CKE(SCKEl輸入時鐘頻率有效)有效。列尋址信號與讀寫命令是同時發(fā)出的。雖然地址線與行尋址共用,但CAS(nSCAS列地址選通信號)信號則可以區(qū)分開行與列尋址的不同,配合A0~A8,A9~A11來確定具體的列地址。

讀取命令與列地址一塊發(fā)出(當WE為低電平是即為寫命令)然而,在發(fā)送列讀寫命令時必須要與行有效命令有一個間隔,這個間隔被定義為 tRCD,即RAS to CAS Delay(RAS至 CAS延遲),這個很好理解,在地址線上送完行地址之后,要等到行地址穩(wěn)定定位后再送出列地址,tRCD是SDRAM的一個重要時序參數(shù),相關數(shù)值參看對應芯片硬件手冊。通常tRCD以時鐘周期(tCK,Clock Time)數(shù)為單位,比如筆者MINI2440所用內(nèi)存芯片里面寫到tRCD為20nst,如果將來內(nèi)存工作在100MHz,那么RCD至少要為2個時鐘周期, RCD=2。

 

圖2-53 SDRAM讀操作時序圖

在選定列地址后,就已經(jīng)確定了具體的存儲單元,剩下就是等待數(shù)據(jù)通過數(shù)據(jù) I/O通道(DQ)輸出到內(nèi)存數(shù)據(jù)總線上了。但是在列地址選通信號CAS 發(fā)出之后,仍要經(jīng)過一定的時間才能有數(shù)據(jù)輸出,從CAS與讀取命令發(fā)出到第一筆數(shù)據(jù)輸出的這段時間,被定義為 CL(CAS Latency,CAS潛伏期)。由于CL只在讀取時出現(xiàn),所以CL又被稱為讀取潛伏期(RL,Read Latency)。CL的單位與tRCD一樣,也是時鐘周期數(shù),具體耗時由時鐘頻率決定(筆者官方手冊CL=3)。不過,CAS并不是在經(jīng)過CL周期之后才送達存儲單元。實際上CAS與RAS一樣是瞬間到達的。由于芯片體積的原因,存儲單元中的電容容量很小,所以信號要經(jīng)過放大來保證其有效的識別性,這個放大/驅(qū)動工作由S-AMP負責。但它要有一個準備時間才能保證信號的發(fā)送強度,這段時間我們稱之為tAC(Access Time from CLK,時鐘觸發(fā)后的訪問時間)。

SDRAM預充電操作

從存儲體的結構圖上可以看出,原本邏輯狀態(tài)為1的電容在讀取操作后,會因放電而變?yōu)檫壿?。由于SDRAM的尋址具有獨占性,所以在進行完讀寫操作后,如果要對同一L-Bank的另一行進行尋址,就要將原先操作行關閉,重新發(fā)送行/列地址。在對原先操作行進行關閉時,DRAM為了在關閉當前行時保持數(shù)據(jù),要對存儲體中原有的信息進行重寫,這個充電重寫和關閉操作行過程叫做預充電,發(fā)送預充電信號時,意味著先執(zhí)行存儲體充電,然后關閉當前L-Bank操作行。預充電中重寫的操作與刷新操作(后面詳細介紹)一樣,只不過預充電不是定期的,而只是在讀操作以后執(zhí)行的。

SDRAM突發(fā)操作

突發(fā)(Burst)是指在同一行中相鄰的存儲單元連續(xù)進行數(shù)據(jù)傳輸?shù)姆绞剑B續(xù)傳輸所涉及到存儲單元(列)數(shù)量就是突發(fā)長度(Burst Length,簡稱BL)。

在目前,由于內(nèi)存控制器一次讀/寫P-Bank位寬的數(shù)據(jù),也就是8個字節(jié),但是在現(xiàn)實中小于8個字節(jié)的數(shù)據(jù)很少見,所以一般都要經(jīng)過多個周期進行數(shù)據(jù)的傳輸,上文寫到的讀/寫操作,都是一次對一個存儲單元進行尋址,如果要連續(xù)讀/寫,還要對當前存儲單元的下一單元進行尋址,也就是要不斷的發(fā)送列地址與讀/寫命令(行地址不變,所以不用再對地尋址)。雖然由于讀/寫延遲相同可以讓數(shù)據(jù)傳輸在I/O端是連續(xù)的,但是它占用了大量的內(nèi)存控制資源,在數(shù)據(jù)進行連續(xù)傳輸時無法輸入新的命令效率很低。為此,引入了突發(fā)傳輸機制,只要指定起始列地址與突發(fā)長度,內(nèi)存就會依次自動對后面相應長度數(shù)據(jù)的數(shù)據(jù)存儲單元進行讀/寫操作而不再需要控制器連續(xù)地提供列地址,這樣,除了第一筆數(shù)據(jù)的傳輸需要若干個周期(主要是之間的延遲,一般的是tRCD + CL)外,其后每個數(shù)據(jù)只需一個周期即可。

總結下:

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

SDRAM寫操作

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

 

圖2-54 SDRAM寫操作時序圖

SDRAM的刷新

SDRAM之所以成為DRAM就是因為它要不斷進行刷新(Refresh)才能保留住數(shù)據(jù),因此它是SDRAM最重要的操作。

刷新操作與預充電中重寫的操作一樣,都是用S-AMP先讀再寫。但為什么有預充電操作還要進行刷新呢?因為預充電是對一個或所有 L-Bank中的工作行操作,并且是不定期的,而刷新則是有固定的周期,依次對所有行進行操作,以保留那些很長時間沒經(jīng)歷重寫的存儲體中的數(shù)據(jù)。但與所有L-Bank預充電不同的是,這里的行是指所有L-Bank中地址相同的行,而預充電中各L-Bank中的工作行地址并不是一定是相同的。那么要隔多長時間重復一次刷新呢?目前公認的標準是,存儲體中電容的數(shù)據(jù)有效保存期上限是64ms(毫秒,1/1000秒),也就是說每一行刷新的循環(huán)周期是64ms。這樣刷新時間間隔就是: 64m/行數(shù)s。我們在看內(nèi)存規(guī)格時,經(jīng)常會看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的標識,這里的4096與8192就代表這個芯片中每個L-Bank的行數(shù)。刷新命令一次對一行有效,刷新間隔也是隨總行數(shù)而變化,4096行時為 15.625μs(微秒,1/1000毫秒),8192行時就為 7.8125μs。刷新操作分為兩種:Auto Refresh,簡稱AR與Self Refresh,簡稱SR。不論是何種刷新方式,都不需要外部提供行地址信息,因為這是一個內(nèi)部的自動操作。對于 AR,SDRAM內(nèi)部有一個行地址生成器(也稱刷新計數(shù)器)用來自動的依次生成行地址。由于刷新是針對一行中的所有存儲體進行,所以無需列尋址,或者說CAS在 RAS之前有效。所以,AR又稱CBR(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,因此在刷新過程中,所有 L-Bank都停止工作,而每次刷新所占用的時間為9個時鐘周期(PC133標準),之后就可進入正常的工作狀態(tài),也就是說在這9個時鐘期間內(nèi),所有工作指令只能等待而無法執(zhí)行。64ms之后則再次對同一行進行刷新,如此周而復始進行循環(huán)刷新。顯然,刷新操作肯定會對SDRAM的性能造成影響,但這是沒辦法的事情,也是DRAM相對于 SRAM(靜態(tài)內(nèi)存,無需刷新仍能保留數(shù)據(jù))取得成本優(yōu)勢的同時所付出的代價。SR則主要用于休眠模式低功耗狀態(tài)下的數(shù)據(jù)保存,這方面最著名的應用就是 STR(Suspend to RAM,休眠掛起于內(nèi)存)。在發(fā)出AR命令時,將CKE置于無效狀態(tài),就進入了SR模式,此時不再依靠系統(tǒng)時鐘工作,而是根據(jù)內(nèi)部的時鐘進行刷新操作。在SR期間除了CKE之外的所有外部信號都是無效的(無需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并進入正常操作狀態(tài)。

SDRAM相關寄存器:

(1)BWSCON寄存器(BUS WIDTH & WAIT CONTROL REGISTER)

表2-17 SDRAM控制寄存器(BWSCON)

 

 

 

根據(jù)開發(fā)板的存儲器配置和芯片型號,設置每個BANK焊接芯片的位寬和等待狀態(tài)

BWSCON,每4位對應一個BANK,這4位分別表示:

l  STx:啟動/禁止SDRAM的數(shù)據(jù)掩碼引腳(UB/LB),SDRAM沒有高低位掩碼引腳,此位為0,SRAM連接有UB/LB管腳,設置為1

l  注:UB/LB數(shù)據(jù)掩碼引腳用來控制芯片讀取/寫入的高字節(jié)和低字節(jié)(對比硬件手冊SDRAM和SRAM的接線圖)

l  WSx:是否使用存儲器的WAIT信號,通常設為0

l  DWx:設置焊接存儲器芯片的位寬,筆者開發(fā)板使用兩片容量為32M,位寬為16的SDRAM組成64M,32位存儲器,因此DW7,DW6位設置為0b10,其它BANK不用設置采用默認值即可。

l  BANK0對應的是系統(tǒng)引導BANK,這4位比較特殊,它的設置是由硬件跳線決定的,因此不用設置

l  BWSCON設置結果:0x22000000

(2)BANKCON0~BANKCON5 (BANK CONTROL REGISTER)

表2-18 BANKCON0~BANKCON5控制寄存器(BANKCON0~BANKCON5)

 

這6個寄存器用來設置對應BANK0~BANK5的訪問時序,采用默認值0x700即可

[1] [2] [3]
關鍵字:S3C2440  SDRAM  接線分析 引用地址:S3C2440核心板原理圖設計:與SDRAM接線分析

上一篇:S3C2440核心板原理圖設計:與NAND FLASH接線分析
下一篇:使用STM32控制無源蜂鳴器發(fā)聲播放音樂(STM32_07)

推薦閱讀最新更新時間:2025-04-24 21:48

第012課 內(nèi)存控制器與SDRAM
第001節(jié)輔線1硬件知識_內(nèi)存接口概念 首先來分析下操作GPIO控制器和操作UART控制器兩者的區(qū)別。 如圖是S3C2440是個片上系統(tǒng),有GPIO控制器(接有GPIO管腳),有串口控制器 (接有TXD RXD引腳)。 配置GPIO控制器相應的寄存器,即可讓引腳輸出高低電平;配置UART控制器相應的寄存器,即可讓引腳輸出波形。前者相對簡單,類似門電路,后者相對復雜,屬于協(xié)議類接口。類似的協(xié)議類接口還有iic、iis、spi等。 對于CPU是不管什么接口的,它只寫相應的寄存器,由控制器根據(jù)寄存器的配置去控制具體的引腳。 那么CPU是如何訪問各個不同的寄存器的呢? CPU只管發(fā)出一個地址,內(nèi)存控制器根據(jù)該地址選擇不同
[單片機]
第012課 內(nèi)存控制器與<font color='red'>SDRAM</font>
STM32f429-SDRAM+LTDC總結
買了塊STM32F429I-DISC1準備搞點稍微復雜點東西,比如LCD驅(qū)動,攝像頭驅(qū)動,DSP之類。 先搞得是LCD驅(qū)動,F(xiàn)429提供了LTDC接口,就是可以直接可以用RGB的方式驅(qū)動屏幕,而用RGB方式就需要有比較大的RAM,但一般MCU的板載RAM都是很小的,都是通過外接SDRAM的方式來進行的,而SDRAM就是跟電腦外接DDR內(nèi)存的原理是一樣的。F429板載了一顆8Mbyte的SDRAM。 關于了解SDRAM的一些常識,看了一篇doc,“高手進階,終極內(nèi)存技術指南——完整.doc”,里面講了很多SDRAM的時序和參數(shù)。 SDRAM原理:有行地址,列地址,地址線等等。還有讀取每個區(qū)塊就是Bank的時候先定位行地址然后定位
[單片機]
linux-2.6.24.3下移植SD/MMC到S3C2440上的全歷程
1.起首下載2.6.24.3內(nèi)核源碼。其他內(nèi)核不包管可以。移植部門就不講了,假如不會參考我的其他文章。我僅僅測試了這個。 2.去http://svnweb.openmoko.org/*chec ... _mci.patch?rev=4096 下載SD/MMC patch,其他晚期版本不可,我就栽倒了這其中間。 3.把 s3c_mci.patch copy到linux-2.6.24.3下。執(zhí)行patch -p1 s3c_mci.patch 呵呵,早年不會用patch,此次也用上了。 4.make menuconfig,選擇MMC/SD ,選擇言語CP437,ISO 8859-1,最好也同時選擇SCSI相關的工具吧,連USB也一塊支撐
[單片機]
Linux下S3C2440 RTC實時時鐘驅(qū)動配置與修改
Linux下對S3C2440 RTC的支持非常完善,我們只需要做簡單的修改,即可使用RTC 1、vi arch/arm/mach-s3c2440/mach-smdk2440.c static struct platform_device *smdk2440_devices __initdata = { &s3c_device_usb, &s3c_device_lcd, &s3c_device_wdt, &s3c_device_i2c0, &s3c_device_iis, &s3c_device_rtc, //這里我們添加上RTC平臺設備,默認是沒添加的 }; 2、make zImage 3、使用與測試 L
[單片機]
在DDR3 SDRAM存儲器接口中使用調(diào)平技術
  引言   DDR3 SDRAM存儲器體系結構提高了帶寬,總線速率達到了600 Mbps至1.6 Gbps (300至800 MHz),它采用1.5V工作,降低了功耗,90-nm工藝密度提高到2 Gbits。這一體系結構的確速率更快,容量更大,單位比特的功耗更低,但是怎樣才能實現(xiàn)DDR3 SDRAM DIMM和FPGA的接口呢?調(diào)平技術是關鍵。如果FPGA I/O結構中沒有直接內(nèi)置調(diào)平功能,和DDR3 SDRAM DIMM的接口會非常復雜,成本也高,需要采用大量的外部元件。那么,什么是調(diào)平技術,這一技術為什么非常重要?   為提高信號完整性,實現(xiàn)更好的性能,JEDEC針對時鐘和命令/數(shù)據(jù)總線定義了飛越(fly-by)匹配。飛越
[嵌入式]
SDRAM控制器的設備與VHDL實現(xiàn)
摘要:介紹了SDRAM的存儲體結構、主要控制時序和基本操作命令,并且結合實際系統(tǒng),給出了一種用FPGA實現(xiàn)的通用SDRAM控制器的方案。 關鍵詞:SDRAM 狀態(tài)機 存儲 VHDL 在高速實時或者非實時信號處理系統(tǒng)當中,使用大容量存儲器實現(xiàn)數(shù)據(jù)緩存是一個必不可少的環(huán)節(jié),也是系統(tǒng)實現(xiàn)中的重點和難點之一。SDRAM(同步動態(tài)隨機訪問存儲器)具有價格低廉、密度高、數(shù)據(jù)讀寫速度快的優(yōu)點,從而成為數(shù)據(jù)緩存的首選存儲介制裁。但是SDRAM存儲體結構與RAM有較大差異,其控制時序和機制也較復雜,限制了SDRAM的使用。目前,雖然一些能家長微處理器提供了和SDRAM的透明接口,但其可擴展性和靈活性不夠,難以滿足現(xiàn)實系統(tǒng)的要求,限制了SDRA
[應用]
2440串口linux編程,s3c2440的串口控制
在配置完s3c2440的系統(tǒng)時鐘后,我們來控制串口.之所以將串口放在這么靠前,是因為串口會給我們帶來更多的信息.在沒有串口的時候,uboot啟動階段只能靠led來顯示一些信息.那么有了串口,debug就方便很多了.在工作中,一般情況下,很少有機會用jtag口加上昂貴的codeviser工具進行debug,也很少用gdb進行遠程debug的,用的最多的還是打開debug的define來分析確定問題. 還是從s3c2440的datasheet開始: s3c2440A的UART提供3個獨立的異步串行IO口,每一個都支持中斷和DMA.換句話來說,UART可以產(chǎn)生中斷請求或DMA請求來在CPU和UART之間傳輸數(shù)據(jù).UART在系統(tǒng)時鐘下
[單片機]
2440串口linux編程,<font color='red'>s3c2440</font>的串口控制
S3C2440原理圖導讀
聲卡 可以看到左邊的I2S線 2440中有I2S控制器,可以通過I2S控制器,將聲音信息傳給中間的芯片 然后芯片驅(qū)動右邊的喇叭發(fā)聲 途中標錯了,下面的是喇叭,上面是耳機接口 這塊是麥克風,可以通過I2S接口將存儲的音頻讀出來,就是錄音的效果 網(wǎng)卡 如何訪問? 看片選引腳,再在2440的手冊中找到內(nèi)存控制器 查看內(nèi)存映射圖 再配置相應地址即可 其他的地址 這個DM9000比較奇怪,只有一個地址引腳CMD 引腳為1,可以訪問命令寄存器 引腳為0,可以訪問數(shù)字寄存器 通過這個引腳,可以操作整個DM9000讀寫數(shù)據(jù) 如何訪問 基地址為0x2000,0000 為了配置CMD引腳 CMD為0,地址為0x
[單片機]
<font color='red'>S3C2440</font>原理圖導讀
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 板桥市| 镇康县| 临澧县| 舟山市| 岳池县| 册亨县| 沈阳市| 武鸣县| 唐海县| 日照市| 常山县| 韶关市| 吴忠市| 东港市| 商城县| 延庆县| 兴安盟| 来安县| 蓝山县| 石屏县| 伽师县| 高清| 射阳县| 县级市| 皮山县| 榆社县| 黑龙江省| 武鸣县| 沂源县| 化州市| 酒泉市| 乐都县| 奎屯市| 房山区| 舟曲县| 长白| 兰坪| 阿图什市| 东城区| 加查县| 西昌市|