第4章 南京理工大學(xué)嵌入式嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)_第1頁(yè)
第4章 南京理工大學(xué)嵌入式嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)_第2頁(yè)
第4章 南京理工大學(xué)嵌入式嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)_第3頁(yè)
第4章 南京理工大學(xué)嵌入式嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)_第4頁(yè)
第4章 南京理工大學(xué)嵌入式嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章嵌入式系統(tǒng)的存儲(chǔ)器系統(tǒng)LOREMIPSUMDOLOR4.1存儲(chǔ)器系統(tǒng)概述4.1.1存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器被組織成一個(gè)6個(gè)層次的金字塔形的層次結(jié)構(gòu),如圖4.1.1[魏洪興]所示,位于整個(gè)層次結(jié)構(gòu)的最頂部S0層為CPU內(nèi)部寄存器S1層為芯片內(nèi)部的高速緩存(cache)內(nèi)存S2層為芯片外的高速緩存(SRAM、DRAM、DDRAM)S3層為主存儲(chǔ)器(Flash、PROM、EPROM、EEPROM)S4層為外部存儲(chǔ)器(磁盤(pán)、光盤(pán)、CF、SD卡)S5層為遠(yuǎn)程二級(jí)存儲(chǔ)(分布式文件系統(tǒng)、Web服務(wù)器)圖4.1.1存儲(chǔ)器系統(tǒng)層次結(jié)構(gòu)LOREMIPSUMDOLOR在這種存儲(chǔ)器分層結(jié)構(gòu)中,上面一層的存儲(chǔ)器作為下一層存儲(chǔ)器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來(lái)自cache的字;cache又是內(nèi)存層的高速緩存,從內(nèi)存中提取數(shù)據(jù)送給CPU進(jìn)行處理,并將CPU的處理結(jié)果返回到內(nèi)存中;內(nèi)存又是主存儲(chǔ)器的高速緩存,它將經(jīng)常用到的數(shù)據(jù)從Flash等主存儲(chǔ)器中提取出來(lái),放到內(nèi)存中,從而加快了CPU的運(yùn)行效率。嵌入式系統(tǒng)的主存儲(chǔ)器容量是有限的,磁盤(pán)、光盤(pán)或CF、SD卡等外部存儲(chǔ)器用來(lái)保存大信息量的數(shù)據(jù)。在某些帶有分布式文件系統(tǒng)的嵌入式網(wǎng)絡(luò)系統(tǒng)中,外部存儲(chǔ)器就作為其他系統(tǒng)中被存儲(chǔ)數(shù)據(jù)的高速緩存。LOREMIPSUMDOLOR4.1.2高速緩沖存儲(chǔ)器在主存儲(chǔ)器和CPU之間采用高速緩沖存儲(chǔ)器(cache)被廣泛用來(lái)提高提高存儲(chǔ)器系統(tǒng)的性能,許多微處理器體系結(jié)構(gòu)都把它作為其定義的一部分。cache能夠減少內(nèi)存平均訪(fǎng)問(wèn)時(shí)間。Cache可以分為統(tǒng)一cache和獨(dú)立的數(shù)據(jù)/程序cache。在一個(gè)存儲(chǔ)系統(tǒng)中,指令預(yù)取時(shí)和數(shù)據(jù)讀寫(xiě)時(shí)使用同一個(gè)cache,這時(shí)稱(chēng)系統(tǒng)使用統(tǒng)一的cache。如果在一個(gè)存儲(chǔ)系統(tǒng)中,指令預(yù)取時(shí)使用的一個(gè)cache,數(shù)據(jù)讀寫(xiě)時(shí)使用的另一個(gè)cache,各自是獨(dú)立的,這時(shí)稱(chēng)系統(tǒng)使用了獨(dú)立的cache,用于指令預(yù)取的cache稱(chēng)為指令cache,用于數(shù)據(jù)讀寫(xiě)的cache稱(chēng)為數(shù)據(jù)cache。當(dāng)CPU更新了cache的內(nèi)容時(shí),要將結(jié)果寫(xiě)回到主存中,可以采用寫(xiě)通法(write-through)和寫(xiě)回法(write-back)。寫(xiě)通法是指CPU在執(zhí)行寫(xiě)操作時(shí),必須把數(shù)據(jù)同時(shí)寫(xiě)入cache和主存。采用寫(xiě)通法進(jìn)行數(shù)據(jù)更新的cache稱(chēng)為寫(xiě)通cache。寫(xiě)回法是指CPU在執(zhí)行寫(xiě)操作時(shí),被寫(xiě)的數(shù)據(jù)只寫(xiě)入cache不寫(xiě)入主存。僅當(dāng)需要替換時(shí),才把已經(jīng)修改的cache塊寫(xiě)回到主存中。采用寫(xiě)回法進(jìn)行數(shù)據(jù)更新的cache稱(chēng)為寫(xiě)回cache。LOREMIPSUMDOLOR當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),可以將cache分為讀操作分配cache和寫(xiě)操作分配cache兩類(lèi)。對(duì)于讀操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),如果cache未命中,只是簡(jiǎn)單地將數(shù)據(jù)寫(xiě)入主存中。主要在數(shù)據(jù)讀取時(shí),才進(jìn)行cache內(nèi)容預(yù)取。對(duì)于寫(xiě)操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫(xiě)操作時(shí),如果cache未命中,cache系統(tǒng)將會(huì)進(jìn)行cache內(nèi)容預(yù)取,從主存中將相應(yīng)的塊讀取到cache中相應(yīng)的位置,并執(zhí)行寫(xiě)操作,把數(shù)據(jù)寫(xiě)入到cache中。對(duì)于寫(xiě)通類(lèi)型的cache,數(shù)據(jù)將會(huì)同時(shí)被寫(xiě)入到主存中,對(duì)于寫(xiě)回類(lèi)型的cache數(shù)據(jù)將在合適的時(shí)候?qū)懟氐街鞔嬷小OREMIPSUMDOLOR4.1.3存儲(chǔ)管理單元MMU(MemoryManageUnit,存儲(chǔ)管理單元)在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個(gè)轉(zhuǎn)換過(guò)程一般稱(chēng)為內(nèi)存映射。MMU主要完成以下工作:(1)虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射。采用了頁(yè)式虛擬存儲(chǔ)管理,它把虛擬地址空間分成一個(gè)個(gè)固定大小的塊,每一塊稱(chēng)為一頁(yè),把物理內(nèi)存的地址空間也分成同樣大小的頁(yè)。MMU實(shí)現(xiàn)的就是從虛擬地址到物理地址的轉(zhuǎn)換。(2)存儲(chǔ)器訪(fǎng)問(wèn)權(quán)限的控制。(3)設(shè)置虛擬存儲(chǔ)空間的緩沖的特性。LOREMIPSUMDOLOR嵌入式系統(tǒng)中常常采用頁(yè)式存儲(chǔ)管理。頁(yè)表是存儲(chǔ)在內(nèi)存中的一個(gè)表,頁(yè)表用來(lái)管理這些頁(yè)。頁(yè)表的每一行對(duì)應(yīng)于虛擬存儲(chǔ)空間的一個(gè)頁(yè),該行包含了該虛擬內(nèi)存頁(yè)對(duì)應(yīng)的物理內(nèi)存頁(yè)的地址、該頁(yè)的方位權(quán)限和該頁(yè)的緩沖特性等。從虛擬地址到物理地址的變換過(guò)程就是查詢(xún)頁(yè)表的過(guò)程。例如在ARM嵌入式系統(tǒng)中,使用系統(tǒng)控制協(xié)處理器CP15的寄存器C2來(lái)保存頁(yè)表的基地址。基于程序在執(zhí)行過(guò)程中具有局部性的原理,在一段時(shí)間內(nèi),對(duì)頁(yè)表的訪(fǎng)問(wèn)只是局限在少數(shù)幾個(gè)單元。根據(jù)這一特點(diǎn),增加了一個(gè)小容量(通常為8~16字)、高速度(訪(fǎng)問(wèn)速度和CPU中通用寄存器相當(dāng))的存儲(chǔ)部件來(lái)存放當(dāng)前訪(fǎng)問(wèn)需要的地址變換條目,這個(gè)存儲(chǔ)部件稱(chēng)為地址轉(zhuǎn)換后備緩沖器(TranslationLookasideBuffer,TLB)。當(dāng)CPU訪(fǎng)問(wèn)內(nèi)存時(shí),首先在TLB中查找需要的地址變換條目,如果該條目不存在,CPU在從位于內(nèi)存中的頁(yè)表中查詢(xún),并把相應(yīng)的結(jié)果添加到TLB中,更新它的內(nèi)容。LOREMIPSUMDOLOR當(dāng)ARM處理器請(qǐng)求存儲(chǔ)訪(fǎng)問(wèn)時(shí),首先在TLB中查找虛擬地址。如果系統(tǒng)中數(shù)據(jù)TLB和指令TLB是分開(kāi)的,在取指令時(shí),從指令TLB查找相應(yīng)的虛擬地址,對(duì)于內(nèi)存訪(fǎng)問(wèn)操作,從數(shù)據(jù)TLB中查找相應(yīng)的虛擬地址。嵌入式系統(tǒng)中虛擬存儲(chǔ)空間到物理存儲(chǔ)空間的映射以?xún)?nèi)存塊為單位來(lái)進(jìn)行。即虛擬存儲(chǔ)空間中一塊連續(xù)的存儲(chǔ)空間被映射到物理存儲(chǔ)空間中同樣大小的一塊連續(xù)存儲(chǔ)空間。在頁(yè)表和TLB中,每一個(gè)地址變換條目實(shí)際上記錄了一個(gè)虛擬存儲(chǔ)空間的內(nèi)存塊的基地址與物理存儲(chǔ)空間相應(yīng)的一個(gè)內(nèi)存塊的基地址的對(duì)應(yīng)關(guān)系。根據(jù)內(nèi)存塊大小,可以有多種地址變換。LOREMIPSUMDOLOR嵌入式系統(tǒng)支持的內(nèi)存塊大小有以下幾種:段(section)大小為1MB的內(nèi)存塊;大頁(yè)(LargePages)大小為64KB的內(nèi)存塊;小頁(yè)(SmallPages)大小為4KB的內(nèi)存塊;極小頁(yè)(TinyPages)大小為1KB的內(nèi)存塊。極小頁(yè)只能以1KB大小為單位不能再細(xì)分,而大頁(yè)和小頁(yè)有些情況下可以在進(jìn)一步的劃分,大頁(yè)可以分成大小為16KB的子頁(yè),小頁(yè)可以分成大小為1KB的子頁(yè)。MMU中的域指的是一些段、大頁(yè)或者小頁(yè)的集合。每個(gè)域的訪(fǎng)問(wèn)控制特性都是由芯片內(nèi)部的寄存器中的相應(yīng)控制位來(lái)控制的。例如在ARM嵌入式系統(tǒng)中,每個(gè)域的訪(fǎng)問(wèn)控制特性都是由CP15中的寄存器C3中的兩位來(lái)控制的。MMU中的快速上下文切換技術(shù)(FastContextSwitchExtension,F(xiàn)CSE)通過(guò)修改系統(tǒng)中不同進(jìn)程的虛擬地址,避免在進(jìn)行進(jìn)程間切換時(shí)造成的虛擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。LOREMIPSUMDOLOR在嵌入式系統(tǒng)中,I/O操作通常被映射成存儲(chǔ)器操作,即輸入/輸出是通過(guò)存儲(chǔ)器映射的可尋址外圍寄存器和中斷輸入的組合來(lái)實(shí)現(xiàn)的。I/O的輸出操作可通過(guò)存儲(chǔ)器寫(xiě)入操作實(shí)現(xiàn);I/O的輸入操作可通過(guò)存儲(chǔ)器讀取操作實(shí)現(xiàn)。這些存儲(chǔ)器映射的I/O空間不滿(mǎn)足cache所要求的特性,不能使用cache技術(shù),一些嵌入式系統(tǒng)使用存儲(chǔ)器直接訪(fǎng)問(wèn)(DMA)實(shí)現(xiàn)快速存儲(chǔ)。4.2嵌入式系統(tǒng)存儲(chǔ)設(shè)備分類(lèi)存儲(chǔ)器是嵌入式系統(tǒng)硬件的重要組成部分,用來(lái)存放嵌入式系統(tǒng)工作時(shí)所用的程序和數(shù)據(jù)。嵌入式系統(tǒng)的存儲(chǔ)器由片內(nèi)和片外兩部分組成。4.2.1存儲(chǔ)器部件的分類(lèi)1.按在系統(tǒng)中的地位分類(lèi)在微機(jī)系統(tǒng)中,存儲(chǔ)器可分為主存儲(chǔ)器(MainMemory簡(jiǎn)稱(chēng)內(nèi)存或主存)和輔助存儲(chǔ)器(AuxiliaryMemory,SecondaryMemory,簡(jiǎn)稱(chēng)輔存或外存)。內(nèi)存是計(jì)算機(jī)主機(jī)的一個(gè)組成部分,一般都用快速存儲(chǔ)器件來(lái)構(gòu)成,內(nèi)存的存取速度很快,但內(nèi)存空間的大小受到地址總線(xiàn)位數(shù)的限制。內(nèi)存通常用來(lái)容納當(dāng)前正在使用的或要經(jīng)常使用的程序和數(shù)據(jù),CPU可以直接對(duì)內(nèi)存進(jìn)行訪(fǎng)問(wèn)。系統(tǒng)軟件中如引導(dǎo)程序、監(jiān)控程序或者操作系統(tǒng)中的基本輸入/輸出部分BIOS都是必須常駐內(nèi)存。更多的系統(tǒng)軟件和全部應(yīng)用軟件則在用到時(shí)由外存?zhèn)魉偷絻?nèi)存。LOREMIPSUMDOLOR外存也是用來(lái)存儲(chǔ)各種信息的,存放的是相對(duì)來(lái)說(shuō)不經(jīng)常使用的程序和數(shù)據(jù),其特點(diǎn)是容量大。外存總是和某個(gè)外部設(shè)備相關(guān)的,常見(jiàn)的外存有軟盤(pán)、硬盤(pán)、U盤(pán)、光盤(pán)等。CPU要使用外存的這些信息時(shí),必須通過(guò)專(zhuān)門(mén)的設(shè)備將信息先傳送到內(nèi)存中。2.按存儲(chǔ)介質(zhì)分類(lèi)根據(jù)存儲(chǔ)介質(zhì)的材料及器件的不同,可分為磁存儲(chǔ)器(MagneticMemory),半導(dǎo)體存儲(chǔ)器、光存儲(chǔ)器(OpticalMemory)及激光光盤(pán)存儲(chǔ)器(LaserOpticalDisk)。3.按信息存取方式分類(lèi)存儲(chǔ)器按存儲(chǔ)信息的功能,分為隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,RAM)和只讀存儲(chǔ)器(ReadOnlyMemory,ROM)。隨機(jī)存取存儲(chǔ)器是一種在機(jī)器運(yùn)行期間可讀、可寫(xiě)的存儲(chǔ)器,又稱(chēng)讀寫(xiě)存儲(chǔ)器。隨機(jī)存儲(chǔ)器按信息存儲(chǔ)的方式,可分為靜態(tài)RAM(StaticRAM,SRAM),動(dòng)態(tài)RAM(DynamicRAM,DRAM)及準(zhǔn)靜態(tài)RAM(PseudostaticRAM,簡(jiǎn)稱(chēng)PSRAM)。LOREMIPSUMDOLOR在機(jī)器運(yùn)行期間只能讀出信息,不能隨時(shí)寫(xiě)入信息的存儲(chǔ)器稱(chēng)為只讀存儲(chǔ)器。只讀存儲(chǔ)器按功能可分為掩模式(ROM)、可編程只讀存儲(chǔ)器(ProgrammableROM,PROM)和可改寫(xiě)的只讀存儲(chǔ)器(ErasableProgrammableROM,EPROM)。4.2.2存儲(chǔ)器的組織和結(jié)構(gòu)存儲(chǔ)器的容量是描述存儲(chǔ)器的最基本參數(shù),如1MB。存儲(chǔ)器的表示并不唯一,有不同表示方法,每種有不同的數(shù)據(jù)寬度。在存儲(chǔ)器內(nèi)部,數(shù)據(jù)是存放在二維陣列存儲(chǔ)單元中。陣列以二維的形式存儲(chǔ),給出的n位地址被分成行地址和列地址(n=r十c)。r是行地址數(shù),c是列地址數(shù)。行列選定一個(gè)特定存儲(chǔ)單元。如果存儲(chǔ)器外部寬度為1位,那么列地址僅一位;對(duì)更寬的數(shù)據(jù),列地址可選擇所有列的一個(gè)子集。LOREMIPSUMDOLOR嵌入式系統(tǒng)的存儲(chǔ)器與通用系統(tǒng)的存儲(chǔ)器有所不同,通常由ROM、RAM、EPROM等組成。嵌入式存儲(chǔ)器一般采用存儲(chǔ)密度較大的存儲(chǔ)器芯片,存儲(chǔ)容量與應(yīng)用的軟件大小相匹配。4.2.3常見(jiàn)的嵌入式系統(tǒng)存儲(chǔ)設(shè)備1.RAM(隨機(jī)存儲(chǔ)器)RAM可以被讀和寫(xiě),地址可以以任意次序被讀。常見(jiàn)RAM的種類(lèi)有SRAM(StaticRAM,靜態(tài)隨機(jī)存儲(chǔ)器)、DRAM(DynamicRAM,動(dòng)態(tài)隨機(jī)存儲(chǔ)器)、DDRAM(DoubleDataRateSDRAM,雙倍速率隨機(jī)存儲(chǔ)器)。其中,SRAM比DRAM運(yùn)行速度快,SRAM比DRAM耗電多,DRAM需要周期性刷新。而DDRAM是RAM的下一代產(chǎn)品。在133MHz時(shí)鐘頻率,DDRAM內(nèi)存帶寬可以達(dá)到133×64b/8×2=2.1GB/s,在200MHz時(shí)鐘頻率,其帶寬可達(dá)到200×64b/8×2=3.2GB/s的海量。LOREMIPSUMDOLOR2.ROM(只讀存儲(chǔ)器)ROM在燒入數(shù)據(jù)后,無(wú)需外加電源來(lái)保存數(shù)據(jù),斷電后數(shù)據(jù)不丟失,但速度較慢,適合存儲(chǔ)需長(zhǎng)期保留的不變數(shù)據(jù)。在嵌入式系統(tǒng)中,ROM用固定數(shù)據(jù)和程序。常見(jiàn)ROM有MaskROM(掩模ROM)、PROM(ProgrammableROM,可編程ROM)、EPROM(ErasableProgrammableROM,可擦寫(xiě)ROM)、EEPROM(電可擦除可編程ROM,也可表示為E2PROM)、FlashROM(閃速存儲(chǔ)器)MaskROM一次性由廠(chǎng)家寫(xiě)入數(shù)據(jù)的ROM,用戶(hù)無(wú)法修改。PROM出廠(chǎng)時(shí)廠(chǎng)家并沒(méi)有寫(xiě)入數(shù)據(jù),而是保留里面的內(nèi)容為全0或全1,由用戶(hù)來(lái)編程一次性寫(xiě)入數(shù)據(jù)。EPROM可以通過(guò)紫外光的照射,擦掉原先的程序,芯片可重復(fù)擦除和寫(xiě)入。E2PROM是通過(guò)加電擦除原編程數(shù)據(jù),通過(guò)高壓脈沖可以寫(xiě)入數(shù)據(jù),寫(xiě)入時(shí)間較長(zhǎng)。FlashROM斷電不會(huì)丟失數(shù)據(jù)(NVRAM),可快速讀取,電可擦寫(xiě)可編程。LOREMIPSUMDOLOR3.FlashMemoryFlashmemory(閃速存儲(chǔ)器)是嵌入式系統(tǒng)中重要的組成部分,用來(lái)存儲(chǔ)程序和數(shù)據(jù),掉電后數(shù)據(jù)不會(huì)丟失。但在使用FlashMemory時(shí),必須根據(jù)其自身特性,對(duì)存儲(chǔ)系統(tǒng)進(jìn)行特殊設(shè)計(jì),以保證系統(tǒng)的性能達(dá)到最優(yōu)。FlashMemory是一種非易失性存儲(chǔ)器NVM(Non-VolatileMemory),根據(jù)結(jié)構(gòu)的不同可以將其分成NORFlash和NANDFlash兩種。FlashMemory在物理結(jié)構(gòu)上分成若干個(gè)區(qū)塊,區(qū)塊之間相互獨(dú)立。NORFlash把整個(gè)存儲(chǔ)區(qū)分成若干個(gè)扇區(qū)(Sector),而NANDFlash把整個(gè)存儲(chǔ)區(qū)分成若干個(gè)塊(Block),可以對(duì)以塊或扇區(qū)為單位的內(nèi)存單元進(jìn)行擦寫(xiě)和再編程。LOREMIPSUMDOLOR由于FlashMemory的寫(xiě)操作只能將數(shù)據(jù)位從1寫(xiě)成0,而不能從0寫(xiě)成1,所以在對(duì)存儲(chǔ)器進(jìn)行寫(xiě)入之前必須先執(zhí)行擦除操作,將預(yù)寫(xiě)入的數(shù)據(jù)位初始化為1。擦操作的最小單位是一個(gè)區(qū)塊,而不是單個(gè)字節(jié)。NANDFlash執(zhí)行擦除操作是十分簡(jiǎn)單的,而NOR型內(nèi)存則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫(xiě)為0。由于擦除NORFlash時(shí)是以64~128KB為單位的塊進(jìn)行的,執(zhí)行一個(gè)寫(xiě)入/擦除操作的時(shí)間為5s,與此相反,擦除NANDFlash是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。NORFlash的讀速度比NANDFlash稍快一些,NANDFlash的寫(xiě)入速度比NORFlash快很多。NANDFlash的隨機(jī)讀取能力差,適合大量數(shù)據(jù)的連續(xù)讀取。除了NORFlash的讀,F(xiàn)lashMemory的其他操作不能像RAM那樣,直接對(duì)目標(biāo)地址進(jìn)行總線(xiàn)操作。例如執(zhí)行一次寫(xiě)操作,它必須輸入一串特殊的指令(NORFlash),或者完成一段時(shí)序(NANDFlash)才能將數(shù)據(jù)寫(xiě)入到FlashMemory中。LOREMIPSUMDOLORNORFlash帶有SRAM接口,有足夠的地址引腳來(lái)尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。NANDFlash地址、數(shù)據(jù)和命令共用8位總線(xiàn)/16位總線(xiàn),每次讀寫(xiě)都要使用復(fù)雜的I/O接口串行地存取數(shù)據(jù),8位總線(xiàn)/16位總線(xiàn)用來(lái)傳送控制、地址和資料信息。NANDFlash讀和寫(xiě)操作采用512B的塊,類(lèi)似硬盤(pán)管理操作。因此,基于NAND的閃存可以取代硬盤(pán)或其他塊設(shè)備。NORFlash容量通常在1MB~8MB之間。而NANDFlash用在8MB以上的產(chǎn)品當(dāng)中。NORFlash主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NANDFlash適用于資料存儲(chǔ)。所有FlashMemory器件存在位交換現(xiàn)象。FlashMemory在讀寫(xiě)數(shù)據(jù)過(guò)程中,偶然會(huì)產(chǎn)生一位或幾位數(shù)據(jù)錯(cuò)誤,即位反轉(zhuǎn)。位反轉(zhuǎn)無(wú)法避免,只能通過(guò)其他手段對(duì)產(chǎn)生的結(jié)果進(jìn)行事后處理。位反轉(zhuǎn)的問(wèn)題多見(jiàn)于NANDFlash。NANDFlash的供貨商建議使用NANDFlash的時(shí)候,同時(shí)使用EDC/ECC(錯(cuò)誤探測(cè)/錯(cuò)誤糾正)算法,以確保可靠性。LOREMIPSUMDOLORFlashMemory在使用過(guò)程中,可能導(dǎo)致某些區(qū)塊的損壞。區(qū)塊一旦損壞,將無(wú)法進(jìn)行修復(fù)。NANDFlash中的壞塊是隨機(jī)分布的,尤其是NANDFlash在出廠(chǎng)時(shí)就可能存在這樣的壞塊(已經(jīng)被標(biāo)識(shí)出)。NANDFlash需要對(duì)介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。如果對(duì)已損壞的區(qū)塊進(jìn)行操作,可能會(huì)帶來(lái)不可預(yù)測(cè)的錯(cuò)誤。應(yīng)用程序可以直接在NORFlash內(nèi)運(yùn)行,不需要再把代碼讀到系統(tǒng)RAM中運(yùn)行。NORFlash的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫(xiě)入和擦除速度大大影響了它的性能。NANDFlash結(jié)構(gòu)可以達(dá)到高存儲(chǔ)密度,并且寫(xiě)入和擦除的速度也很快,應(yīng)用NANDFlash的困難在于需要特殊的系統(tǒng)接口。在NORFlash上運(yùn)行代碼不需要任何的軟件支持。在NANDFlash上進(jìn)行同樣操作時(shí),通常需要驅(qū)動(dòng)程序,也就是內(nèi)存技術(shù)驅(qū)動(dòng)程序(MTD)。NANDFlash和NORFlash在進(jìn)行寫(xiě)入和擦除操作時(shí)都需要MTD。LOREMIPSUMDOLOR在NANDFlash中每個(gè)塊的最大擦寫(xiě)次數(shù)是一百萬(wàn)次,而NORFlash的擦寫(xiě)次數(shù)是十萬(wàn)次。NANDFlash除了具有10:1的塊擦除周期優(yōu)勢(shì),典型的NANDFlash塊尺寸要比NOR型閃存小8倍,每個(gè)NANDFlash的內(nèi)存塊在給定的時(shí)間內(nèi)刪除次數(shù)要少一些。4.標(biāo)準(zhǔn)存儲(chǔ)卡(CompactFlash,CF卡)CF卡是利用Flash技術(shù)的存儲(chǔ)卡,內(nèi)部結(jié)構(gòu)如圖4.2.1所示,接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PCCard模式。衍生出來(lái)的CF+卡物理規(guī)格和CF完全相同,在手持設(shè)備上應(yīng)用,如CF串口卡、CFModem.CF藍(lán)牙、CFUSB卡、CF網(wǎng)卡、CFGPS卡、CFGPRS卡等。按照CF+卡標(biāo)準(zhǔn),它不一定要支持ATA接口。通常建議CF+卡工作在PCMCIA模式。CF卡可以看作是PCMCIA卡的一個(gè)子集,可以通過(guò)物理上的轉(zhuǎn)換器,直接轉(zhuǎn)換成PCMCIA卡使用。CF卡可分為I型和II型兩類(lèi),二者的規(guī)格和特性基本相同,只是II型比I型略厚一些(5.0mm,3.3mm),II型插座可以同時(shí)兼容I型卡。圖4.2.1CF卡內(nèi)部結(jié)構(gòu)LOREMIPSUMDOLORCF卡有3種工作模式:PC卡ATAI/O模式、PC卡ATA存儲(chǔ)模式和實(shí)IDE模式。實(shí)IDE模式與IDE接口完全兼容。CF卡遵循ATA協(xié)議,屬于塊存儲(chǔ)設(shè)備,存儲(chǔ)單元是通過(guò)磁頭(head)、柱面(cylinder,也稱(chēng)磁道)和扇區(qū)(sector)組織起來(lái)的。在物理尋址(CHS)方式下,每一組H/C/S參數(shù)唯一確定存儲(chǔ)卡中的一個(gè)扇區(qū),通常一個(gè)扇區(qū)擁有512B的數(shù)據(jù)空間。一個(gè)驅(qū)動(dòng)數(shù)格式化后的容量為磁頭數(shù)×柱面數(shù)×扇區(qū)數(shù)×512字節(jié)。在物理尋址模式下,扇區(qū)(S)是最低的地址單位,其次是磁頭(H),最后的柱面(C)為最高尋址單位。此外,還有邏輯尋址方式(LBA)。在這種尋址方式下,CF卡按照以連續(xù)序列的邏輯扇區(qū)編號(hào)進(jìn)行尋址,主機(jī)不必知道CF卡的物理幾何結(jié)構(gòu)。使用28個(gè)數(shù)據(jù)位來(lái)表示邏輯扇區(qū)的地址,可以尋址228個(gè)扇區(qū),理論上可以尋址136GB的容量。物理尋址方式與邏輯尋址方式的對(duì)應(yīng)關(guān)系如下所示:LOREMIPSUMDOLORLBA=NH×NS×C+NC×H+S-1;C=(LBAdivNS)divNH;H=(LBAdivNS)modNH;S=(LBAmodNS)+1。其中:NS為每磁道扇區(qū)數(shù),NH為磁頭數(shù),C、H、S分別表示磁盤(pán)的柱面、磁頭和扇區(qū)編號(hào),LBA表示邏輯扇區(qū)號(hào),div為整除計(jì)算,mod為求余計(jì)算。LOREMIPSUMDOLOR5.安全數(shù)據(jù)卡(SecureDigitalCard,SD卡)由日本Panasonic公司、TOSHIBA公司和美國(guó)SanDisk公司共同開(kāi)發(fā)研制的SD卡是一種全新的存儲(chǔ)卡產(chǎn)品,在MP3、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、電子圖書(shū)及AV器材等中應(yīng)用。SD存儲(chǔ)卡采用一個(gè)完全開(kāi)放的標(biāo)準(zhǔn)(系統(tǒng)),外形與MultiMedia卡保持一致,比MMC卡略厚,具有更大的容量,兼容MMC卡接口規(guī)范。SD卡具有加密功能,可以保證數(shù)據(jù)資料的安全保密。SD卡具有版權(quán)保護(hù)技術(shù),所采用的版權(quán)保護(hù)技術(shù)是DVD中使用的CPRM技術(shù)(可刻錄介質(zhì)內(nèi)容保護(hù))。6.硬盤(pán)存儲(chǔ)器硬盤(pán)存儲(chǔ)器具有存儲(chǔ)容量大,使用壽命長(zhǎng),存取速度較快的特點(diǎn),也是在嵌入式系統(tǒng)中常用的外存。LOREMIPSUMDOLOR硬盤(pán)存儲(chǔ)器的硬件包括硬盤(pán)控制器(適配器)、硬盤(pán)驅(qū)動(dòng)器以及連接電纜。硬盤(pán)控制器(HardDiskController,簡(jiǎn)稱(chēng)HDC)對(duì)硬盤(pán)進(jìn)行管理,并在主機(jī)和硬盤(pán)之間傳送數(shù)據(jù)。硬盤(pán)控制器以適配卡的形式插在主板上或直接集成在主板上,然后通過(guò)電纜與硬盤(pán)驅(qū)動(dòng)器相連。硬盤(pán)驅(qū)動(dòng)器(HardDiskDrive,簡(jiǎn)稱(chēng)HDD)中有盤(pán)片、磁頭、主軸電機(jī)(盤(pán)片旋轉(zhuǎn)驅(qū)動(dòng)機(jī)構(gòu))、磁頭定位機(jī)構(gòu)、讀/寫(xiě)電路和控制邏輯等。硬盤(pán)存儲(chǔ)器可分為溫徹斯特盤(pán)和非溫徹斯特盤(pán)兩類(lèi)。溫徹斯特盤(pán)是根據(jù)溫徹斯特技術(shù)設(shè)計(jì)制造的,它的磁頭、盤(pán)片、磁頭定位機(jī)構(gòu)、主軸、甚至連讀/寫(xiě)驅(qū)動(dòng)電路等都被密封在一個(gè)盤(pán)盒內(nèi),構(gòu)成一個(gè)頭一盤(pán)組合體。溫徹斯特盤(pán)的防塵性能好,可靠性高,對(duì)使用環(huán)境要求不高。非溫徹斯特盤(pán)磁盤(pán)的磁頭和盤(pán)片等不是密封的,通常只能用于中型、大型計(jì)算機(jī)機(jī)房中。最常見(jiàn)的硬盤(pán)接口是IDE(ATA)和SCSI兩種,一些移動(dòng)硬盤(pán)采用PCMCIA或USB接口。LOREMIPSUMDOLORIDE(IntegratedDriveElectronics)接口也稱(chēng)為ATA(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))接口,是一個(gè)通用的硬盤(pán)接口。IDE接口的硬盤(pán)可細(xì)分為ATA-1(IDE)、ATA-2(EIDE)、ATA-3(FastATA-2)、ATA-4(包括UltraATA、UltraATA/33、UltraATA/66)與SerialATA(包括UltraATA/100及其他后續(xù)的接口類(lèi)型)。基本的IDE接口數(shù)據(jù)傳輸率為4.1MB/s,傳輸方式有PIO和DMA兩種,支持總線(xiàn)為ISA和EISA。ATA-2、ATAPI和針對(duì)PCI總線(xiàn)的FAST-ATA、FAST-ATA2等數(shù)據(jù)傳輸率達(dá)到了16.67MB/s。UltraDMA/33接口(稱(chēng)為EIDE接口),采用PIO模式,數(shù)據(jù)傳輸率達(dá)到33MB/s。UltraDMA/66接口的傳輸率為UltraDMA/33的兩倍,采用CRC(循環(huán)冗余循環(huán)校驗(yàn))技術(shù)以保證數(shù)據(jù)傳輸?shù)陌踩裕⑶沂褂昧?0線(xiàn)的專(zhuān)用連接電纜,是現(xiàn)在市場(chǎng)上主流的硬盤(pán)接口類(lèi)型。UltraATA/100是最有前景的硬盤(pán)接口,它的理論最大外部數(shù)據(jù)傳輸率可以高達(dá)100MB/s。LOREMIPSUMDOLORSCSI(SmallComputerSystemInterface,小型計(jì)算機(jī)系統(tǒng)接口)不是專(zhuān)為硬盤(pán)設(shè)計(jì)的,是一種總線(xiàn)型接口。SCSI獨(dú)立于系統(tǒng)總線(xiàn)工作,其系統(tǒng)占用率極低,但其價(jià)格昂貴,具有這種接口的硬盤(pán)大多用于服務(wù)器等高端應(yīng)用場(chǎng)合。4.3NORFlash接口電路4.3.1NORFlash存儲(chǔ)器Am29LV160DAm29LV160D是AMD公司的一款NORFlash存儲(chǔ)器,存儲(chǔ)容量為2M×8Bit/1M×16Bit,接口與CMOSI/O兼容,工作電壓為2.7~3.6V,讀操作電流為9mA,編程和擦除操作電流為20mA,待機(jī)電流為200nA。采用FBGA-48、TSOP-48、SO-44三種封裝形式。Am29LV160D僅需3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,通過(guò)對(duì)其內(nèi)部的命令寄存器寫(xiě)入標(biāo)準(zhǔn)的命令序列,可對(duì)Flash進(jìn)行編程(燒寫(xiě))、整片擦除、按扇區(qū)擦除,以及其他操作。以16位(字模式)數(shù)據(jù)寬度的方式工作。更多的內(nèi)容請(qǐng)登錄,查找資料“Am29LV160D16Megabit(2M×8-Bit/1M×16-Bit)CMOS3.0Volt-onlyBootSectorFlashMemory”。Am29LV160D的邏輯框圖如圖4.3.1所示,引腳端功能如表4.3.1所示。引腳類(lèi)型功能A19~A0輸入地址輸入。提供存儲(chǔ)器地址DQ14~DQ0輸入/輸出數(shù)據(jù)輸入/輸出DQ15/A-1輸入/輸出在字模式,DQ15為數(shù)據(jù)輸入/輸出;在字節(jié)模式,A-1為

LSB地址輸入BYTE#輸入選擇8bit或者16bit模式CE#輸入片選。當(dāng)CE#為低電平時(shí),芯片有效OE#輸入輸出使能。當(dāng)OE#為低電平時(shí),輸出有效WE#輸入寫(xiě)使能,低電平有效,控制寫(xiě)操作RESET#輸入硬件復(fù)位引腳端,低電平有效RY/BY#輸出就緒/忙標(biāo)志信號(hào)輸出,SO-44封裝無(wú)此引腳端VCC電源3V電源電壓輸入VSS地器件地NC未連接。空腳圖4.3.1Am29LV160D的邏輯框圖表4.3.1Am29LV160D引腳端功能LOREMIPSUMDOLOR4.3.2S3C2410A與NORFlash存儲(chǔ)器的接口電路S3C2410A與Am29LV160D的接口電路如圖4.3.2所示。Flash存儲(chǔ)器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此獲取指令并開(kāi)始執(zhí)行,因此,應(yīng)將存有程序代碼的Flash存儲(chǔ)器配置到Bank0,即將S3C2410A的nGCS0接至Am29LV160D的CE#(nCE)端。Am29LV160D的OE#(nOE)端接S3C2410X的nOE;WE#(nXE)端S3C2410X的nWE相連;地址總線(xiàn)A19~A0與S3C2410X的地址總線(xiàn)ADDR20~ADDR1(A20~A1)相連;16位數(shù)據(jù)總線(xiàn)DQ15~DQ0與S3C2410X的低16位數(shù)據(jù)總線(xiàn)DATA15~DATA0(D15~D0)相連。注意:此時(shí)應(yīng)將BWSCON中的DW0設(shè)置為01,即選擇16位總線(xiàn)方式。如果需要更大的NORFlash存儲(chǔ)容量,可以采用容量更大的NORFlash存儲(chǔ)器芯片,如28F128J3A、28F640J3A等。更多的內(nèi)容請(qǐng)登錄,查找資料“3VoltIntelStrataFlash?Memory28F128J3A,28F640J3A,28F320J3A(x8/x16)”。圖4.3.2S3C2410A與Am29LV160D的接口電路LOREMIPSUMDOLORS3C2410A與28F128J3A的接口電路如圖4.3.3所示。S3C2410X的nGCS0接至28F128J3A的CE0#(nCE)端。28F128J3A的OE#(nOE)端接S3C2410X的nOE;WE#(nWE)端S3C2410X的nWE相連;地址總線(xiàn)A24~A1與S3C2410X的地址總線(xiàn)ADDR24~ADDR1(A24~A1)相連,A0直接接地;16位數(shù)據(jù)總線(xiàn)DQ15~DQ0與S3C2410X的低16位數(shù)據(jù)總線(xiàn)DATA15~DATA0(D15~D0)相連。圖4.3.3S3C2410A與28F128J3A的接口電路4.4NANDFlash接口電路4.4.1S3C2410ANANDFlash控制器1.S3C2410ANANDFlash控制器特性S3C2410A可以在一個(gè)外部NANDFlash存儲(chǔ)器上執(zhí)行啟動(dòng)代碼,用來(lái)實(shí)現(xiàn)這一想法。為了支持NANDFlash的啟動(dòng)裝載(bootloader),S3C2410A配置了一個(gè)叫做“Steppingstone”的內(nèi)部SRAM緩沖器。當(dāng)系統(tǒng)啟動(dòng)時(shí),NANDFlash存儲(chǔ)器的前4KB將被自動(dòng)加載到Steppingstone中,然后系統(tǒng)自動(dòng)執(zhí)行這些載入的啟動(dòng)代碼。在一般情況下,啟動(dòng)代碼將復(fù)制NANDFlash的內(nèi)容到SDRAM中。使用S3C2410A內(nèi)部硬件ECC功能可以對(duì)NANDFlash的數(shù)據(jù)的有效性進(jìn)行檢查。在復(fù)制完成后,將在SDRAM中執(zhí)行主程序。NANDFlash控制器具有以下特性。NANDFlash模式:支持讀/擦除/編程N(yùn)ANDFlash存儲(chǔ)器。LOREMIPSUMDOLOR●自動(dòng)啟動(dòng)模式:復(fù)位后,啟動(dòng)代碼被傳送到Steppingstone中。傳送完畢后,啟動(dòng)代碼在Steppingstone中執(zhí)行。●具有硬件ECC產(chǎn)生模塊(硬件生成校驗(yàn)碼和通過(guò)軟件校驗(yàn))。●在NANDFlash啟動(dòng)后,Steppingstone4KB內(nèi)部SRAM緩沖器可以作為其他用途使用。●NANDFlash控制器不能通過(guò)DMA訪(fǎng)問(wèn),可以使用LDM/STM指令來(lái)代替DMA操作。2.S3C2410ANANDFlash控制器結(jié)構(gòu)NANDFlash控制器的內(nèi)部結(jié)構(gòu)方框圖如圖4.4.1所示。NANDFlash的工作模式如圖4.4.2所示。圖4.4.1NANDFlash控制器內(nèi)部結(jié)構(gòu)方框圖圖4.4.2NANDFlash的操作模式LOREMIPSUMDOLOR自動(dòng)啟動(dòng)模式的時(shí)序如下:(1)完成復(fù)位;(2)當(dāng)自動(dòng)啟動(dòng)模式使能時(shí),首先將NANDFlash存儲(chǔ)器的前4KB內(nèi)容自動(dòng)復(fù)制到Steppingstone4KB內(nèi)部緩沖器中;(3)Steppingstone映射到nGCSO;(4)CPU開(kāi)始執(zhí)行在Steppingstone4KB內(nèi)部緩沖器中的啟動(dòng)代碼。注意:在自動(dòng)啟動(dòng)模式,不進(jìn)行ECC檢測(cè)。因此,應(yīng)確保NANDFlash的前4KB不能有位錯(cuò)誤。NANDFlash模式配置:(1)利用NFCONF寄存器設(shè)置NANDFlash配置;(2)寫(xiě)NANDFlash命令到NFCMD寄存器;(3)寫(xiě)NANDFlash地址到NFADDR寄存器;(4)在檢查NANDFlash狀態(tài)時(shí),利用NFSTAT寄存器讀/寫(xiě)數(shù)據(jù)。在讀操作之前或者編程操作之后應(yīng)該檢查R/nB信號(hào)。NANDFlash存儲(chǔ)器的時(shí)序如圖4.4.3所示。圖4.4.3NANDFlash存儲(chǔ)器的時(shí)序(TACLS=0,TWRPH0=1,TWRPH1=0)NANDFlash控制器的引腳配置如表4.4.1所列。表4.4.1NANDFlash控制器的引腳配置引腳配置D[7:0]數(shù)據(jù)/命令/地址輸入/輸出端口(用數(shù)據(jù)總線(xiàn)分派)CLE命令鎖存使能(輸出)ALE地址鎖存使能(輸出)nFCENANDFlash芯片使能(輸出)nFRENANDFlash讀使能(輸出)nFWENANDFlash寫(xiě)使能(輸出)R/nBNANDFlash準(zhǔn)備就緒/忙使能(輸出)BOOT(啟動(dòng))和NANDFlash配置如下:(1)OM[1:0]=00b:使能NANDFlash控制器為自動(dòng)啟動(dòng)模式;(2)NANDFlash存儲(chǔ)器的頁(yè)面大小應(yīng)該為512字節(jié);(3)NCON:NANDFlash存儲(chǔ)器尋址步選擇。0為3步尋址;1為4步尋址。512字節(jié)ECC奇偶校驗(yàn)碼分配表如表4.4.2所示。表4.4.2512字節(jié)ECC奇偶校驗(yàn)碼分配表LOREMIPSUMDOLOR在寫(xiě)/讀操作期間,S3C2410A自動(dòng)生成512字節(jié)的ECC奇偶校驗(yàn)碼。每個(gè)512字節(jié)數(shù)據(jù)的ECC奇偶校驗(yàn)碼由3字節(jié)組成。24位ECC奇偶校驗(yàn)碼=18位行奇偶+6位列奇偶ECC生成模塊執(zhí)行以下操作:(1)當(dāng)MCU寫(xiě)數(shù)據(jù)到NAND時(shí),ECC生成模塊產(chǎn)生ECC代碼。(2)當(dāng)MCU從NAND讀數(shù)據(jù)時(shí),ECC生成模塊產(chǎn)生ECC代碼,同時(shí)用戶(hù)程序?qū)⑺c先前寫(xiě)入的ECC代碼進(jìn)行比較。4.4.2S3C2410A與NANDFlash存儲(chǔ)器的接口電路與NORFlash存儲(chǔ)器相比,NANDFlash的接口相對(duì)比較復(fù)雜。一些嵌入式處理器芯片內(nèi)部配置了專(zhuān)門(mén)的NANDFlash控制器,如S3C2410A。LOREMIPSUMDOLORS3C2410A與NANDFlash存儲(chǔ)器K9F1208UDM-YCB0接口電路如圖4.4.4所示。K9F1208UDM-YCB0的存儲(chǔ)容量為64M字節(jié),數(shù)據(jù)總線(xiàn)寬度為8位,工作電壓為2.7V~3.6V,采用TSOP-48封裝。僅需單3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,引腳端功能如表4.4.3所示。更多的內(nèi)容請(qǐng)登錄,查找資料“K9F1208U0M-YCB0,K9F1208U0M-YIB064M×8BitNANDFlashMemory”。表4.4.3K9F1208UDM的引腳功能引腳類(lèi)型功能I/O7~

I/O0輸入/輸出數(shù)據(jù)輸入輸出、控制命令和地址的輸入CLE輸入命令鎖存信號(hào)ALE輸入地址鎖存信號(hào)/CE輸入芯片使能信號(hào)/RE輸入讀有效信號(hào)/WE輸入寫(xiě)有效信號(hào)/WP輸入寫(xiě)保護(hù)信號(hào)R/nB輸出就緒/忙標(biāo)志信號(hào)輸出Vcc電源電源電壓2.7V~3.3VVss接地器件地LOREMIPSUMDOLORK9F1208UDM的I/O口既可接收和發(fā)送數(shù)據(jù),也可接收地址信息和控制命令。在CLE有效時(shí),鎖存在I/O口上的是控制命令字;在ALE有效時(shí),鎖存在I/O口上的是地址;/RE或/WE有效時(shí),鎖存的是數(shù)據(jù)。這種一口多用的方式可以大大減少總線(xiàn)的數(shù)目,只是控制方式略微有些復(fù)雜。利用S3C2410X處理器的NANDFlash控制器可以解決這個(gè)問(wèn)題。在圖4.4.4中,K9F1208UDM的ALE和CLE端分別與S3C2410A的ALE和CLE端連接,8位的I/O7~I(xiàn)/O0與S3C2410A低8位數(shù)據(jù)總線(xiàn)DATA7~DATA0相連,/WE、/RE和/CE分別與S3C2410A的nFWE、nFRE和nFCE相連,R/B與RnB相連,為增加穩(wěn)定性R/nB端口連接了一個(gè)上拉電阻。同時(shí),S3C2410A的NCON配置端口必須連接一個(gè)上拉電阻,圖4.4.4S3C2410A與K9F1208UDM-YCB0接口電路(注意:原理圖中LDATA修改為DATA,U4刪除,VDD33V修改為VDD33,U-K9F1208UDM-YC80修改為K9F1208UDM-YCB0)4.5SDRAM接口電路SDRAM可讀/可寫(xiě),不具有掉電保持?jǐn)?shù)據(jù)的特性,但其存取速度大大高于Flash存儲(chǔ)器。在嵌入式系統(tǒng)中,SDRAM主要用做程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動(dòng)時(shí),CPU首先從復(fù)位地址0x0處讀取啟動(dòng)代碼,在完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入SDRAM中運(yùn)行,以提高系統(tǒng)的運(yùn)行速度。同時(shí),系統(tǒng)及用戶(hù)堆棧、運(yùn)行數(shù)據(jù)也都放在SDRAM中。SDRAM在各種嵌入式系統(tǒng)中應(yīng)用時(shí),為避免數(shù)據(jù)丟失,必須定時(shí)刷新。因此要求微處理器具有刷新控制邏輯,或在系統(tǒng)中另外加入刷新控制邏輯電路。S3C2410X及其他一些ARM芯片在片內(nèi)具有獨(dú)立的SDRAM刷新控制邏輯,可方便地與SDRAM接口。但某些ARM芯片則沒(méi)有SDRAM刷新控制邏輯,不能直接與SDRAM接口,在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)應(yīng)注意這一點(diǎn)。目前常用的SDRAM為8位/16位的數(shù)據(jù)寬度,工作電壓一般為3.3V。主要的生產(chǎn)廠(chǎng)商為HYUNDAI,Winbond等,同類(lèi)型器件一般具有相同的電氣特性和封裝形式,可以通用。LOREMIPSUMDOLORS3C2410X與SDRAM存儲(chǔ)器HY57V561620接口電路如圖4.4.5所示。HY57V561620存儲(chǔ)容量為4組×64M位,工作電壓為3.3V,常見(jiàn)封裝為T(mén)SOP-54,兼容LVTTL接口,支持自動(dòng)刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數(shù)據(jù)寬度。HY57V561620引腳功能如表4.4.4所示。更多的內(nèi)容請(qǐng)登錄,查找資料“HY57V561620(L)T4Banksx4Mx16BitSynchronousDRAM”。表4.4.4HY57V561620引腳功能引腳類(lèi)型功能CLK輸入時(shí)鐘,芯片時(shí)鐘輸入。所有的輸入中CLK的上升沿有效CKE輸入時(shí)鐘使能,片內(nèi)時(shí)鐘信號(hào)控制/CS輸入片選。禁止或使能除CLK、

CKE和DQM外的所有輸入信號(hào)BAO,BA1輸入組地址選擇。用于片內(nèi)4個(gè)組的選擇A12~A0輸入地址總線(xiàn)。行地址:A12~A0;列地址:A8~A0/RAS輸入行地址鎖存。時(shí)鐘沿和/RAS有效時(shí),鎖存行地址,允許行的訪(fǎng)問(wèn)和改寫(xiě)/CAS輸入列地址鎖存。時(shí)鐘沿和/CAS有效時(shí),鎖存列地址,允許列的訪(fǎng)問(wèn)/WE輸入寫(xiě)使能。使能寫(xiě)信號(hào)和允許列改寫(xiě),/WE和/CAS有效時(shí)開(kāi)始鎖存數(shù)據(jù)LDQM,UDQM輸入數(shù)據(jù)I/O屏蔽。在讀模式下控制輸出緩沖;在寫(xiě)模式下屏蔽輸入數(shù)據(jù)DQ15~DQ0輸入/輸出數(shù)據(jù)總線(xiàn)。數(shù)據(jù)輸入/輸出VDD/VSS電源/地內(nèi)部電路及輸入緩沖器電源/地VDDQ/VSSQ電源/地輸出緩沖器電源/地NC空腳。未連接(引腳端19nGCS0修改為nGCS6)圖4.4.5S3C2410X與SDRAM存儲(chǔ)器HY57V561620的接口電路LOREMIPSUMDOLOR根據(jù)系統(tǒng)需求,可構(gòu)建16位或32位的SDRAM存儲(chǔ)器系統(tǒng),但為充分發(fā)揮32位CPU的數(shù)據(jù)處理能力,本設(shè)計(jì)采用32位的SDRAM存儲(chǔ)器系統(tǒng)。HY57V561620為16位數(shù)據(jù)寬度,單片容量為32MB,系統(tǒng)選用兩片HY57V561620并聯(lián)構(gòu)建32位的SDRAM存儲(chǔ)器系統(tǒng),共64MB的SDRAM空間,可滿(mǎn)足嵌入式操作系統(tǒng)及各種相對(duì)較復(fù)雜的算法的運(yùn)行要求。與Flash存儲(chǔ)器相比,SDRAM的控制信號(hào)較多,其連接電路也要相對(duì)復(fù)雜一些。兩片HY57V561620并聯(lián)構(gòu)建32位的SDRAM存儲(chǔ)器系統(tǒng),其中一片為高16位,另一片為低16位,可將兩片HY57V561620作為一個(gè)整體配置到Bank6即將S3C2410X的nGCS6接至兩片HY57V561620的/CS端。高位HY57V561620的CLK端連接到S3C2410X的SCLK1端,低位HY57V561620的CLK端連接到S3C2410X的SCLK0端;LOREMIPSUMDOLOR兩片HY57V561620的CKE端連接到S3C2410X的SCKE端;兩片HY57V561620的/RAS、/CAS./WE端分別連接到S3C2410X的nSDRAS端、nSDCAS端、nDWE端;兩片HY57V561620的A12~A0連接到S3C2410X的地址總線(xiàn)ADDR14~ADDR2(A14~A2);兩片HY57V561620的BA1、BA0連接到S3C2410X的地址總線(xiàn)ADDR25(A25)、ADDR24(A24);高16位片的DQ15~DQ0連接到S3C2410X的數(shù)據(jù)總線(xiàn)的高16位DATA8~DATA16(D8~D16),低16位片的DQ15~DQ0連接到S3C2410X的數(shù)據(jù)總線(xiàn)的低16位DATA15~DATA0(D15~D0);高16位片的UDQM、LDQM分別連接到S3C2410X的nWEB3、nWEB2,低16位片的UDQM、LDQM分別連接到S3C2410X的nWEB1、nWEB0。注意:此時(shí)應(yīng)將BWSCON中的DW6設(shè)置為10,即選擇32位總線(xiàn)方式。4.6CF卡接口電路4.6.1PCMCIA接口規(guī)范1990年9月,PCMCIA(PersonalComputerMemoryCardInternationalAssociation,PC機(jī)內(nèi)存卡國(guó)際聯(lián)合會(huì))推出了PCMCIA1.0規(guī)范,該規(guī)范是針對(duì)各類(lèi)存儲(chǔ)卡或虛擬盤(pán)設(shè)計(jì)的,其目的是為了建立一個(gè)物理尺寸較小、低功耗的、靈活的存儲(chǔ)卡標(biāo)準(zhǔn),采用16位體系結(jié)構(gòu),JEIDA(JanpaneseElectronicsIndustryDevelopmentAssociation)68引腳的接口。1991年,PCMCIA推出了2.0規(guī)范,添加了對(duì)I/O設(shè)備的規(guī)范,以方便用戶(hù)擴(kuò)展I/O設(shè)備,但接口仍采用與1.0規(guī)范兼容的68引腳的接口;同時(shí),PCMCIA對(duì)其驅(qū)動(dòng)程序的架構(gòu)也作了規(guī)范,以便于軟件開(kāi)發(fā)人員開(kāi)發(fā)的驅(qū)動(dòng)程序可以相互兼容。隨著多媒體和高速網(wǎng)絡(luò)的發(fā)展,PCMCIA又開(kāi)發(fā)了32位的CardBUS。現(xiàn)在,基于PCMCIA的設(shè)備已經(jīng)在筆記本電腦、數(shù)碼相機(jī)、機(jī)頂盒、車(chē)載設(shè)備、手持設(shè)備、PDA等方面被廣泛的采用。越來(lái)越多的產(chǎn)品都需要接口具有可擴(kuò)展模塊化的功能,因此PCMCIA也將自己的目標(biāo)定位為“發(fā)展模塊化外設(shè)的標(biāo)準(zhǔn),并將他們推廣到全世界”。LOREMIPSUMDOLORPCMCIA物理上定義了68個(gè)引腳,卡片有16位和32位之分。16位的PCMCIA卡通常叫PCCard,其時(shí)序和ISA總線(xiàn)類(lèi)似,速度較慢。采用32位PCMCIA標(biāo)準(zhǔn)的稱(chēng)做CardBus卡,其運(yùn)行頻率達(dá)到33MHz,可以滿(mǎn)足一般局域網(wǎng)及寬帶應(yīng)用的要求。CardBus接口的信號(hào)傳輸協(xié)議起源于PCI局部總線(xiàn)信號(hào)傳輸協(xié)議,支持以任何組合形式實(shí)現(xiàn)多個(gè)總線(xiàn)功能。總線(xiàn)主控功能可為處理器分擔(dān)任務(wù),有利于在多任務(wù)環(huán)境中改善系統(tǒng)的吞吐量。CardBus卡可以在移動(dòng)環(huán)境下應(yīng)用。PCMCIA接口和系統(tǒng)總線(xiàn)接口通常需要一個(gè)HBA(HostBusAdepter)運(yùn)行轉(zhuǎn)換,這個(gè)HBA可以是一個(gè)芯片,也可以是一些邏輯。PCMCIA卡可以支持5V和3.3V的供電電壓,PCMCIA規(guī)范中采用電壓敏感VS(VoltageSense)信號(hào)識(shí)別插入的PCMCIA卡的工作電壓。LOREMIPSUMDOLORPCMCIA卡可以分為I型(TYPEI)、II型(TYPEII)、III型(TYPEIII)、擴(kuò)展TYPEI和擴(kuò)展TYPEII5種,其中I型~I(xiàn)II型PCMCIA卡的外形尺寸為85.60mm×54.00mm,卡的厚度分別為3.3mm、5.0mm和10.5mm。而擴(kuò)展TYPEI和擴(kuò)展TYPEII的PCMCIA卡可以兼容某些尺寸較大的接口,如RJ45接口等。PCMCIA規(guī)范里一共定義了6類(lèi)PCMCIA內(nèi)存卡,分別是內(nèi)存卡、I/O卡(內(nèi)存或I/O)、硬盤(pán)ATA(ATAttachmentforIDEdrivers)接口、DMA(DirectMemoryAccess)接口、AIMS(Auto-IndexingMassStorage)和32位PC卡接口CardBus。LOREMIPSUMDOLOR4.6.2S3C2410A的CF卡接口電路CF卡接口采用50個(gè)引腳,II型卡并完全符合PCMCIA電氣和機(jī)械接口規(guī)格(PCMCIA卡為68個(gè)引腳),同時(shí)支持3.3V和5V的電壓。在50個(gè)引腳中,其中有16根數(shù)據(jù)線(xiàn)、11根地址線(xiàn)(在TureIDE模式下僅用3根地址線(xiàn))、2根寄存器組選擇信號(hào)線(xiàn)(CS0和CS1)、數(shù)據(jù)的讀寫(xiě)線(xiàn)(IORD和IOWR)、1根中斷信號(hào)請(qǐng)求線(xiàn)(INTRQ)和1根復(fù)位線(xiàn)(RESET)。CF卡可以工作在16位或者8位數(shù)據(jù)總線(xiàn)方式。若選擇8位工作方式,CS1固定接于高電平,CS0低電平有效。INTRQ用于判斷CF卡是否處于讀/寫(xiě)忙狀態(tài)。與S3C2410A連接的CF卡接口電路如圖4.6.1所示。圖4.6.1CF卡接口電路LOREMIPSUMDOLOR4.6.3CF卡的讀寫(xiě)操作CF卡可以配置工作在存儲(chǔ)模式和I/O模式。CF卡使用標(biāo)準(zhǔn)ATA命令實(shí)現(xiàn)存儲(chǔ)塊的讀/寫(xiě)操作。每個(gè)存儲(chǔ)塊包含512字節(jié),在訪(fǎng)問(wèn)CF卡之前,必須進(jìn)行初始化操作。初始化過(guò)程包括GPIO配置、卡檢測(cè)和復(fù)位。(1)存儲(chǔ)模式訪(fǎng)問(wèn)①讀取卡信息結(jié)構(gòu)。卡信息結(jié)構(gòu)包含CF卡的相關(guān)信息。②寫(xiě)存儲(chǔ)塊。CF卡存儲(chǔ)器一般采用NandFlash,需要使用ATA命令來(lái)完成讀/寫(xiě)操作。CF卡采用塊方式進(jìn)行讀/寫(xiě)操作,每塊的大小為512字節(jié),寫(xiě)數(shù)據(jù)的操作步驟如下:(a)寫(xiě)塊數(shù)到扇區(qū)計(jì)數(shù)器寄存器;(b)寫(xiě)LBA地址;LOREMIPSUMDOLOR(c)發(fā)送0x30命令來(lái)啟動(dòng)傳輸。當(dāng)CF卡接收到該命令后,將會(huì)使能DRQ信號(hào)并清除BSY信號(hào),等待主機(jī)寫(xiě)入數(shù)據(jù),規(guī)定的數(shù)據(jù)寫(xiě)完后DRQ會(huì)被清除。③讀存儲(chǔ)塊。與寫(xiě)存儲(chǔ)塊大致相同,只是命令不一樣,下面是一個(gè)典型的操作序列:(a)寫(xiě)塊數(shù)到扇區(qū)計(jì)數(shù)器寄存器;(b)寫(xiě)LBA地址;(c)發(fā)送0x20命令來(lái)啟動(dòng)傳輸。當(dāng)CF卡接收到該命令后,將會(huì)使能DRQ信號(hào)并清除BSY信號(hào),等待主機(jī)讀出數(shù)據(jù),當(dāng)規(guī)定的數(shù)據(jù)寫(xiě)完后DRQ將會(huì)被清除。LOREMIPSUMDOLOR(2)I/O模式訪(fǎng)問(wèn)①配置CF卡工作在I/O模式。可以通過(guò)CF卡的配置寄存器將其配置為I/O模式。②寫(xiě)存儲(chǔ)塊。I/O模式下寫(xiě)存儲(chǔ)塊與存儲(chǔ)模式類(lèi)似,惟一的區(qū)別就是需要使用正確的地址空間,步驟如下:(a)寫(xiě)塊數(shù)到扇區(qū)計(jì)數(shù)器寄存器;(b)然后寫(xiě)LBA地址;(c)發(fā)送0x30命令來(lái)啟動(dòng)傳輸。③讀存儲(chǔ)塊。I/O模式下讀存儲(chǔ)塊步驟如下:(a)寫(xiě)塊數(shù)到扇區(qū)計(jì)數(shù)器寄存器;(b)然后寫(xiě)LBA地址;(c)發(fā)送0x20命令來(lái)啟動(dòng)傳輸。4.7SD卡接口電路4.7.1SD卡的接口規(guī)范SD存儲(chǔ)卡兼容MMC卡接口規(guī)范,采用9芯的接口(CLK為時(shí)鐘線(xiàn),CMD為命令/響應(yīng)線(xiàn),DAT0~DAT3為雙向數(shù)據(jù)傳輸線(xiàn),VDD、Vss1和Vss2為電源和地),最大的工作頻率是25MHz,標(biāo)準(zhǔn)SD的外形尺寸是24mm×32mm×2.1mm,SD卡的外形和接口如圖4.7.1所示,SD卡引腳定義如表4.7.1所示。SD卡原理圖如圖4.7.2所示。SD卡系統(tǒng)支持SD和SPI方式兩種通信協(xié)議。SD卡在結(jié)構(gòu)上使用一主多從星型拓?fù)浣Y(jié)構(gòu),拓?fù)鋱D如圖4.7.3所示。圖4.7.1SD卡的外形和接口

圖4.7.2SD卡原理圖圖表4.7.1SD卡引腳定義引腳SD模式SPI模式名稱(chēng)類(lèi)型描述名稱(chēng)類(lèi)型描述1CD/DAT3I/O/PP卡檢測(cè)/數(shù)據(jù)線(xiàn)[Bit3]CSI片選信號(hào)2CMDPP命令/響應(yīng)DII數(shù)據(jù)輸入3Vss1S接地VssS接地4VDDS電源電壓VDDS電源電壓5CLKI時(shí)鐘SCLKI時(shí)鐘6Vss2S接地Vss2S接地7DAT0I/O/PP數(shù)據(jù)線(xiàn)[Bit0]DOO/PP數(shù)據(jù)輸出8DAT1I/O/PP數(shù)據(jù)線(xiàn)[Bit1]RSV9DAT2I/O/PP數(shù)據(jù)線(xiàn)[Bit2]RSV注:類(lèi)型S:電源;I/O:輸入/輸出;PP:推挽方式圖4.7.3SD卡系統(tǒng)的總線(xiàn)拓?fù)鋱D4.7.2S3C2410A的SD卡接口電路S3C2410A內(nèi)部集成了SD模塊,SD卡接口電路如圖4.7.4所示。圖4.7.4SD卡接口電路4.8IDE接口電路4.8.1S3C2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論