ARM存儲(chǔ)器接口PPT課件_第1頁(yè)
ARM存儲(chǔ)器接口PPT課件_第2頁(yè)
ARM存儲(chǔ)器接口PPT課件_第3頁(yè)
ARM存儲(chǔ)器接口PPT課件_第4頁(yè)
ARM存儲(chǔ)器接口PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ARM嵌入式體系結(jié)構(gòu)與接口技術(shù)嵌入式體系結(jié)構(gòu)與接口技術(shù)第第9章章 存儲(chǔ)器接口存儲(chǔ)器接口第1頁(yè)/共46頁(yè)2 9.1 Flash ROM介紹 9.2 Nor Flash操作 9.3 NAND Flash操作 9.4 S3C2410X中Nand Flash控制器的操作 9.5 S3C2410X Nand Flash接口電路與程序設(shè)計(jì) 9.6 SDRAM芯片介紹 9.7 小結(jié) 9.8 思考與練習(xí)本章課程:本章課程:第2頁(yè)/共46頁(yè)3 Falsh器件的主要特點(diǎn)是在不加電的情況下能長(zhǎng)期保持存儲(chǔ)的信息。Flash Memory屬于EEPROM(電擦除可編程只讀存儲(chǔ)器)類型。它既有ROM的特點(diǎn),又有很高的存取

2、速度,而且易于擦除和重寫(xiě),功耗很小。 Flash主要有兩種類型:“或非NOR”和“與非NAND” Intel于1988年首先開(kāi)發(fā)出NOR Flash技術(shù) 東芝公司1989年發(fā)表了NAND Flash結(jié)構(gòu) Nand Flash與Nor Flash對(duì)比: 1、接口對(duì)比 NOR Flash帶有通用的SRAM接口,可以輕松地掛接在CPU的地址、數(shù)據(jù)總線上,對(duì)CPU的接口要求低。NOR Flash的特點(diǎn)是芯片內(nèi)執(zhí)行(XIP,eXecute In Place),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NAND Flash器件使用復(fù)雜的I/O口來(lái)串行地存取數(shù)據(jù),8個(gè)引腳用來(lái)

3、傳送控制、地址和數(shù)據(jù)信息。 9.1 Flash ROM介紹第3頁(yè)/共46頁(yè)4 2、容量和成本對(duì)比相比起NAND Flash來(lái)說(shuō),NOR Flash的容量要小,一般在132MByte左右 3、可靠性性對(duì)比NAND器件中的壞塊是隨機(jī)分布的,而壞塊問(wèn)題在NOR Flash上是不存在的 4、壽命對(duì)比NAND閃存中每個(gè)塊的最大擦寫(xiě)次數(shù)是一百萬(wàn)次,而NOR的擦寫(xiě)次數(shù)是十萬(wàn)次 5、升級(jí)對(duì)比NOR Flash的升級(jí)較為麻煩,因?yàn)椴煌萘康腘OR Flash的地址線需求不一樣不同容量的NAND Flash的接口是固定的,所以升級(jí)簡(jiǎn)單 6、讀寫(xiě)性能對(duì)比擦除NOR器件時(shí)是以64128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫(xiě)入/擦

4、除操作的時(shí)間約為為5s。擦除NAND器件是以832KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。NOR的讀速度比NAND稍快一些。9.1 Flash ROM介紹第4頁(yè)/共46頁(yè)5 9.2.1 SST39VF160芯片介紹 SST39VF160是一個(gè)1M16的CMOS多功能Flash器件 SST39VF160的工作電壓為.7,單片存儲(chǔ)容量為M字節(jié),采用48腳TSOP封裝,16位數(shù)據(jù)寬度。 SST39VF160引腳圖 9.2 Nor Flash操作第5頁(yè)/共46頁(yè)6 SST39VF160的引腳功能描述如下表 9.2 Nor Flash操作第6頁(yè)/共46頁(yè)7 9.2.2 SST39VF160字編程

5、操作 1、執(zhí)行3字節(jié)裝載時(shí)序,用于解除軟件數(shù)據(jù)保護(hù) 2、裝載字地址和字?jǐn)?shù)據(jù) 在字編程操作中,地址在CE#或WE#的下升沿(后產(chǎn)生下降沿的那個(gè))鎖存,數(shù)據(jù)在CE#或WE#的上升沿(先產(chǎn)生上升沿的那個(gè))鎖存。 3、執(zhí)行內(nèi)部編程操作該操作 在第4個(gè)WE#或CE#的上升沿出現(xiàn)(先產(chǎn)生上升沿的那個(gè))之后啟動(dòng)編程操作。一旦啟動(dòng)將在20ms內(nèi)完成。 9.2 Nor Flash操作第7頁(yè)/共46頁(yè)8 9.2.3 SST39VF160扇區(qū)/塊擦除操作 扇區(qū)操作通過(guò)在最新一個(gè)總線周期內(nèi)執(zhí)行一個(gè)6字節(jié)的命令時(shí)序(扇區(qū)擦除命令30H和扇區(qū)地址SA)來(lái)啟動(dòng)。塊擦除操作通過(guò)在最新一個(gè)總線周期內(nèi)執(zhí)行一個(gè)6字節(jié)的命令時(shí)序(塊

6、擦除命令50H和塊地址BA)來(lái)啟動(dòng)。 9.2 Nor Flash操作第8頁(yè)/共46頁(yè)9 9.2.4 SST39VF160芯片擦除操作 芯片擦除操作通過(guò)在最新一個(gè)總線周期內(nèi)執(zhí)行一個(gè)6字節(jié)的命令5555H地址處的芯片擦除命令10H時(shí)序來(lái)啟動(dòng)在第6個(gè)WE#或CE#的上升沿(先出現(xiàn)上升沿的那個(gè))開(kāi)始執(zhí)行擦除操作,擦除過(guò)程中只有觸發(fā)位或數(shù)據(jù)查詢位的讀操作有效 9.2 Nor Flash操作第9頁(yè)/共46頁(yè)10 9.2.5 SST39VF160與S3C2410X的接口電路 一片SST39VF160以16位的方式和S3C2410的接口電路: 9.2 Nor Flash操作第10頁(yè)/共46頁(yè)11 9.2.6

7、SST39VF160存儲(chǔ)器的程序設(shè)計(jì) 1、字編程操作 從內(nèi)存“DataPtr”地址的連續(xù)“WordCnt”個(gè)16位的數(shù)據(jù)寫(xiě)入SST39VF160的“ProgStart”地址 利用了數(shù)據(jù)查詢位(DQ7)和查詢位(DQ6)來(lái)判斷編程操作是否完成 函數(shù)中用到的幾個(gè)宏的定義如下: #define ROM_BASE 0 x00000000 #define CMD_ADDR0 *(volatile U16 *)(0 x5555*2+ROM_BASE) #define CMD_ADDR1 *(volatile U16 *)(0 x2aaa*2+ROM_BASE)9.2 Nor Flash操作第11頁(yè)/共46

8、頁(yè)12 9.2.6 SST39VF160存儲(chǔ)器的程序設(shè)計(jì) 2、扇區(qū)擦除操作 SectorErase函數(shù)實(shí)現(xiàn)了一個(gè)扇區(qū)(扇區(qū)的開(kāi)始地址為“sector”)的擦除工作 注意數(shù)據(jù)查詢位(DQ7)在編程函數(shù)和擦除函數(shù)中的使用差別 9.2 Nor Flash操作第12頁(yè)/共46頁(yè)13 9.2.6 SST39VF160存儲(chǔ)器的程序設(shè)計(jì) 3、讀操作 FlashRead函數(shù)實(shí)現(xiàn)了從“ReadStart”位置,讀取“Size”個(gè)字節(jié)的數(shù)據(jù)到“DataPtr”中。 void FlashRead(unsigned int ReadStart, unsigned short *DataPtr, unsigned in

9、t Size) int i;ReadStart += ROM_BASE;for(i=0; iSize/2; i+)*(DataPtr+i) = *(unsigned short *)ReadStart+i); 9.2 Nor Flash操作第13頁(yè)/共46頁(yè)14 9.3.1 K9F1280芯片介紹 常見(jiàn)的8位Nand Flash有三星公司的K9F1208、K9F1G08、K9F2G08等,K9F1208、K9F1G08、K9F2G08的數(shù)據(jù)頁(yè)大小分別為512B、2kB、2kB。 K9F1208存儲(chǔ)容量為64M字節(jié),除此之外還有2048K字節(jié)的spare存儲(chǔ)區(qū)。該器件采用TSSOP48封裝,工作

10、電壓。 K9F1208對(duì)528字節(jié)一頁(yè)的寫(xiě)操作所需時(shí)間典型值是200s,而對(duì)16K字節(jié)一塊的擦除操作典型僅需2ms。8位I/O端口采用地址、數(shù)據(jù)和命令復(fù)用的方法。這樣既可減少引腳數(shù),還可使接口電路簡(jiǎn)潔。 9.3 NAND Flash操作第14頁(yè)/共46頁(yè)15 9.3.1 K9F1280芯片介紹 管腳名稱 描述I/O0 I/O7 數(shù)據(jù)輸入輸出 CLE命令鎖存使能 ALE地址鎖存使能CE#片選 RE#讀使能 WE#寫(xiě)使能WP#寫(xiě)保護(hù)R/B#準(zhǔn)備好/忙碌 輸出 VCC電源(+2.7V3.6V) VSS地 N.C空管腳9.3 NAND Flash操作第15頁(yè)/共46頁(yè)16 9.3.1 K9F1280芯

11、片介紹 1block = 32page;1page = 528byte = 512byte(Main Area) + 16byte(Spare Area) 總?cè)萘繛?= 4 096(block數(shù)量) 32(page/block) 512(byte/page) = 64MB Nand Flash以頁(yè)為單位讀寫(xiě)數(shù)據(jù),而以塊為單位擦除數(shù)據(jù)。 對(duì)Nand Flash的操作主要包括:讀操作、擦除操作、寫(xiě)操作、壞塊設(shè)別、壞塊標(biāo)識(shí)等。 9.3 NAND Flash操作第16頁(yè)/共46頁(yè)17 9.3.2 讀操作過(guò)程 K9F1208的尋址分為4個(gè)cycle,分別是A0:7、A9:16、A17:24、A25 讀操

12、作的過(guò)程為: 發(fā)送讀取指令; 發(fā)送第1個(gè)cycle地址; 發(fā)送第2個(gè)cycle地址; 發(fā)送第3個(gè)cycle地址; 發(fā)送第4個(gè)cycle地址; 讀取數(shù)據(jù)至頁(yè)末 K9F1208提供了兩個(gè)讀指令:“0 x00”、“0 x01”。這兩個(gè)指令區(qū)別在于“0 x00”可以將A8置為0,選中上半頁(yè);而“0 x01”可以將A8置為1,選中下半頁(yè) 讀操作的對(duì)象為一個(gè)頁(yè)面,建議從頁(yè)邊界開(kāi)始讀寫(xiě)至頁(yè)結(jié)束 9.3 NAND Flash操作第17頁(yè)/共46頁(yè)18 9.3.2 讀操作過(guò)程 K9F1208讀操作流程如圖 9.3 NAND Flash操作第18頁(yè)/共46頁(yè)19 9.3.3 擦除操作過(guò)程 擦除的操作過(guò)程為: 發(fā)送

13、擦除指令“0 x60”; 發(fā)送第1個(gè)cycle地址(A9A16); 發(fā)送第2個(gè)cycle地址(A17A24); 發(fā)送第3個(gè)cycle地址(A25); 發(fā)送擦除指令“0 xD0”; 發(fā)送查詢狀態(tài)命令字“0 x70”; 讀取K9F1208的數(shù)據(jù)總線,判斷I/O 6上的值或判斷R/B線上的值,直到I/O 6 = 1或R/ = 1; 判斷I/O 0是否為0,從而確定操作是否成功。0表示成功,1表示失敗。 擦除的對(duì)象是一個(gè)數(shù)據(jù)塊,即32個(gè)頁(yè)面。 9.3 NAND Flash操作第19頁(yè)/共46頁(yè)20 9.3.3 擦除操作過(guò)程 K9F1208擦除操作流程圖9.3 NAND Flash操作第20頁(yè)/共46頁(yè)

14、21 9.3.4 寫(xiě)操作過(guò)程 寫(xiě)入的操作過(guò)程為: 發(fā)送編程指令“0 x80”; 發(fā)送第1個(gè)cycle地址(A0A7); 發(fā)送第2個(gè)cycle地址(A9A16); 發(fā)送第3個(gè)cycle地址(A17A24); 發(fā)送第4個(gè)cycle地址(A25); 向K9F1208的數(shù)據(jù)總線發(fā)送一個(gè)扇區(qū)的數(shù)據(jù); 發(fā)送編程指令“0 x10”; 發(fā)送查詢狀態(tài)命令字“0 x70”; 讀取K9F1208的數(shù)據(jù)總線,判斷I/O 6上的值或判斷R/線上的值,直到I/O 6=1或R/ =1; 判斷I/O 0是否為0,從而確定操作是否成功。0表示成功,1表示失敗。 注意:寫(xiě)入的操作對(duì)象是一個(gè)頁(yè)面。 9.3 NAND Flash操作

15、第21頁(yè)/共46頁(yè)22 9.3.4 寫(xiě)操作過(guò)程 K9F1208寫(xiě)操作流程圖 9.3 NAND Flash操作第22頁(yè)/共46頁(yè)23 9.4.1 S3C2410X Nand Flash控制器概述 S3C2410 x 可以實(shí)現(xiàn)從NAND Flash啟動(dòng)和引導(dǎo)系統(tǒng),在SDRAM上執(zhí)行主程序代碼。 S3C2410 x中的NAND Flash的特性有: 支持讀/擦/編程N(yùn)AND Flash存儲(chǔ)器 支持自動(dòng)引導(dǎo)模式:復(fù)位后,引導(dǎo)代碼被送入Steppingstone,傳送后,引導(dǎo)代碼在Setppingstone中運(yùn)行 具備硬件ECC產(chǎn)出模塊 NAND Flash控制器工作機(jī)制9.4 S3C2410X中Nan

16、d Flash控制器的操作第23頁(yè)/共46頁(yè)24 9.4.2 S3C2410X Nand Flash控制器寄存器詳解 配置寄存器NFCONF (地址0 x4E000000) 9.4 S3C2410X中Nand Flash控制器的操作第24頁(yè)/共46頁(yè)25 9.4.2 S3C2410X Nand Flash控制器寄存器詳解 命令寄存器NFCMD(地址:0 x4e000004) 地址寄存器NFADDR(地址:0 x4E000008) 9.4 S3C2410X中Nand Flash控制器的操作第25頁(yè)/共46頁(yè)26 9.4.2 S3C2410X Nand Flash控制器寄存器詳解 數(shù)據(jù)寄存器NFD

17、ATA(地址:0 x4E00000C) 狀態(tài)寄存器NFSTAT(地址:0 x4E000010) 9.4 S3C2410X中Nand Flash控制器的操作第26頁(yè)/共46頁(yè)27 9.5.1 K9F1208和S3C2410X的接口電路 K9F1208和S3C2410X 的接口電路 9.5 S3C2410X Nand Flash接口電路與程序設(shè)計(jì)第27頁(yè)/共46頁(yè)28 9.5.2 S3C2410X NAND Flash寄存器設(shè)置 (1)控制器初始化時(shí),需要使能控制器 設(shè)置UFCON的15為“1”。 (2)使能NAND Flash芯片 設(shè)置UFCON的11為“0”。 (3)通過(guò)NAND控制器向NAN

18、D Flash寫(xiě)入命令 設(shè)置NFCMD為要發(fā)送的命令。 (4)通過(guò)NAND控制器向NAND Flash寫(xiě)入地址 設(shè)置NFADDR為要發(fā)送的地址。 (5)通過(guò)NAND控制器向NAND Flash寫(xiě)入數(shù)據(jù) 設(shè)置NFDATA為要寫(xiě)入的數(shù)據(jù)。9.5 S3C2410X Nand Flash接口電路與程序設(shè)計(jì)第28頁(yè)/共46頁(yè)29 9.5.3 S3C2410X控制K9F1208的程序設(shè)計(jì) 實(shí)現(xiàn)向K9F1208的一個(gè)頁(yè)面中寫(xiě)入0,1,2,3,4,5,6,7,8,9。然后讀出數(shù)據(jù),打印到串口終端。程序設(shè)計(jì)如下: 1、NAND Flash控制器相關(guān)寄存器及宏定義 2、主測(cè)試程序 3、K9F1208初始化函數(shù) 4

19、、K9F1208頁(yè)面讀函數(shù) 5、K9F1208頁(yè)面寫(xiě)函數(shù) 6、K9F1208塊擦除函數(shù) 7、調(diào)試與運(yùn)行結(jié)果9.5 S3C2410X Nand Flash接口電路與程序設(shè)計(jì)第29頁(yè)/共46頁(yè)30 9.6.1 SDRAM介紹 SDRAM存儲(chǔ)一個(gè)位的消息只需要一只晶體管,但是需要周期性地充電,才能使保存的信息不消失。 SDRAM的一個(gè)存儲(chǔ)位單元結(jié)構(gòu)如圖 電容器的狀態(tài)決定了這個(gè) SDRAM單位的邏輯狀態(tài)是 1還是0。一個(gè)充電的電容 器被認(rèn)為是邏輯上的1, 而“空”的電容器則是0 。9.6 SDRAM芯片介紹第30頁(yè)/共46頁(yè)31 9.6.1 SDRAM介紹 SDRAM內(nèi)部結(jié)構(gòu) 示意圖 9.6 SDRA

20、M芯片介紹第31頁(yè)/共46頁(yè)32 9.6.1 SDRAM介紹 SDRAM的讀取過(guò)程: SDRAM的寫(xiě)入過(guò)程和讀取過(guò)程基本一樣,這里就不再詳細(xì)介紹了 在SDRAM讀取方式中,當(dāng)一個(gè)讀取周期結(jié)束后,和都必須失效,然后再進(jìn)行一個(gè)回寫(xiě)過(guò)程才能進(jìn)入到下一次的讀取周期中。9.6 SDRAM芯片介紹第32頁(yè)/共46頁(yè)33 9.6.1 SDRAM介紹 與Flash存儲(chǔ)器相比較,SDRAM不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存取速度大大高于Flash存儲(chǔ)器,且具有讀/寫(xiě)的屬性,因此,SDRAM在系統(tǒng)中主要用作程序的運(yùn)行空間,數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動(dòng)時(shí),CPU首先從復(fù)位地址0 x0處讀取啟動(dòng)代碼,在完成系統(tǒng)的初始化后,

21、程序代碼一般應(yīng)調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度,同時(shí),系統(tǒng)及用戶堆棧、運(yùn)行數(shù)據(jù)也都放在SDRAM中。 SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,為避免數(shù)據(jù)丟失,必須定時(shí)刷新(充電) 目前常用的SDRAM為8位/16位的數(shù)據(jù)寬度,工作電壓一般為。主要的生產(chǎn)廠商為HYUNDAI、Winbond等9.6 SDRAM芯片介紹第33頁(yè)/共46頁(yè)34 9.6.2 HY57V561620的結(jié)構(gòu) HY57V561620存儲(chǔ)容量為4M4bank16位(32M字節(jié)),工作電壓為,常見(jiàn)封裝為54腳TSOP,兼容LVTTL接口,支持自動(dòng)刷新(Auto-Refresh)和自刷新(Self-Ref

22、resh),16位數(shù)據(jù)寬度9.6 SDRAM芯片介紹第34頁(yè)/共46頁(yè)35 9.6.2 HY57V561620的結(jié)構(gòu)引腳名稱CLK時(shí)鐘CKE時(shí)鐘使能 /CS片選 BA0,BA1組地址選擇 A12A0地址總線/RAS行地址鎖 /CAS存列地址鎖/WE存寫(xiě)使能LDQM,UDQM數(shù)據(jù)I/O屏蔽DQ15DQ0數(shù)據(jù)總線VDD/VSS電源/地 VDDQ/VSSQ電源/地 NC未連接9.6 SDRAM芯片介紹第35頁(yè)/共46頁(yè)36 9.6.3 接口電路 采用的是利用兩片16位的SDRAM構(gòu)造成一片32位的SDRAM存儲(chǔ)系統(tǒng)。9.6 SDRAM芯片介紹第36頁(yè)/共46頁(yè)37 9.6.3 接口電路 引腳描述如下

23、: nSRAS:SDRAM行地址選通信號(hào) nSCAS:SDRAM列地址選通信號(hào) nGCS6:SDRAM芯片選擇信號(hào) nWBE3:0:SDRAM數(shù)據(jù)屏蔽信號(hào) SCLK01:SDRAM時(shí)鐘信號(hào) SCKE:SDRAM時(shí)鐘允許信號(hào) DATA0:31:32位數(shù)據(jù)信號(hào) ADDR2:14:行列地址信號(hào) ADDR25:24:bank選擇線9.6 SDRAM芯片介紹第37頁(yè)/共46頁(yè)38 9.6.3 接口電路 HY57V561620的Bank選擇線BAn與S3C2410X地址線的對(duì)應(yīng)關(guān)系,依照表9-12選擇連接。HY57V561620的Bank大小位64MB,總線寬度位16位,單個(gè)器件容量為256MB,存儲(chǔ)空間配置為(4MB164BANK)2片。所以BANK地址對(duì)應(yīng)A25:24 SDRAM Bank地址配置表 9.6 SDRAM芯片介紹第38頁(yè)/共46頁(yè)39 9.6.4 寄存器設(shè)置 1BWSCON寄存器 BWSCON寄存器主要用來(lái)設(shè)置外接存儲(chǔ)器的總線寬度和等待狀態(tài) BWSCON寄存器在Bank6上的位定義 SDRAM(Bank6)采用32位總線寬度,因此,DW6=10,其他2位采用缺省值 9.6 SDRAM芯片介

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論