第4章嵌入式系統(tǒng)的存儲器系統(tǒng)_第1頁
第4章嵌入式系統(tǒng)的存儲器系統(tǒng)_第2頁
第4章嵌入式系統(tǒng)的存儲器系統(tǒng)_第3頁
第4章嵌入式系統(tǒng)的存儲器系統(tǒng)_第4頁
第4章嵌入式系統(tǒng)的存儲器系統(tǒng)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第4 4章章 嵌入式系統(tǒng)嵌入式系統(tǒng) 的存儲器系統(tǒng)的存儲器系統(tǒng) 教學(xué)目的 1)了解常見嵌入式系統(tǒng)存儲器; 2)學(xué)習(xí)ROM和SRAM型存儲器擴展方法; 3)學(xué)習(xí)NOR FLASH和NAND FLASH存儲器接口方法; 4)學(xué)習(xí)SDRAM存儲器接口方法4.1 存儲器系統(tǒng)概述 4.1.1 4.1.1 存儲器系統(tǒng)的層次結(jié)構(gòu)存儲器系統(tǒng)的層次結(jié)構(gòu)4.1.2 高速緩沖存儲器高速緩沖存儲器在在主存儲器主存儲器和和CPUCPU之間之間采用高速緩沖存儲器(cache)用來提高存儲器系統(tǒng)的性能。cachecache能夠減少內(nèi)存平均訪問時間。能夠減少內(nèi)存平均訪問時間。指令預(yù)取時和數(shù)據(jù)讀寫時使用同一個指令預(yù)取時和數(shù)據(jù)讀

2、寫時使用同一個cachecache-統(tǒng)一的統(tǒng)一的cachecache。指令預(yù)取時和數(shù)據(jù)讀寫時使用不同的指令預(yù)取時和數(shù)據(jù)讀寫時使用不同的cache-cache-獨立的獨立的cache cache 。 (S3C2410采用此種結(jié)構(gòu))4.1.3 4.1.3 存儲管理單元(存儲管理單元(MMUMMU) MMU(Memory Manage Unit, 存儲管理單元) MMU主要完成以下工作:(1)虛擬存儲空間到物理存儲空間的映射。虛擬存儲空間到物理存儲空間的映射。(2)存儲器訪問權(quán)限的控制。存儲器訪問權(quán)限的控制。(3)設(shè)置虛擬存儲空間的緩沖特性。設(shè)置虛擬存儲空間的緩沖特性。n嵌入式系統(tǒng)中常常采用嵌入式系

3、統(tǒng)中常常采用頁式存儲管理頁式存儲管理。n頁式頁式存儲管理:把虛擬地址空間分成一個個固定大小的塊,每一塊稱為一頁,把物理內(nèi)存的地址空間也分成同樣大小的頁。MMU實現(xiàn)的就是從虛擬地址到物理地址的轉(zhuǎn)換。頁表頁表是存儲在內(nèi)存中的一個表,頁表用來管理這些頁。頁表的每一行對應(yīng)于虛擬存儲空間的一個頁頁表的每一行對應(yīng)于虛擬存儲空間的一個頁,該行包含了該虛擬內(nèi)存頁對應(yīng)的物理內(nèi)存頁的地址、該頁的方位權(quán)限和該頁的緩沖特性對應(yīng)的物理內(nèi)存頁的地址、該頁的方位權(quán)限和該頁的緩沖特性等。等。從虛擬地址到物理地址的變換過程就是查詢頁表查詢頁表的過程。例如在ARM嵌入式系統(tǒng)中,使用系統(tǒng)控制協(xié)處理器CP15的寄存器C2來保存頁表的

4、基地址。 嵌入式系統(tǒng)支持的內(nèi)存塊大小有以下幾種:段段 (section)大小為1MB1MB的內(nèi)存塊;大頁大頁(Large Pages)大小為64KB64KB的內(nèi)存塊;小頁小頁(Small Pages)大小為4KB4KB的內(nèi)存塊;極小頁極小頁(Tiny Pages)大小為1KB1KB的內(nèi)存塊。極小頁只能以1KB大小為單位不能再細分,而大頁和小頁有些情況下可以在進一步的劃分。MMUMMU中的域中的域指的是一些段、大頁或者小頁的集合。每個域的訪問控制特性都是由芯片內(nèi)部的寄存器中的相應(yīng)控制位來控制的。例如在ARM嵌入式系統(tǒng)中,每個域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。 MMU中

5、的快速上下文切換技術(shù)快速上下文切換技術(shù)(Fast Context Switch Extension, FCSE)通過修改系統(tǒng)中不同進程的虛擬地址修改系統(tǒng)中不同進程的虛擬地址,避免在進行進程間切換時造成的虛擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。4.2.1 4.2.1 存儲器部件的分類存儲器部件的分類1按在系統(tǒng)中的地位分類主存儲器主存儲器(Main Memory簡稱主存或內(nèi)存內(nèi)存)輔助存儲器輔助存儲器(Auxiliary Memory,Secondary Memory, 簡稱輔存或外存外存)。4.2 4.2 嵌入式系統(tǒng)存儲設(shè)備分類嵌入式系統(tǒng)存儲設(shè)備分類內(nèi)內(nèi) 存存內(nèi)存內(nèi)存是計算機主機的一個組

6、成部分主機的一個組成部分,一般都用快速存儲器件來構(gòu)成,內(nèi)存的存取速度很快存取速度很快,但內(nèi)存空間的大小空間的大小受到地址總線位數(shù)的限制限制。內(nèi)存通常用來容納當前正在使用的或要經(jīng)常使用的程序和數(shù)據(jù)當前正在使用的或要經(jīng)常使用的程序和數(shù)據(jù)CPU可以直接直接對內(nèi)存進行訪問。系統(tǒng)軟件中如引導(dǎo)程序、監(jiān)控程序或者操作系統(tǒng)中的基本輸入輸出部分BIOS都是必須常駐內(nèi)存。更多的系統(tǒng)軟件和全部應(yīng)用軟件則在用到時由外存?zhèn)魉偷絻?nèi)存。外外 存存外存外存存放的是相對來說不經(jīng)常使用的程序和數(shù)據(jù)不經(jīng)常使用的程序和數(shù)據(jù)容量大,速度相對內(nèi)存較慢容量大,速度相對內(nèi)存較慢常見的外存有軟盤、硬盤、U盤、光盤等CPU要使用外存的這些信息時

7、,必須通過專門的設(shè)備將信息先傳送將信息先傳送到內(nèi)存中到內(nèi)存中2 2按存儲介質(zhì)分類按存儲介質(zhì)分類磁存儲器(Magnetic Memory)半導(dǎo)體存儲器(Semiconductor Memory )光存儲器(Optical Memory)激光光盤存儲器(Laser Optical Disk)。3 3按信息存取方式分類按信息存取方式分類RAM:隨機存取存儲器隨機存取存儲器(Random Access Memory) 運行期間可讀、可寫運行期間可讀、可寫ROM:只讀存儲器只讀存儲器(Read Only Memory) 運行期間只能讀出信息,不能隨時寫入信息運行期間只能讀出信息,不能隨時寫入信息4.2.

8、2 存儲器的組織和結(jié)構(gòu)容量是描述存儲器的最基本參數(shù),如1MB。 存儲器容量的表示不唯一,不同的數(shù)據(jù)寬度有不同容量。在存儲器內(nèi)部,數(shù)據(jù)是存放在二維陣列存儲單元中。 n位地址被分成行地址和列地址(nr十c)。 r是行地址數(shù),c是列地址數(shù)。 行列選定一個特定存儲單元。嵌入式系統(tǒng)的存儲器與通用系統(tǒng)的存儲器有所不同,通常由ROM、RAM、EPROM等組成。 嵌入式存儲器一般采用存儲密度較大的存儲器芯片,存儲容量與應(yīng)用的軟件大小相匹配。4.2.3 常見的嵌入式系統(tǒng)存儲設(shè)備1 1RAMRAM(隨機存儲器)(隨機存儲器) RAM可以被讀和寫,地址可以以任意次序被讀。常見RAM的種類有SRAM(Static R

9、AM,靜態(tài)隨機存儲器)DRAM(Dynamic RAM,動態(tài)隨機存儲器)DDRAM(Double Data Rate SDRAM,雙倍速率隨機存儲器)。 SRAM比DRAM運行速度快 SRAM比DRAM耗電多 DRAM需要周期性刷新 DDRAM是RAM的下一代產(chǎn)品, 200MHz時鐘頻率時內(nèi)存帶寬可達3.2GB/s海量 2 2ROMROM(只讀存儲器)(只讀存儲器) ROM斷電后數(shù)據(jù)不丟失,但速度較慢,適合存儲需長期保留的不變數(shù)據(jù)。在嵌入式系統(tǒng)中,ROM用于固定數(shù)據(jù)和程序。常見ROM有:Mask ROM(掩模ROM,廠家一次性寫入用戶無法修改)PROM(Programmable ROM,可編程

10、ROM,用戶一次性寫入)EPROM(Erasable Programmable ROM,可擦寫ROM, 紫外光可重復(fù)擦除和寫入)EEPROM(電可擦除可編程ROM,也可表示為E2PROM,電擦除)Flash ROM(閃速存儲器,可快速讀取,電可擦寫可編程)3 3Flash MemoryFlash MemoryFlash memory(閃速存儲器)是一種非易失性存儲器( NVM:Non-Volatile Memory)是嵌入式系統(tǒng)中重要的組成部分,用來存儲程序和數(shù)據(jù),掉電后數(shù)據(jù)不會丟失根據(jù)結(jié)構(gòu)不同分成 NOR FlashNOR Flash和和NAND FlashNAND Flash兩種Flash

11、 Memory在物理結(jié)構(gòu)上分成若干個區(qū)塊,區(qū)塊之間相互獨立NOR Flash把整個存儲區(qū)分成若干個扇區(qū)(扇區(qū)(SectorSector);NAND Flash把整個存儲區(qū)分成若干個塊(塊(BlockBlock);可以對以塊或扇區(qū)為單位的內(nèi)存單元進行擦寫和編程。 NOR Flash NOR Flash 和和 NAND Flash NAND Flash 特性特性NAND FlashNAND Flash執(zhí)行擦除操作是十分簡單的,而執(zhí)行擦除操作是十分簡單的,而NORNOR型內(nèi)存則要求在型內(nèi)存則要求在進行擦除前先要將目標塊內(nèi)所有的位都寫為進行擦除前先要將目標塊內(nèi)所有的位都寫為0 0擦除時間:NOR Fl

12、ash執(zhí)行一個寫入擦除操作的時間為5s; NAND Flash相同操作最多只需要4ms(快小+高速)NOR Flash的讀速度比NAND Flash稍快一些,NAND Flash的寫入速度比NOR Flash快很多。應(yīng)用程序可以直接在應(yīng)用程序可以直接在NOR FlashNOR Flash內(nèi)運行,不需要再把代碼讀到系統(tǒng)內(nèi)運行,不需要再把代碼讀到系統(tǒng)RAMRAM中運行。中運行。NAND Flash的隨機讀取能力差,適合大量數(shù)據(jù)的連續(xù)讀取NOR FlashNOR Flash帶有帶有SRAMSRAM接口,有足夠的地址引腳來尋址,可以很容接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個字節(jié)。

13、易地存取其內(nèi)部的每一個字節(jié)。NAND Flash結(jié)構(gòu)可以達到高存儲密度,并且寫入和擦除的速度也很快,應(yīng)用NAND Flash的困難在于需要特殊的系統(tǒng)接口。NAND Flash地址、數(shù)據(jù)和命令共用8位總線/16位總線,每次讀寫都要使用復(fù)雜的I/O接口串行地存取數(shù)據(jù)除了除了NOR FlashNOR Flash的讀,的讀,F(xiàn)lash MemoryFlash Memory的其他操作不能像的其他操作不能像RAMRAM那樣,那樣,直接對目標地址進行總線操作。直接對目標地址進行總線操作。例如執(zhí)行一次寫操作,它必須輸入一串特殊的指令(NOR Flash ),或者完成一段時序(NAND Flash)才能將數(shù)據(jù)寫

14、入到Flash Memory中NOR Flash容量通常在1 MB8MB之間。而NAND Flash用在8MB以上的產(chǎn)品當中。NOR Flash主要應(yīng)用在代碼存儲介質(zhì)中,NAND Flash適用于數(shù)據(jù)存儲。在NAND Flash中每個塊的最大擦寫次數(shù)是一百萬次,而NOR Flash的擦寫次數(shù)是十萬次。4.3 NOR Flash接口電路4.3.1 NOR Flash存儲器Am29LV160DAMD公司的一款NOR Flash存儲器存儲容量為2M8Bit/1M16Bit接口與CMOS I/O兼容工作電壓為2.73.6V讀操作電流為9mA編程和擦除操作電流為20mA待機電流為200nA采用FBGA-

15、48、TSOP-48、SO-44 三種封裝形式。Am29LV160D僅需3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,通過對其內(nèi)部的命令寄存器寫入標準的命令序列,可對Flash進行編程(燒寫)、整片擦除、按扇區(qū)擦除,以及其他操作。以16位(字模式)數(shù)據(jù)寬度的方式工作。引腳類型功能A19A19A0A0輸入地址輸入。提供存儲器地址DQ14DQ14DQ0DQ0輸入/輸出數(shù)據(jù)輸入/輸出DQ15/A-1DQ15/A-1輸入/輸出在字模式,DQ15為數(shù)據(jù)輸入/輸出;在字節(jié)模式,A-1為 LSB地址輸入BYTE#BYTE#輸入選擇8bit 或者16bit 模式CE#CE#輸入片選。當CE# 為低電平時,芯片有

16、效OE#OE#輸入輸出使能。當OE# 為低電平時,輸出有效WE#WE#輸入寫使能,低電平有效,控制寫操作RESET#RESET#輸入硬件復(fù)位引腳端,低電平有效RY/BY#RY/BY#輸出就緒/忙標志信號輸出,SO-44封裝無此引腳端VCCVCC電源3 V電源電壓輸入VSSVSS地器件地NC未連接??漳_ Am29LV160D的邏輯框圖表4.3.1 Am29LV160D引腳端功能4.3.2 S3C2410A4.3.2 S3C2410A與與NOR FlashNOR Flash存儲器的接口電路存儲器的接口電路 Flash存儲器在系統(tǒng)中通常用于存放程序代碼存放程序代碼,系統(tǒng)上電或復(fù)位后從此獲取指令并開始

17、執(zhí)行,應(yīng)將存有程序代碼的Flash存儲器配置到Bank0Bank0S3C2410A的nGCS0nGCS0接至Am29LV160D的CECE(nCEnCE)端Am29LV160D的OEOE(nOEnOE)端接S3C2410X的nOEnOE;WE(nXE)端S3C2410X的nWE相連;地址總線A19A0A0與S3C2410X的地址總線ADDR20ADDR1ADDR1(A20A1)相連;16位數(shù)據(jù)總線DQ15DQ0與S3C2410X的低16位數(shù)據(jù)總線DATA15DATA0(D15D0)相連。不使用不使用NAND FlashNAND Flash作為啟動作為啟動ROMROM 使用使用NAND Flas

18、hNAND Flash作為啟動作為啟動ROMROM注意:注意:SROMSROM表示是表示是ROMROM或或SRAMSRAM類型的存儲器;類型的存儲器; SFRSFR指特殊功能寄存器。指特殊功能寄存器。圖4.3.2 S3C2410A與Am29LV160D的接口電路4.4 NAND Flash4.4 NAND Flash接口電路接口電路4.4.1 S3C2410A NAND Flash4.4.1 S3C2410A NAND Flash控制器控制器1S3C2410A NAND Flash控制器特性NAND Flash模式:支持讀擦除編程NAND Flash存儲器。自動啟動模式:復(fù)位后,啟動代碼被傳送

19、到Steppingstone中。傳送完畢后,啟動代碼在Steppingstone中執(zhí)行。具有硬件ECC產(chǎn)生模塊(硬件生成校驗碼和通過軟件校驗)。在NAND Flash啟動后,Steppingstone 4KB內(nèi)部SRAM緩沖器可以作為其他用途使用。 為了支持NAND Flash的啟動裝載(boot loader),S3C2410A配置了一個叫做“Steppingstone”的內(nèi)部SRAM緩沖器。當系統(tǒng)啟動時,NAND Flash存儲器的前4KB將被自動加載到Steppingstone中,然后系統(tǒng)自動執(zhí)行這些載入的啟動代碼。在一般情況下,啟動代碼將復(fù)制NAND Flash的內(nèi)容到SDRAM中。在

20、復(fù)制完成后,將在SDRAM中執(zhí)行主程序。2 2S3C2410A NAND FlashS3C2410A NAND Flash控制器結(jié)構(gòu)控制器結(jié)構(gòu)圖4.4.1 NAND Flash控制器內(nèi)部結(jié)構(gòu)方框圖圖4.4.2 NAND Flash的操作模式NAND Flash的工作模式如圖4.4.2所示。自動啟動模式的時序如下:(1) 完成復(fù)位;(2)當自動啟動模式使能時,首先將NAND Flash存儲器的前4 KB內(nèi)容自動復(fù)制到 Steppingstone 4 KB內(nèi)部緩沖器中;(3)Steppingstone映射到nGCSO;(4)CPU開始執(zhí)行在Steppingstone 4 KB內(nèi)部緩沖器中的啟動代碼

21、。 注意:在自動啟動模式,不進行ECC檢測。 因此,應(yīng)確保NAND Flash的前4 KB不能有位錯誤。NAND Flash模式配置:(1)利用NFCONF寄存器設(shè)置NAND Flash配置;(2)寫NAND Flash命令到NFCMD寄存器;(3)寫NAND Flash地址到NFADDR寄存器;(4)在檢查NAND Flash狀態(tài)時,利用NFSTAT寄存器讀寫數(shù)據(jù)。在讀操作之前或者編程操作之后應(yīng)該檢查R/nB信號。 表4.4.1 NAND Flash控制器的引腳配置引腳配置D7:0數(shù)據(jù)/命令/地址輸入/輸出端口(用數(shù)據(jù)總線分派)CLE命令鎖存使能(輸出)ALE地址鎖存使能(輸出)nFCENA

22、ND Flash芯片使能(輸出)nFRENAND Flash讀使能(輸出)nFWENAND Flash寫使能(輸出)R/nBNAND Flash準備就緒/忙使能(輸出)4.4.2 S3C2410A4.4.2 S3C2410A與與NAND FlashNAND Flash存儲器的接口電路存儲器的接口電路與NOR Flash存儲器相比,NAND Flash的接口相對比較復(fù)雜。一些嵌入式處理器芯片內(nèi)部配置了專門的NAND Flash控制器, 如S3C2410A。K9F1208UDM-YCB0的存儲容量為64M64M字節(jié)字節(jié)數(shù)據(jù)總線寬度為數(shù)據(jù)總線寬度為8 8位位工作電壓為2.7V3.6V僅需單3.3V電

23、壓即可完成在系統(tǒng)的編程與擦除操作表4.4.3 K9F1208UDM的引腳功能引腳類型功能I/O7I/O7 I/O0I/O0輸入/輸出數(shù)據(jù)輸入輸出、控制命令和地址的輸入CLECLE輸入命令鎖存信號ALEALE輸入地址鎖存信號/CE/CE輸入芯片使能信號/RE/RE輸入讀有效信號/WE/WE輸入寫有效信號/WP/WP輸入寫保護信號R/nBR/nB輸出就緒/忙標志信號輸出VccVcc電源電源電壓2.7V3.3VVssVss接地器件地CLE有效時,鎖存在I/O口上的是控制命令字;ALE有效時,鎖存在I/O口上的是地址;/RE或/WE有效時,鎖存的是數(shù)據(jù)這種一口多用的方式可以大大減少總線的數(shù)目,只是控制

24、方式略微有些復(fù)雜。S3C2410X處理器的NAND Flash控制器可以解決這個問題。圖4.4.4 S3C2410A與K9F1208UDM-YCB0接口電路4.5 SDRAM4.5 SDRAM接口電路接口電路SDRAM可讀可寫,掉電不保持數(shù)據(jù),存取速度大大高于Flash存儲器。在嵌入式系統(tǒng)中,SDRAMSDRAM主要用做程序的運行空間、數(shù)據(jù)及堆棧區(qū)主要用做程序的運行空間、數(shù)據(jù)及堆棧區(qū)。當系統(tǒng)啟動時,CPU首先從復(fù)位地址0 x0處讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入SDRAM中運行,以提高系統(tǒng)的運行速度。同時,系統(tǒng)及用戶堆棧、運行數(shù)據(jù)也都放在SDRAM中。SDRAM為避免數(shù)據(jù)丟

25、失,必須定時刷新。要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。S3C2410A在片內(nèi)具有獨立的SDRAM刷新控制邏輯,可方便地與SDRAM接口。目前常用的SDRAM為8位/16位的數(shù)據(jù)寬度,工作電壓一般為3.3V。主要的生產(chǎn)廠商為HYUNDAI,Winbond等。HY57V561620存儲容量為4組64M位16位數(shù)據(jù)寬度。工作電壓為3.3V常見封裝為TSOP-54兼容LVTTL接口支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh)表4.4.4 HY57V561620引腳功能 引腳類型功能CLKCLK輸入時鐘,時鐘,芯片時鐘輸入。所有的輸入中CLK的上升沿有效CKECKE輸

溫馨提示

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

最新文檔

評論

0/150

提交評論