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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第4章 嵌入式系統(tǒng)的存儲器系統(tǒng),4.1 存儲器系統(tǒng)概述,4.1.1 存儲器系統(tǒng)的層次結構 計算機系統(tǒng)的存儲器被組織成一個6個層次的金字塔形的層次結構。 如圖4.1.1所示,位于整個層次結構的最頂部 S0層為CPU內部寄存器 S1層為芯片內部的高速緩存(cache) 內存S2層為芯片外的高速緩存(SRAM、DRAM、DDRAM) S3層為主存儲器(Flash、PROM、EPROM、EEPROM) S4層為外部存儲器(磁盤、光盤、CF、SD卡) S5層為遠程二級存儲(分布式文件系統(tǒng)、Web服務器),圖4.1.1 存儲器系統(tǒng)層次結構,4.1 存儲器系統(tǒng)概述,在這種存儲器分層結構中,上面一層的存儲器作

2、為下一層存儲器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來自cache的字;cache又是內存層的高速緩存,從內存中提取數(shù)據(jù)送給CPU進行處理,并將CPU的處理結果返回到內存中;內存又是主存儲器的高速緩存,它將經(jīng)常用到的數(shù)據(jù)從Flash等主存儲器中提取出來,放到內存中,從而加快了CPU的運行效率。嵌入式系統(tǒng)的主存儲器容量是有限的,磁盤、光盤或CF、SD卡等外部存儲器用來保存大信息量的數(shù)據(jù)。在某些帶有分布式文件系統(tǒng)的嵌入式網(wǎng)絡系統(tǒng)中,外部存儲器就作為其他系統(tǒng)中被存儲數(shù)據(jù)的高速緩存。,4.1 存儲器系統(tǒng)概述,4.1.2 高速緩沖存儲器 在主存儲器和CPU之間采用高速緩沖存儲器(c

3、ache)被廣泛用來提高提高存儲器系統(tǒng)的性能,許多微處理器體系結構都把它作為其定義的一部分。cache能夠減少內存平均訪問時間。 Cache可以分為統(tǒng)一cache和獨立的數(shù)據(jù)程序cache。在一個存儲系統(tǒng)中,指令預取時和數(shù)據(jù)讀寫時使用同一個cache,這時稱系統(tǒng)使用統(tǒng)一的cache。如果在一個存儲系統(tǒng)中,指令預取時使用的一個cache,數(shù)據(jù)讀寫時使用的另一個cache,各自是獨立的,這時稱系統(tǒng)使用了獨立的cache,用于指令預取的cache稱為指令cache,用于數(shù)據(jù)讀寫的cache稱為數(shù)據(jù)cache。 當CPU更新了cache的內容時,要將結果寫回到主存中,可以采用寫通法(write-thr

4、ough)和寫回法(write-back)。寫通法是指CPU在執(zhí)行寫操作時,必須把數(shù)據(jù)同時寫入cache和主存。采用寫通法進行數(shù)據(jù)更新的cache稱為寫通cache。寫回法是指CPU在執(zhí)行寫操作時,被寫的數(shù)據(jù)只寫入cache不寫入主存。僅當需要替換時,才把已經(jīng)修改的cache塊寫回到主存中。采用寫回法進行數(shù)據(jù)更新的cache稱為寫回cache。,4.1 存儲器系統(tǒng)概述,當進行數(shù)據(jù)寫操作時,可以將cache分為讀操作分配cache和寫操作分配cache兩類。 對于讀操作分配cache,當進行數(shù)據(jù)寫操作時,如果cache未命中,只是簡單地將數(shù)據(jù)寫入主存中。主要在數(shù)據(jù)讀取時,才進行cache內容預取

5、。 對于寫操作分配cache,當進行數(shù)據(jù)寫操作時,如果cache未命中,cache系統(tǒng)將會進行cache內容預取,從主存中將相應的塊讀取到cache中相應的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入到cache中。對于寫通類型的cache,數(shù)據(jù)將會同時被寫入到主存中,對于寫回類型的cache數(shù)據(jù)將在合適的時候寫回到主存中。,4.1 存儲器系統(tǒng)概述,4.1.3 存儲管理單元 MMU(Memory Manage Unit, 存儲管理單元)在CPU和物理內存之間進行地址轉換,將地址從邏輯空間映射到物理空間,這個轉換過程一般稱為內存映射。 MMU主要完成以下工作: (1)虛擬存儲空間到物理存儲空間的映射。采用了頁

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

7、執(zhí)行過程中具有局部性的原理,在一段時間內,對頁表的訪問只是局限在少數(shù)幾個單元。根據(jù)這一特點,增加了一個小容量(通常為816字)、高速度(訪問速度和CPU中通用寄存器相當)的存儲部件來存放當前訪問需要的地址變換條目,這個存儲部件稱為地址轉換后備緩沖器(Translation Look aside Buffer,TLB)。當CPU訪問內存時,首先在TLB中查找需要的地址變換條目,如果該條目不存在,CPU在從位于內存中的頁表中查詢,并把相應的結果添加到TLB中,更新它的內容。,4.1 存儲器系統(tǒng)概述,當ARM處理器請求存儲訪問時,首先在TLB中查找虛擬地址。如果系統(tǒng)中數(shù)據(jù)TLB和指令TLB是分開的,

8、在取指令時,從指令TLB查找相應的虛擬地址,對于內存訪問操作,從數(shù)據(jù)TLB中查找相應的虛擬地址。 嵌入式系統(tǒng)中虛擬存儲空間到物理存儲空間的映射以內存塊為單位來進行。即虛擬存儲空間中一塊連續(xù)的存儲空間被映射到物理存儲空間中同樣大小的一塊連續(xù)存儲空間。在頁表和TLB中,每一個地址變換條目實際上記錄了一個虛擬存儲空間的內存塊的基地址與物理存儲空間相應的一個內存塊的基地址的對應關系。根據(jù)內存塊大小,可以有多種地址變換。,4.1 存儲器系統(tǒng)概述,嵌入式系統(tǒng)支持的內存塊大小有以下幾種:段(section)大小為1MB的內存塊;大頁(Large Pages)大小為64KB的內存塊;小頁(Small Page

9、s)大小為4KB的內存塊;極小頁(Tiny Pages)大小為1KB的內存塊。極小頁只能以1KB大小為單位不能再細分,而大頁和小頁有些情況下可以在進一步的劃分,大頁可以分成大小為16KB的子頁,小頁可以分成大小為1KB的子頁。 MMU中的域指的是一些段、大頁或者小頁的集合。每個域的訪問控制特性都是由芯片內部的寄存器中的相應控制位來控制的。例如在ARM嵌入式系統(tǒng)中,每個域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。 MMU中的快速上下文切換技術(Fast Context Switch Extension, FCSE)通過修改系統(tǒng)中不同進程的虛擬地址,避免在進行進程間切換時造成的虛

10、擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。,4.1 存儲器系統(tǒng)概述,在嵌入式系統(tǒng)中,I/O操作通常被映射成存儲器操作,即輸入輸出是通過存儲器映射的可尋址外圍寄存器和中斷輸入的組合來實現(xiàn)的。I/O的輸出操作可通過存儲器寫入操作實現(xiàn);I/O的輸入操作可通過存儲器讀取操作實現(xiàn)。這些存儲器映射的I/O空間不滿足cache所要求的特性,不能使用cache技術,一些嵌入式系統(tǒng)使用存儲器直接訪問(DMA)實現(xiàn)快速存儲。,4.1 存儲器系統(tǒng)概述,4.2 嵌入式系統(tǒng)存儲設備分類,4.2.1 存儲器部件的分類 1按在系統(tǒng)中的地位分類 在微機系統(tǒng)中,存儲器可分為主存儲器(Main Memory簡稱內存或主存)和

11、輔助存儲器(Auxiliary Memory,Secondary Memory,簡稱輔存或外存)。 內存是計算機主機的一個組成部分,一般都用快速存儲器件來構成,內存的存取速度很快,但內存空間的大小受到地址總線位數(shù)的限制。內存通常用來容納當前正在使用的或要經(jīng)常使用的程序和數(shù)據(jù),CPU可以直接對內存進行訪問。系統(tǒng)軟件中如引導程序、監(jiān)控程序或者操作系統(tǒng)中的基本輸入輸出部分BIOS都是必須常駐內存。更多的系統(tǒng)軟件和全部應用軟件則在用到時由外存?zhèn)魉偷絻却妗?外存也是用來存儲各種信息的,存放的是相對來說不經(jīng)常使用的程序和數(shù)據(jù),其特點是容量大。外存總是和某個外部設備相關的,常見的外存有軟盤、硬盤、U盤、光盤

12、等。CPU要使用外存的這些信息時,必須通過專門的設備將信息先傳送到內存中。 2按存儲介質分類 根據(jù)存儲介質的材料及器件的不同,可分為磁存儲器(Magnetic Memory),半導體存儲器、光存儲器(Optical Memory)及激光光盤存儲器(Laser Optical Disk)。 3按信息存取方式分類 存儲器按存儲信息的功能,分為隨機存取存儲器(Random Access Memory,RAM)和只讀存儲器(Read Only Memory,ROM)。隨機存取存儲器是一種在機器運行期間可讀、可寫的存儲器,又稱讀寫存儲器。隨機存儲器按信息存儲的方式,可分為靜態(tài)RAM(Static RAM

13、,SRAM),動態(tài)RAM(Dynamic RAM,DRAM)及準靜態(tài)RAM(Pseudostatic RAM,簡稱PSRAM)。,4.2 嵌入式系統(tǒng)存儲設備分類,在機器運行期間只能讀出信息,不能隨時寫入信息的存儲器稱為只讀存儲器。只讀存儲器按功能可分為掩模式(ROM)、可編程只讀存儲器(Programmable ROM,PROM)和可改寫的只讀存儲器(Erasable Programmable ROM,EPROM)。 4.2.2 存儲器的組織和結構 存儲器的容量是描述存儲器的最基本參數(shù),如1MB。存儲器的表示并不唯一,有不同表示方法,每種有不同的數(shù)據(jù)寬度。在存儲器內部,數(shù)據(jù)是存放在二維陣列存儲

14、單元中。陣列以二維的形式存儲,給出的n位地址被分成行地址和列地址(nr十c)。r是行地址數(shù),c是列地址數(shù)。行列選定一個特定存儲單元。如果存儲器外部寬度為1位,那么列地址僅一位;對更寬的數(shù)據(jù),列地址可選擇所有列的一個子集。,4.2 嵌入式系統(tǒng)存儲設備分類,嵌入式系統(tǒng)的存儲器與通用系統(tǒng)的存儲器有所不同,通常由ROM、RAM、EPROM等組成。嵌入式存儲器一般采用存儲密度較大的存儲器芯片,存儲容量與應用的軟件大小相匹配。 4.2.3 常見的嵌入式系統(tǒng)存儲設備 1RAM(隨機存儲器) RAM可以被讀和寫,地址可以以任意次序被讀。常見RAM的種類有SRAM(Static RAM,靜態(tài)隨機存儲器)、DRA

15、M(Dynamic RAM,動態(tài)隨機存儲器)、DDRAM(Double Data Rate SDRAM,雙倍速率隨機存儲器)。其中,SRAM比DRAM運行速度快,SRAM比DRAM耗電多,DRAM需要周期性刷新。而DDRAM是RAM的下一代產品。在133MHz時鐘頻率,DDRAM內存帶寬可以達到13364b/822.1GB/s,在200MHz時鐘頻率,其帶寬可達到20064b/823.2GB/s的海量。,4.2 嵌入式系統(tǒng)存儲設備分類,2ROM(只讀存儲器) ROM在燒入數(shù)據(jù)后,無需外加電源來保存數(shù)據(jù),斷電后數(shù)據(jù)不丟失,但速度較慢,適合存儲需長期保留的不變數(shù)據(jù)。在嵌入式系統(tǒng)中,ROM用固定數(shù)據(jù)

16、和程序。 常見ROM有Mask ROM(掩模ROM)、PROM(Programmable ROM,可編程ROM)、EPROM(Erasable Programmable ROM,可擦寫ROM)、EEPROM(電可擦除可編程ROM,也可表示為E2PROM)、Flash ROM(閃速存儲器) Mask ROM一次性由廠家寫入數(shù)據(jù)的ROM,用戶無法修改。PROM出廠時廠家并沒有寫入數(shù)據(jù),而是保留里面的內容為全0或全1,由用戶來編程一次性寫入數(shù)據(jù)。EPROM可以通過紫外光的照射,擦掉原先的程序,芯片可重復擦除和寫入。E2PROM是通過加電擦除原編程數(shù)據(jù),通過高壓脈沖可以寫入數(shù)據(jù),寫入時間較長。Flas

17、h ROM斷電不會丟失數(shù)據(jù)(NVRAM),可快速讀取,電可擦寫可編程。,4.2 嵌入式系統(tǒng)存儲設備分類,3Flash Memory Flash memory(閃速存儲器)是嵌入式系統(tǒng)中重要的組成部分,用來存儲程序和數(shù)據(jù),掉電后數(shù)據(jù)不會丟失。但在使用Flash Memory時,必須根據(jù)其自身特性,對存儲系統(tǒng)進行特殊設計,以保證系統(tǒng)的性能達到最優(yōu)。 Flash Memory是一種非易失性存儲器NVM(Non-Volatile Memory),根據(jù)結構的不同可以將其分成NOR Flash和NAND Flash兩種。 Flash Memory在物理結構上分成若干個區(qū)塊,區(qū)塊之間相互獨立。NOR Fla

18、sh把整個存儲區(qū)分成若干個扇區(qū)(Sector),而NAND Flash把整個存儲區(qū)分成若干個塊(Block),可以對以塊或扇區(qū)為單位的內存單元進行擦寫和再編程。,4.2 嵌入式系統(tǒng)存儲設備分類,NOR Flash 和NAND Flash的對比: 1、讀寫性能對比 NOR Flash擦除時是以64128KB為單位的塊進行的,執(zhí)行一個寫入擦除操作的時間為5s, NAND Flash擦除是以832KB的塊進行的,執(zhí)行相同的操作最多只需要4ms。 NAND Flash的寫入速度比NOR Flash快很多。 NOR Flash的讀速度比NAND Flash稍快一些,NAND Flash的隨機讀取能力差,

19、適合大量數(shù)據(jù)的連續(xù)讀取。 除了NOR Flash的讀,F(xiàn)lash Memory的其他操作不能像RAM那樣,直接對目標地址進行總線操作。例如執(zhí)行一次寫操作,它必須輸入一串特殊的指令(NOR Flash ),或者完成一段時序(NAND Flash)才能將數(shù)據(jù)寫入到Flash Memory中。,4.2 嵌入式系統(tǒng)存儲設備分類,2、接口對比 NOR Flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節(jié)。 NAND Flash地址、數(shù)據(jù)和命令共用8位總線/16位總線,每次讀寫都要使用復雜的I/O接口串行地存取數(shù)據(jù),8位總線/16位總線用來傳送控制、地址和資料信息。 3、

20、容量和成本對比 NOR Flash容量通常在1 MB8MB之間。而NAND Flash用在8MB以上的產品當中。 在價格方面,NorFlash相比NandFlash來說較高。 如目前市場上一片4Mbyte的AM29lv320NorFlash零售價在20元左右,而一片128MByte的k9f1g08NandFlash零售價在30元左右。,4.2 嵌入式系統(tǒng)存儲設備分類,4、可靠性性對比 所有Flash Memory器件存在位交換現(xiàn)象。Flash Memory在讀寫數(shù)據(jù)過程中,偶然會產生一位或幾位數(shù)據(jù)錯誤,即位反轉(一個bit位發(fā)生翻轉 )。位反轉無法避免,只能通過其他手段對產生的結果進行事后處理

21、。 位反轉的問題多見于NAND Flash,NAND的出現(xiàn)幾率要比Nor Flash大得多 。NAND Flash的供貨商建議使用NAND Flash的時候,同時使用EDC/ECC(錯誤探測錯誤糾正)算法,以確保可靠性。 Flash Memory在使用過程中,可能導致某些區(qū)塊的損壞。區(qū)塊一旦損壞,將無法進行修復。NAND Flash中的壞塊是隨機分布的,尤其是NAND Flash在出廠時就可能存在這樣的壞塊(已經(jīng)被標識出)。NAND Flash需要對介質進行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標記為不可用。如果對已損壞的區(qū)塊進行操作,可能會帶來不可預測的錯誤。,4.2 嵌入式系統(tǒng)存儲設備分類,5、應

22、用方面對比 NOR Flash主要應用在代碼存儲介質中,應用程序可以直接在NOR Flash內運行,不需要再把代碼讀到系統(tǒng)RAM中運行。 NAND Flash適用于資料存儲。NAND Flash結構可以達到高存儲密度,并且寫入和擦除的速度也很快。 NAND Flash讀和寫操作采用512B的塊,類似硬盤管理操作。因此,基于NAND的閃存可以取代硬盤或其他塊設備。 在NOR Flash上運行代碼不需要任何的軟件支持。在NAND Flash上進行同樣操作時,通常需要驅動程序,也就是內存技術驅動程序(MTD )。NAND Flash和NOR Flash在進行寫入和擦除操作時都需要MTD。,4.2 嵌

23、入式系統(tǒng)存儲設備分類,6、壽命對比 在NAND Flash中每個塊的最大擦寫次數(shù)是一百萬次,而NOR Flash的擦寫次數(shù)是十萬次。 NAND Flash除了具有10:1的塊擦除周期優(yōu)勢,典型的NAND Flash塊尺寸要比NOR型閃存小8倍,每個NAND Flash的內存塊在給定的時間內刪除次數(shù)要少一些。,4.2 嵌入式系統(tǒng)存儲設備分類,4標準存儲卡(Compact Flash,CF卡) CF卡是利用Flash技術的存儲卡,內部結構如圖4.2.1所示,接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PC Card模式。衍生出來的CF+卡物理規(guī)格和CF完全相同,在手持設

24、備上應用,如CF串口卡、CF Modem. CF藍牙、CF USB卡、CF網(wǎng)卡、CF GPS卡、CF GPRS卡等。按照CF+卡標準,它不一定要支持ATA接口。通常建議CF+卡工作在PCMCIA模式。CF卡可以看作是PCMCIA卡的一個子集,可以通過物理上的轉換器,直接轉換成PCMCIA卡使用。,4.2 嵌入式系統(tǒng)存儲設備分類,CF卡可分為I型和II型兩類,二者的規(guī)格和特性基本相同,只是II型比I型略厚一些(5.0mm,3.3mm),II型插座可以同時兼容I型卡。,圖4.2.1 CF卡內部結構,4.2 嵌入式系統(tǒng)存儲設備分類,CF卡有3種工作模式:PC卡ATA I/O模式、PC卡ATA存儲模式

25、和實IDE模式。實IDE模式與IDE接口完全兼容。CF卡遵循ATA協(xié)議,屬于塊存儲設備,存儲單元是通過磁頭(head)、柱面(cylinder,也稱磁道)和扇區(qū)(sector )組織起來的。在物理尋址(CHS)方式下,每一組H/C/S參數(shù)唯一確定存儲卡中的一個扇區(qū),通常一個扇區(qū)擁有512B的數(shù)據(jù)空間。一個驅動數(shù)格式化后的容量為磁頭數(shù)柱面數(shù)扇區(qū)數(shù)512字節(jié)。在物理尋址模式下,扇區(qū)(S)是最低的地址單位,其次是磁頭(H),最后的柱面(C)為最高尋址單位。此外,還有邏輯尋址方式(LBA)。在這種尋址方式下,CF卡按照以連續(xù)序列的邏輯扇區(qū)編號進行尋址,主機不必知道CF卡的物理幾何結構。使用28個數(shù)據(jù)位

26、來表示邏輯扇區(qū)的地址,可以尋址228個扇區(qū),理論上可以尋址136GB的容量。物理尋址方式與邏輯尋址方式的對應關系如下所示:,LBA=NHNSC+NCH+S-1; C=(LBA div NS)div NH; H=(LBA div NS)mod NH; S=(LBA mod NS)+1。 其中:NS為每磁道扇區(qū)數(shù),NH為磁頭數(shù),C、H、S分別表示磁盤的柱面、磁頭和扇區(qū)編號,LBA表示邏輯扇區(qū)號,div為整除計算,mod為求余計算。,5安全數(shù)據(jù)卡(Secure Digital Card,SD卡) 由日本Panasonic公司、TOSHIBA公司和美國SanDisk公司共同開發(fā)研制的SD卡是一種全新的

27、存儲卡產品,在MP3、數(shù)碼攝像機、數(shù)碼相機、電子圖書及AV器材等中應用。SD存儲卡采用一個完全開放的標準(系統(tǒng)),外形與MultiMedia卡保持一致,比MMC卡略厚,具有更大的容量,兼容MMC卡接口規(guī)范。SD卡具有加密功能,可以保證數(shù)據(jù)資料的安全保密。SD卡具有版權保護技術,所采用的版權保護技術是DVD中使用的CPRM技術(可刻錄介質內容保護)。 6硬盤存儲器 硬盤存儲器具有存儲容量大,使用壽命長,存取速度較快的特點,也是在嵌入式系統(tǒng)中常用的外存。,硬盤存儲器的硬件包括硬盤控制器(適配器)、硬盤驅動器以及連接電纜。硬盤控制器(Hard Disk Controller,簡稱HDC)對硬盤進行管

28、理,并在主機和硬盤之間傳送數(shù)據(jù)。硬盤控制器以適配卡的形式插在主板上或直接集成在主板上,然后通過電纜與硬盤驅動器相連。硬盤驅動器(Hard Disk Drive,簡稱HDD)中有盤片、磁頭、主軸電機(盤片旋轉驅動機構)、磁頭定位機構、讀寫電路和控制邏輯等。 硬盤存儲器可分為溫徹斯特盤和非溫徹斯特盤兩類。溫徹斯特盤是根據(jù)溫徹斯特技術設計制造的,它的磁頭、盤片、磁頭定位機構、主軸、甚至連讀寫驅動電路等都被密封在一個盤盒內,構成一個頭一盤組合體。溫徹斯特盤的防塵性能好,可靠性高,對使用環(huán)境要求不高。非溫徹斯特盤磁盤的磁頭和盤片等不是密封的,通常只能用于中型、大型計算機機房中。 最常見的硬盤接口是IDE

29、(ATA)和SCSI兩種,一些移動硬盤采用PCMCIA或USB接口。,IDE( Integrated Drive Electronics)接口也稱為ATA(美國國家標準協(xié)會)接口,是一個通用的硬盤接口。IDE接口的硬盤可細分為ATA-1(IDE)、ATA-2(EIDE)、ATA-3(Fast ATA-2)、ATA-4(包括Ultra ATA、Ultra ATA/33、Ultra ATA/66)與Serial ATA(包括Ultra ATA/100及其他后續(xù)的接口類型)。基本的IDE接口數(shù)據(jù)傳輸率為4.1 MB/s,傳輸方式有PIO和DMA兩種,支持總線為ISA和EISA。ATA-2、ATAPI

30、和針對PCI總線的FAST-ATA、FAST-ATA2等數(shù)據(jù)傳輸率達到了16.67MB/s。Ultra DMA/33接口(稱為EIDE接口),采用PIO模式,數(shù)據(jù)傳輸率達到33MB/s。UltraDMA/66接口的傳輸率為Ultra DMA/33的兩倍,采用CRC(循環(huán)冗余循環(huán)校驗)技術以保證數(shù)據(jù)傳輸?shù)陌踩?,并且使用?0線的專用連接電纜,是現(xiàn)在市場上主流的硬盤接口類型。Ultra ATA/ 100是最有前景的硬盤接口,它的理論最大外部數(shù)據(jù)傳輸率可以高達100MB/s。,SCSI(Small Computer System Interface,小型計算機系統(tǒng)接口)不是專為硬盤設計的,是一種總

31、線型接口。SCSI獨立于系統(tǒng)總線工作,其系統(tǒng)占用率極低,但其價格昂貴,具有這種接口的硬盤大多用于服務器等高端應用場合。,4.3 NOR Flash接口電路,4.3.1 NOR Flash存儲器Am29LV160D Am29LV160D是AMD公司的一款NOR Flash存儲器,存儲容量為2M8Bit/1M16Bit,接口與CMOS I/O兼容,工作電壓為2.73.6V,讀操作電流為9mA,編程和擦除操作電流為20mA,待機電流為200nA。采用FBGA-48、TSOP-48、SO-44 三種封裝形式。 Am29LV160D僅需3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,通過對其內部的命令寄存器

32、寫入標準的命令序列,可對Flash進行編程(燒寫)、整片擦除、按扇區(qū)擦除,以及其他操作。以16位(字模式)數(shù)據(jù)寬度的方式工作。 Am29LV160D的邏輯框圖如圖4.3.1所示,引腳端功能如表4.3.1所示。,圖4.3.1 Am29LV160D的邏輯框圖,4.3 NOR Flash接口電路,4.3 NOR Flash接口電路,4.3.2 S3C2410A與NOR Flash存儲器的接口電路 S3C2410A與Am29LV160D的接口電路如圖4.3.2所示。 Flash存儲器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復位后從此獲取指令并開始執(zhí)行,因此,應將存有程序代碼的Flash存儲器配置到Ba

33、nk0,即將S3C2410A的nGCS0接至Am29LV160D的CE(nCE)端。Am29LV160D的OE(nOE)端接S3C2410X的nOE;WE(nXE)端S3C2410X的nWE相連;地址總線A19A0與S3C2410X的地址總線ADDR20ADDR1(A20A1)相連;16位數(shù)據(jù)總線DQ15DQ0與S3C2410X的低16位數(shù)據(jù)總線DATA15DATA0(D15D0)相連。 注意:此時應將BWSCON中的DW0設置為01,即選擇16位總線方式。,4.3 NOR Flash接口電路,圖4.3.2 S3C2410A與Am29LV160D的接口電路,S3C2410A與28F128J3A

34、的接口電路如圖4.3.3所示。S3C2410X的nGCS0接至28F128J3A的CE0(nCE)端。28F128J3A的OE(nOE)端接S3C2410X的nOE;WE(nWE)端S3C2410X的nWE相連;地址總線A24A1與S3C2410X的地址總線ADDR24ADDR1(A24A1)相連,A0直接接地;16位數(shù)據(jù)總線DQ15DQ0與S3C2410X的低16位數(shù)據(jù)總線DATA15DATA0(D15D0)相連。,4.3 NOR Flash接口電路,圖4.3.3 S3C2410A與28F128J3A的接口電路,4.4 NAND Flash接口電路,4.4.1 S3C2410A NAND F

35、lash控制器 1S3C2410A NAND Flash控制器特性 NAND Flash控制器具有以下特性。 NAND Flash模式:支持讀擦除編程NAND Flash存儲器。 自動啟動模式:復位后,啟動代碼被傳送到Steppingstone中。傳送完畢后,啟動代碼在Steppingstone中執(zhí)行。 具有硬件ECC產生模塊(硬件生成校驗碼和通過軟件校驗)。 在NAND Flash啟動后,Steppingstone 4KB內部SRAM緩沖器可以作為其他用途使用。 NAND Flash控制器不能通過DMA訪問,可以使用LDM/ STM指令來代替DMA操作。,S3C2410A可以在一個外部NAN

36、D Flash存儲器上執(zhí)行啟動代碼,用來實現(xiàn)這一想法。為了支持NAND Flash的啟動裝載(boot loader),S3C2410A配置了一個叫做“Steppingstone”的內部SRAM緩沖器。當系統(tǒng)啟動時,NAND Flash存儲器的前4KB將被自動加載到Steppingstone中,然后系統(tǒng)自動執(zhí)行這些載入的啟動代碼。 在一般情況下,啟動代碼將復制NAND Flash的內容到SDRAM中。 使用S3C2410A內部硬件ECC功能可以對NAND Flash的數(shù)據(jù)的有效性進行檢查。在復制完成后,將在SDRAM中執(zhí)行主程序。 2S3C2410A NAND Flash控制器結構 NAND

37、Flash控制器的內部結構方框圖如圖4.4.1所示。NAND Flash的工作模式如圖4.4.2所示。,4.4 NAND Flash接口電路,圖4.4.1 NAND Flash控制器內部結構方框圖,自動啟動模式的時序如下: (1)完成復位; (2)當自動啟動模式使能時,首先將NAND Flash存儲器的前4 KB內容自動復制到Steppingstone 4 KB內部緩沖器中; (3)Steppingstone映射到nGCSO; (4)CPU開始執(zhí)行在Steppingstone 4 KB內部緩沖器中的啟動代碼。 注意:在自動啟動模式,不進行ECC檢測。因此,應確保NAND Flash的前4 KB

38、不能有位錯誤。,4.4 NAND Flash接口電路,NAND Flash模式配置: (1)利用NFCONF寄存器設置NAND Flash配置; 用來使能NAND Flash控制器;設置NAND Flash的訪問時序等。 (2)寫NAND Flash命令到NFCMD寄存器; 如:將要讀取Nand flash 存儲空間中一個頁的前半部分,命令代碼:00h;讀取Nand flash 芯片的ID 號,命令代碼:90h (3)寫NAND Flash地址到NFADDR寄存器; 一片Nand flash 為一個設備(device), 其數(shù)據(jù)存儲分層為: 1 設備(Device) = 4096 塊;1 塊(

39、Block) = 32 頁;1 塊(Page) = 528 字節(jié)(Bytes);512 個字節(jié)又分為前半部分和后半部分。 (4)在檢查NAND Flash狀態(tài)時,利用NFSTAT寄存器讀寫數(shù)據(jù)。在讀操作之前或者編程操作之后應該檢查R/nB信號。 數(shù)據(jù)寄存器(NFDATA) ,讀出、寫入Nand flash存儲空間的值存放到該寄存器。,圖4.4.2 NAND Flash的操作模式,4.4 NAND Flash接口電路,NAND Flash控制器的引腳配置如表4.4.1所列。,表4.4.1 NAND Flash控制器的引腳配置,4.4 NAND Flash接口電路,BOOT(啟動)和NAND Fl

40、ash配置如下: (1)OM1: 0=00b:使能NAND Flash控制器為自動啟動模式; (2)NAND Flash存儲器的頁面大小應該為512字節(jié); (3)NCON:NAND Flash存儲器尋址步選擇。0為3步尋址;1為4步尋址。,4.4 NAND Flash接口電路,在寫讀操作期間,S3C2410A自動生成512字節(jié)的ECC奇偶校驗碼。每個512字節(jié)數(shù)據(jù)的ECC奇偶校驗碼由3字節(jié)組成。 24位ECC奇偶校驗碼=18位行奇偶6位列奇偶 ECC生成模塊執(zhí)行以下操作: (1)當MCU寫數(shù)據(jù)到NAND時,ECC生成模塊產生ECC代碼。 (2)當MCU從NAND讀數(shù)據(jù)時,ECC生成模塊產生EC

41、C代碼,同時用戶程序將它與先前寫入的ECC代碼進行比較。,4.4 NAND Flash接口電路,4.4.2 S3C2410A與NAND Flash存儲器的接口電路 K9F1208UDM-YCB0的存儲容量為64M字節(jié),數(shù)據(jù)總線寬度為8位,工作電壓為2.7V3.6V,采用TSOP-48封裝。僅需單3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,引腳端功能如表4.4.3所示。 S3C2410A與NAND Flash存儲器K9F1208UDM-YCB0(三星)接口電路如圖4.4.4所示。,4.4 NAND Flash接口電路,表4.4.3 K9F1208UDM的引腳功能,4.4 NAND Flash接口

42、電路,圖4.4.4 S3C2410A與K9F1208UDM-YCB0接口電路,(注意:原理圖中LDATA修改為DATA,U4刪除,VDD33V修改為VDD33,U-K9F1208UDM-YC80修改為K9F1208UDM-YCB0),K9F1208UDM的I/O口既可接收和發(fā)送數(shù)據(jù),也可接收地址信息和控制命令。在CLE有效時,鎖存在I/O口上的是控制命令字;在ALE有效時,鎖存在I/O口上的是地址;/RE或/WE有效時,鎖存的是數(shù)據(jù)。這種一口多用的方式可以大大減少總線的數(shù)目,只是控制方式略微有些復雜。利用S3C2410X處理器的NAND Flash控制器可以解決這個問題。 在圖4.4.4中,K

43、9F1208UDM的ALE和CLE端分別與S3C2410A的ALE和CLE端連接,8位的I/O7I/O0與S3C2410A低8位數(shù)據(jù)總線DATA7DATA0相連,/WE、/RE和/CE分別與S3C2410A的nFWE、nFRE和nFCE相連,R/B與RnB相連,為增加穩(wěn)定性R/nB端口連接了一個上拉電阻。同時,S3C2410A的NCON配置端口必須連接一個上拉電阻,,4.4 NAND Flash接口電路,4.5 SDRAM接口電路,SDRAM可讀可寫,不具有掉電保持數(shù)據(jù)的特性,但其存取速度大大高于Flash存儲器。 在嵌入式系統(tǒng)中,SDRAM主要用做程序的運行空間、數(shù)據(jù)及堆棧區(qū)。當系統(tǒng)啟動時,

44、CPU首先從復位地址0 x0處讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼一般應調入SDRAM中運行,以提高系統(tǒng)的運行速度。同時,系統(tǒng)及用戶堆棧、運行數(shù)據(jù)也都放在SDRAM中。 SDRAM在各種嵌入式系統(tǒng)中應用時,為避免數(shù)據(jù)丟失,必須定時刷新。因此要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。S3C2410X及其他一些ARM芯片在片內具有獨立的SDRAM刷新控制邏輯,可方便地與SDRAM接口。但某些ARM芯片則沒有SDRAM刷新控制邏輯,不能直接與SDRAM接口,在進行系統(tǒng)設計時應注意這一點。 目前常用的SDRAM為8位/16位的數(shù)據(jù)寬度,工作電壓一般為3.3V。主要的生產

45、廠商為HYUNDAI,Winbond等,同類型器件一般具有相同的電氣特性和封裝形式,可以通用。,HY57V561620存儲容量為4組64M位,工作電壓為3.3V,常見封裝為TSOP-54,兼容LVTTL接口,支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數(shù)據(jù)寬度。HY57V561620引腳功能如表4.4.4所示。 S3C2410X與SDRAM存儲器HY57V561620接口電路如圖4.4.5所示。,表4.4.4 HY57V561620引腳功能,(引腳端19 nGCS0修改為nGCS6) 圖4.4.5 S3C2410X與SDRAM存儲器HY57V561620

46、的接口電路,根據(jù)系統(tǒng)需求,可構建16位或32位的SDRAM存儲器系統(tǒng),但為充分發(fā)揮32位CPU的數(shù)據(jù)處理能力,本設計采用32位的SDRAM存儲器系統(tǒng)。HY57V561620為16位數(shù)據(jù)寬度,單片容量為32MB,系統(tǒng)選用兩片HY57V561620并聯(lián)構建32位的SDRAM存儲器系統(tǒng),共64MB的SDRAM空間,可滿足嵌入式操作系統(tǒng)及各種相對較復雜的算法的運行要求。與Flash存儲器相比,SDRAM的控制信號較多,其連接電路也要相對復雜一些。 兩片HY57V561620并聯(lián)構建32位的SDRAM存儲器系統(tǒng),其中一片為高16位,另一片為低16位,可將兩片HY57V561620作為一個整體配置到Ban

47、k6即將S3C2410X的nGCS6接至兩片HY57V561620的/CS端。 高位HY57V561620的CLK端連接到S3C2410X的SCLK1端,低位HY57V561620的CLK端連接到S3C2410X的SCLK0端;,兩片HY57V561620的CKE端連接到S3C2410X的SCKE端; 兩片HY57V561620的/RAS、/CAS. /WE端分別連接到S3C2410X的nSRAS端、nSCAS端、nWE端; 兩片HY57V561620的A12A0連接到S3C2410X的地址總線ADDR14ADDR2(A14A2); 兩片HY57V561620的BA1、BA0連接到S3C241

48、0X的地址總線ADDR25(A25)、ADDR24(A24); 高16位片的DQ15DQ0連接到S3C2410X的數(shù)據(jù)總線的高16位DATA8DATA16(D8D16),低16位片的DQ15DQ0連接到S3C2410X的數(shù)據(jù)總線的低16位DATA15DATA0(D15D0); 高16位片的UDQM、LDQM分別連接到S3C2410X的nWEB3、nWEB2,低16位片的UDQM、LDQM分別連接到S3C2410X的nWEB1、nWEB0。 注意:此時應將BWSCON中的DW6設置為10,即選擇32位總線方式。,4.6 CF卡接口電路,4.6.1 PCMCIA接口規(guī)范 1990年9月,PCMCI

49、A(Personal Computer Memory Card International Association,PC機內存卡國際聯(lián)合會)推出了PCMCIA 1.0規(guī)范,該規(guī)范是針對各類存儲卡或虛擬盤設計的,其目的是為了建立一個物理尺寸較小、低功耗的、靈活的存儲卡標準,采用16位體系結構, JEIDA(Janpanese Electronics Industry Development Association)68引腳的接口。1991年,PCMCIA推出了2.0規(guī)范,添加了對I/O設備的規(guī)范,以方便用戶擴展I/O設備,但接口仍采用與1.0規(guī)范兼容的68引腳的接口;同時,PCMCIA對其驅動程

50、序的架構也作了規(guī)范,以便于軟件開發(fā)人員開發(fā)的驅動程序可以相互兼容。隨著多媒體和高速網(wǎng)絡的發(fā)展,PCMCIA又開發(fā)了32位的CardBUS?,F(xiàn)在,基于PCMCIA的設備已經(jīng)在筆記本電腦、數(shù)碼相機、機頂盒、車載設備、手持設備、PDA等方面被廣泛的采用。越來越多的產品都需要接口具有可擴展模塊化的功能,因此PCMCIA也將自己的目標定位為 “發(fā)展模塊化外設的標準,并將他們推廣到全世界”。,PCMCIA物理上定義了68個引腳,卡片有16位和32位之分。16位的PCMCIA卡通常叫PCCard,其時序和ISA總線類似,速度較慢。采用32位PCMCIA標準的稱做CardBus卡,其運行頻率達到33MHz,可

51、以滿足一般局域網(wǎng)及寬帶應用的要求。CardBus接口的信號傳輸協(xié)議起源于PCI局部總線信號傳輸協(xié)議,支持以任何組合形式實現(xiàn)多個總線功能??偩€主控功能可為處理器分擔任務,有利于在多任務環(huán)境中改善系統(tǒng)的吞吐量。CardBus卡可以在移動環(huán)境下應用。PCMCIA接口和系統(tǒng)總線接口通常需要一個HBA(Host Bus Adepter)運行轉換,這個HBA可以是一個芯片,也可以是一些邏輯。PCMCIA卡可以支持5V和3.3V的供電電壓,PCMCIA規(guī)范中采用電壓敏感VS(Voltage Sense)信號識別插入的PCMCIA卡的工作電壓。,PCMCIA卡可以分為I型(TYPEI)、II型(TYPEII)

52、、III型(TYPEIII)、擴展TYPEI和擴展TYPEII 5種,其中I型III型PCMCIA卡的外形尺寸為85.60mm54.00mm,卡的厚度分別為3.3mm、5.0mm和10.5mm。而擴展TYPEI和擴展TYPEII的PCMCIA卡可以兼容某些尺寸較大的接口,如RJ45接口等。 PCMCIA規(guī)范里一共定義了6類PCMCIA內存卡,分別是內存卡、I/O卡(內存或I/O)、硬盤ATA(AT Attachment for IDE drivers)接口、DMA(Direct Memory Access)接口、AIM S(Auto-Indexing Mass Storage)和32位PC卡接

53、口CardBus。,4.6.2 S3C2410A的CF卡接口電路 CF卡接口采用50個引腳,II型卡并完全符合PCMCIA電氣和機械接口規(guī)格(PCMCIA卡為68個引腳),同時支持3.3V和5V的電壓。在50個引腳中,其中有16根數(shù)據(jù)線、11根地址線(在TureIDE模式下僅用3根地址線)、2根寄存器組選擇信號線(CS0和CS1)、數(shù)據(jù)的讀寫線(IORD和IOWR)、1根中斷信號請求線(INTRQ)和1根復位線(RESET)。CF卡可以工作在16位或者8位數(shù)據(jù)總線方式。若選擇8位工作方式,CS1固定接于高電平,CS0低電平有效。INTRQ用于判斷CF卡是否處于讀寫忙狀態(tài)。 與S3C2410A連

54、接的CF卡接口電路如圖4.6.1所示。,圖4.6.1 CF卡接口電路,4.6.3 CF卡的讀寫操作 CF卡可以配置工作在存儲模式和I/O模式。CF卡使用標準ATA命令實現(xiàn)存儲塊的讀寫操作。每個存儲塊包含512字節(jié),在訪問CF卡之前,必須進行初始化操作。初始化過程包括GPIO配置、卡檢測和復位。 (1)存儲模式訪問 讀取卡信息結構??ㄐ畔⒔Y構包含CF卡的相關信息。 寫存儲塊。CF卡存儲器一般采用Nand Flash,需要使用ATA命令來完成讀寫操作。CF卡采用塊方式進行讀寫操作,每塊的大小為512字節(jié),寫數(shù)據(jù)的操作步驟如下: (a)寫塊數(shù)到扇區(qū)計數(shù)器寄存器; (b)寫LBA地址;,(c)發(fā)送0

55、x30命令來啟動傳輸。 當CF卡接收到該命令后,將會使能DRQ信號并清除BSY信號,等待主機寫入數(shù)據(jù),規(guī)定的數(shù)據(jù)寫完后DRQ會被清除。 讀存儲塊。與寫存儲塊大致相同,只是命令不一樣,下面是一個典型的操作序列: (a)寫塊數(shù)到扇區(qū)計數(shù)器寄存器; (b)寫LBA地址; (c)發(fā)送0 x20命令來啟動傳輸。 當CF卡接收到該命令后,將會使能DRQ信號并清除BSY信號,等待主機讀出數(shù)據(jù),當規(guī)定的數(shù)據(jù)寫完后DRQ將會被清除。,(2)I/O模式訪問 配置CF卡工作在I/O模式??梢酝ㄟ^CF卡的配置寄存器將其配置為I/O模式。 寫存儲塊。I/O模式下寫存儲塊與存儲模式類似,惟一的區(qū)別就是需要使用正確的地址空

56、間,步驟如下: (a)寫塊數(shù)到扇區(qū)計數(shù)器寄存器; (b)然后寫LBA地址; (c)發(fā)送0 x30命令來啟動傳輸。 讀存儲塊。I/O模式下讀存儲塊步驟如下: (a)寫塊數(shù)到扇區(qū)計數(shù)器寄存器; (b)然后寫LBA地址; (c)發(fā)送0 x20命令來啟動傳輸。,4.7 SD卡接口電路,4.7.1 SD卡的接口規(guī)范 SD存儲卡兼容MMC卡接口規(guī)范,采用9芯的接口(CLK為時鐘線,CMD為命令響應線,DAT0DAT3為雙向數(shù)據(jù)傳輸線,VDD、Vss1和Vss2為電源和地),最大的工作頻率是25MHz,標準SD的外形尺寸是24mm32mm2.1mm,SD卡的外形和接口如圖4.7.1所示,SD卡引腳定義如表4

57、.7.1所示。SD卡原理圖如圖4.7.2所示。 SD卡系統(tǒng)支持SD和SPI方式兩種通信協(xié)議。SD卡在結構上使用一主多從星型拓撲結構,拓撲圖如圖4.7.3所示。,圖4.7.1 SD卡的外形和接口,圖4.7.2 SD卡原理圖圖,表4.7.1 SD卡引腳定義,圖4.7.3 SD卡系統(tǒng)的總線拓撲圖,4.7.2 S3C2410A的SD卡接口電路 S3C2410A內部集成了SD模塊,SD卡接口電路如圖4.7.4所示。,圖4.7.4 SD卡接口電路,4.8 IDE接口電路,4.8.1 S3C2410A 的IDE接口電路 IDE采用40線扁平電纜連接,在IDE的接口中,除了對AT總線上的信號作必要的控制之外,基本上是原封不動地送往硬盤驅動器。IDE接口電路如圖4.8.1所示。,圖4

溫馨提示

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

最新文檔

評論

0/150

提交評論