當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]SDRAM(Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)也就是通常所說(shuō)的內(nèi)存。內(nèi)存的工作原理、控制時(shí)序、及相關(guān)控制器的配置方法一直是嵌入式系統(tǒng)學(xué)習(xí)、開(kāi)發(fā)過(guò)程中的一個(gè)難點(diǎn)。我們從其硬件的角度

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

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

通用存儲(chǔ)設(shè)備:

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

lROM(Read-Only Memory):只讀存儲(chǔ)器,是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲(chǔ)器。其特性是一旦儲(chǔ)存資料就無(wú)法再將之改變或刪除。通常用在不需經(jīng)常變更資料的電子或電腦系統(tǒng)中,資料并且不會(huì)因?yàn)殡娫搓P(guān)閉而消失。如:PC里面的BIOS。

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

RAM按照硬件設(shè)計(jì)的不同,隨機(jī)存儲(chǔ)器又分為DRAM(Dynamic RAM)動(dòng)態(tài)隨機(jī)存儲(chǔ)器和SRAM(Static RAM)靜態(tài)隨機(jī)存儲(chǔ)器。

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

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

為了滿(mǎn)足開(kāi)發(fā)的需要MINI2440在出廠(chǎng)時(shí)搭載了三種存儲(chǔ)介質(zhì):

(1)NOR FLASH(2M):ROM存儲(chǔ)器,通常用來(lái)保存BootLoader,引導(dǎo)系統(tǒng)啟動(dòng)

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

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

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

lNAND FLASH:它能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫(xiě)入和擦除的速度也很快。其成本較低,不支持XIP??勺銮度胧嚼锏臄?shù)據(jù)存儲(chǔ)介質(zhì)。如:手機(jī)存儲(chǔ)卡,SD卡等。

1.1.1S3C2440存儲(chǔ)器地址段(Bank)

S3C2440對(duì)外引出了27根地址線(xiàn)ADDR0~ADDR26,它最多能夠?qū)ぶ?28MB,而S3C2440的尋址空間可以達(dá)到1GB,這是由于S3C2440將1GB的地址空間分成了8個(gè)BANKS(Bank0~Bank7),其中每一個(gè)BANK對(duì)應(yīng)一根片選信號(hào)線(xiàn)nGCS0~nGCS7,當(dāng)訪(fǎng)問(wèn)BANKx的時(shí)候,nGCSx管腳電平拉低,用來(lái)選中外接設(shè)備,S3C2440通過(guò)8根選信號(hào)線(xiàn)和27根地址線(xiàn),就可以訪(fǎng)問(wèn)1GB。如圖2-48所示。

圖2-48 S3C2440存儲(chǔ)器BANK

如圖所示,左側(cè)圖對(duì)應(yīng)不使用Nandflash啟動(dòng)時(shí)(通過(guò)跳線(xiàn)設(shè)置),存儲(chǔ)器Bank分布圖,通常在這種啟動(dòng)方式里選擇Norflash啟動(dòng),將Norflash焊接在Bank0,系統(tǒng)上電后,CPU從Bank0的開(kāi)始地址0x00000000開(kāi)始取指運(yùn)行。

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

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

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

表2-14 S3C2440設(shè)備寄存器地址空間

外接設(shè)備

起始地址

結(jié)束地址

存儲(chǔ)控制器

0x48000000

0x48000030

USB Host控制器

0x49000000

0x49000058

中斷控制器

0x4A000000

0x4A00001C

DMA

0x4B000000

0x4B0000E0

時(shí)鐘和電源管理

0x4C000000

0x4C000014

LCD控制器

0x4D000000

0x4D000060

NAND FLASH控制器

0x4E000000

0x4E000014

攝像頭接口

0x4F000000

0x4F0000A0

UART

0x50000000

0x50008028

脈寬調(diào)制計(jì)時(shí)器

0x51000000

0x51000040

USB設(shè)備

0x52000140

0x5200026F

WATCHDOG計(jì)時(shí)器

0x53000000

0x53000008

IIC控制器

0x54000000

0x5400000C

IIS控制器

0x55000000

0x55000012

I/O端口

0x56000000

0x560000B0

實(shí)時(shí)時(shí)鐘RTC

0x57000040

0x5700008B

A/D轉(zhuǎn)換器

0x58000000

0x58000010

SPI

0x59000000

0x59000034

SD接口

0x5A000000

0x5A000040

AC97音頻編碼接口

0x5B000000

0x5B00001C

1.1.2SDRAM內(nèi)存工作原理

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

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

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

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

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

圖2-51 HY57561620內(nèi)部結(jié)構(gòu)圖

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

(1)確定BA0、BA1的接線(xiàn)

表2-15 BA0、BA1接線(xiàn)

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

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

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

(2)確定其它接線(xiàn)

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

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

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

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

外接管腳名

內(nèi)接管腳名

全稱(chēng)

描述

A2~A14

A0~A12

Address

地址線(xiàn)

D0 ~D31

DQ0~

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉