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

下載本文檔

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

文檔簡介

第4章嵌入式系統(tǒng)的存儲器系統(tǒng)LOREMIPSUMDOLOR4.1存儲器系統(tǒng)概述4.1.1存儲器系統(tǒng)的層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的存儲器被組織成一個(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層為主存儲器(Flash、PROM、EPROM、EEPROM)S4層為外部存儲器(磁盤、光盤、CF、SD卡)S5層為遠(yuǎn)程二級存儲(分布式文件系統(tǒng)、Web服務(wù)器)圖4.1.1存儲器系統(tǒng)層次結(jié)構(gòu)LOREMIPSUMDOLOR在這種存儲器分層結(jié)構(gòu)中,上面一層的存儲器作為下一層存儲器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來自cache的字;cache又是內(nèi)存層的高速緩存,從內(nèi)存中提取數(shù)據(jù)送給CPU進(jìn)行處理,并將CPU的處理結(jié)果返回到內(nèi)存中;內(nèi)存又是主存儲器的高速緩存,它將經(jīng)常用到的數(shù)據(jù)從Flash等主存儲器中提取出來,放到內(nèi)存中,從而加快了CPU的運(yùn)行效率。嵌入式系統(tǒng)的主存儲器容量是有限的,磁盤、光盤或CF、SD卡等外部存儲器用來保存大信息量的數(shù)據(jù)。在某些帶有分布式文件系統(tǒng)的嵌入式網(wǎng)絡(luò)系統(tǒng)中,外部存儲器就作為其他系統(tǒng)中被存儲數(shù)據(jù)的高速緩存。LOREMIPSUMDOLOR4.1.2高速緩沖存儲器在主存儲器和CPU之間采用高速緩沖存儲器(cache)被廣泛用來提高提高存儲器系統(tǒng)的性能,許多微處理器體系結(jié)構(gòu)都把它作為其定義的一部分。cache能夠減少內(nèi)存平均訪問時(shí)間。Cache可以分為統(tǒng)一cache和獨(dú)立的數(shù)據(jù)/程序cache。在一個(gè)存儲系統(tǒng)中,指令預(yù)取時(shí)和數(shù)據(jù)讀寫時(shí)使用同一個(gè)cache,這時(shí)稱系統(tǒng)使用統(tǒng)一的cache。如果在一個(gè)存儲系統(tǒng)中,指令預(yù)取時(shí)使用的一個(gè)cache,數(shù)據(jù)讀寫時(shí)使用的另一個(gè)cache,各自是獨(dú)立的,這時(shí)稱系統(tǒng)使用了獨(dú)立的cache,用于指令預(yù)取的cache稱為指令cache,用于數(shù)據(jù)讀寫的cache稱為數(shù)據(jù)cache。當(dāng)CPU更新了cache的內(nèi)容時(shí),要將結(jié)果寫回到主存中,可以采用寫通法(write-through)和寫回法(write-back)。寫通法是指CPU在執(zhí)行寫操作時(shí),必須把數(shù)據(jù)同時(shí)寫入cache和主存。采用寫通法進(jìn)行數(shù)據(jù)更新的cache稱為寫通cache。寫回法是指CPU在執(zhí)行寫操作時(shí),被寫的數(shù)據(jù)只寫入cache不寫入主存。僅當(dāng)需要替換時(shí),才把已經(jīng)修改的cache塊寫回到主存中。采用寫回法進(jìn)行數(shù)據(jù)更新的cache稱為寫回cache。LOREMIPSUMDOLOR當(dāng)進(jìn)行數(shù)據(jù)寫操作時(shí),可以將cache分為讀操作分配cache和寫操作分配cache兩類。對于讀操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫操作時(shí),如果cache未命中,只是簡單地將數(shù)據(jù)寫入主存中。主要在數(shù)據(jù)讀取時(shí),才進(jìn)行cache內(nèi)容預(yù)取。對于寫操作分配cache,當(dāng)進(jìn)行數(shù)據(jù)寫操作時(shí),如果cache未命中,cache系統(tǒng)將會進(jìn)行cache內(nèi)容預(yù)取,從主存中將相應(yīng)的塊讀取到cache中相應(yīng)的位置,并執(zhí)行寫操作,把數(shù)據(jù)寫入到cache中。對于寫通類型的cache,數(shù)據(jù)將會同時(shí)被寫入到主存中,對于寫回類型的cache數(shù)據(jù)將在合適的時(shí)候?qū)懟氐街鞔嬷?。LOREMIPSUMDOLOR4.1.3存儲管理單元MMU(MemoryManageUnit,存儲管理單元)在CPU和物理內(nèi)存之間進(jìn)行地址轉(zhuǎn)換,將地址從邏輯空間映射到物理空間,這個(gè)轉(zhuǎn)換過程一般稱為內(nèi)存映射。MMU主要完成以下工作:(1)虛擬存儲空間到物理存儲空間的映射。采用了頁式虛擬存儲管理,它把虛擬地址空間分成一個(gè)個(gè)固定大小的塊,每一塊稱為一頁,把物理內(nèi)存的地址空間也分成同樣大小的頁。MMU實(shí)現(xiàn)的就是從虛擬地址到物理地址的轉(zhuǎn)換。(2)存儲器訪問權(quán)限的控制。(3)設(shè)置虛擬存儲空間的緩沖的特性。LOREMIPSUMDOLOR嵌入式系統(tǒng)中常常采用頁式存儲管理。頁表是存儲在內(nèi)存中的一個(gè)表,頁表用來管理這些頁。頁表的每一行對應(yīng)于虛擬存儲空間的一個(gè)頁,該行包含了該虛擬內(nèi)存頁對應(yīng)的物理內(nèi)存頁的地址、該頁的方位權(quán)限和該頁的緩沖特性等。從虛擬地址到物理地址的變換過程就是查詢頁表的過程。例如在ARM嵌入式系統(tǒng)中,使用系統(tǒng)控制協(xié)處理器CP15的寄存器C2來保存頁表的基地址?;诔绦蛟趫?zhí)行過程中具有局部性的原理,在一段時(shí)間內(nèi),對頁表的訪問只是局限在少數(shù)幾個(gè)單元。根據(jù)這一特點(diǎn),增加了一個(gè)小容量(通常為8~16字)、高速度(訪問速度和CPU中通用寄存器相當(dāng))的存儲部件來存放當(dāng)前訪問需要的地址變換條目,這個(gè)存儲部件稱為地址轉(zhuǎn)換后備緩沖器(TranslationLookasideBuffer,TLB)。當(dāng)CPU訪問內(nèi)存時(shí),首先在TLB中查找需要的地址變換條目,如果該條目不存在,CPU在從位于內(nèi)存中的頁表中查詢,并把相應(yīng)的結(jié)果添加到TLB中,更新它的內(nèi)容。LOREMIPSUMDOLOR當(dāng)ARM處理器請求存儲訪問時(shí),首先在TLB中查找虛擬地址。如果系統(tǒng)中數(shù)據(jù)TLB和指令TLB是分開的,在取指令時(shí),從指令TLB查找相應(yīng)的虛擬地址,對于內(nèi)存訪問操作,從數(shù)據(jù)TLB中查找相應(yīng)的虛擬地址。嵌入式系統(tǒng)中虛擬存儲空間到物理存儲空間的映射以內(nèi)存塊為單位來進(jìn)行。即虛擬存儲空間中一塊連續(xù)的存儲空間被映射到物理存儲空間中同樣大小的一塊連續(xù)存儲空間。在頁表和TLB中,每一個(gè)地址變換條目實(shí)際上記錄了一個(gè)虛擬存儲空間的內(nèi)存塊的基地址與物理存儲空間相應(yīng)的一個(gè)內(nèi)存塊的基地址的對應(yīng)關(guān)系。根據(jù)內(nèi)存塊大小,可以有多種地址變換。LOREMIPSUMDOLOR嵌入式系統(tǒng)支持的內(nèi)存塊大小有以下幾種:段(section)大小為1MB的內(nèi)存塊;大頁(LargePages)大小為64KB的內(nèi)存塊;小頁(SmallPages)大小為4KB的內(nèi)存塊;極小頁(TinyPages)大小為1KB的內(nèi)存塊。極小頁只能以1KB大小為單位不能再細(xì)分,而大頁和小頁有些情況下可以在進(jìn)一步的劃分,大頁可以分成大小為16KB的子頁,小頁可以分成大小為1KB的子頁。MMU中的域指的是一些段、大頁或者小頁的集合。每個(gè)域的訪問控制特性都是由芯片內(nèi)部的寄存器中的相應(yīng)控制位來控制的。例如在ARM嵌入式系統(tǒng)中,每個(gè)域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。MMU中的快速上下文切換技術(shù)(FastContextSwitchExtension,F(xiàn)CSE)通過修改系統(tǒng)中不同進(jìn)程的虛擬地址,避免在進(jìn)行進(jìn)程間切換時(shí)造成的虛擬地址到物理地址的重映射,從而提高系統(tǒng)的性能。LOREMIPSUMDOLOR在嵌入式系統(tǒng)中,I/O操作通常被映射成存儲器操作,即輸入/輸出是通過存儲器映射的可尋址外圍寄存器和中斷輸入的組合來實(shí)現(xiàn)的。I/O的輸出操作可通過存儲器寫入操作實(shí)現(xiàn);I/O的輸入操作可通過存儲器讀取操作實(shí)現(xiàn)。這些存儲器映射的I/O空間不滿足cache所要求的特性,不能使用cache技術(shù),一些嵌入式系統(tǒng)使用存儲器直接訪問(DMA)實(shí)現(xiàn)快速存儲。4.2嵌入式系統(tǒng)存儲設(shè)備分類存儲器是嵌入式系統(tǒng)硬件的重要組成部分,用來存放嵌入式系統(tǒng)工作時(shí)所用的程序和數(shù)據(jù)。嵌入式系統(tǒng)的存儲器由片內(nèi)和片外兩部分組成。4.2.1存儲器部件的分類1.按在系統(tǒng)中的地位分類在微機(jī)系統(tǒng)中,存儲器可分為主存儲器(MainMemory簡稱內(nèi)存或主存)和輔助存儲器(AuxiliaryMemory,SecondaryMemory,簡稱輔存或外存)。內(nèi)存是計(jì)算機(jī)主機(jī)的一個(gè)組成部分,一般都用快速存儲器件來構(gòu)成,內(nèi)存的存取速度很快,但內(nèi)存空間的大小受到地址總線位數(shù)的限制。內(nèi)存通常用來容納當(dāng)前正在使用的或要經(jīng)常使用的程序和數(shù)據(jù),CPU可以直接對內(nèi)存進(jìn)行訪問。系統(tǒng)軟件中如引導(dǎo)程序、監(jiān)控程序或者操作系統(tǒng)中的基本輸入/輸出部分BIOS都是必須常駐內(nèi)存。更多的系統(tǒng)軟件和全部應(yīng)用軟件則在用到時(shí)由外存?zhèn)魉偷絻?nèi)存。LOREMIPSUMDOLOR外存也是用來存儲各種信息的,存放的是相對來說不經(jīng)常使用的程序和數(shù)據(jù),其特點(diǎn)是容量大。外存總是和某個(gè)外部設(shè)備相關(guān)的,常見的外存有軟盤、硬盤、U盤、光盤等。CPU要使用外存的這些信息時(shí),必須通過專門的設(shè)備將信息先傳送到內(nèi)存中。2.按存儲介質(zhì)分類根據(jù)存儲介質(zhì)的材料及器件的不同,可分為磁存儲器(MagneticMemory),半導(dǎo)體存儲器、光存儲器(OpticalMemory)及激光光盤存儲器(LaserOpticalDisk)。3.按信息存取方式分類存儲器按存儲信息的功能,分為隨機(jī)存取存儲器(RandomAccessMemory,RAM)和只讀存儲器(ReadOnlyMemory,ROM)。隨機(jī)存取存儲器是一種在機(jī)器運(yùn)行期間可讀、可寫的存儲器,又稱讀寫存儲器。隨機(jī)存儲器按信息存儲的方式,可分為靜態(tài)RAM(StaticRAM,SRAM),動態(tài)RAM(DynamicRAM,DRAM)及準(zhǔn)靜態(tài)RAM(PseudostaticRAM,簡稱PSRAM)。LOREMIPSUMDOLOR在機(jī)器運(yùn)行期間只能讀出信息,不能隨時(shí)寫入信息的存儲器稱為只讀存儲器。只讀存儲器按功能可分為掩模式(ROM)、可編程只讀存儲器(ProgrammableROM,PROM)和可改寫的只讀存儲器(ErasableProgrammableROM,EPROM)。4.2.2存儲器的組織和結(jié)構(gòu)存儲器的容量是描述存儲器的最基本參數(shù),如1MB。存儲器的表示并不唯一,有不同表示方法,每種有不同的數(shù)據(jù)寬度。在存儲器內(nèi)部,數(shù)據(jù)是存放在二維陣列存儲單元中。陣列以二維的形式存儲,給出的n位地址被分成行地址和列地址(n=r十c)。r是行地址數(shù),c是列地址數(shù)。行列選定一個(gè)特定存儲單元。如果存儲器外部寬度為1位,那么列地址僅一位;對更寬的數(shù)據(jù),列地址可選擇所有列的一個(gè)子集。LOREMIPSUMDOLOR嵌入式系統(tǒng)的存儲器與通用系統(tǒng)的存儲器有所不同,通常由ROM、RAM、EPROM等組成。嵌入式存儲器一般采用存儲密度較大的存儲器芯片,存儲容量與應(yīng)用的軟件大小相匹配。4.2.3常見的嵌入式系統(tǒng)存儲設(shè)備1.RAM(隨機(jī)存儲器)RAM可以被讀和寫,地址可以以任意次序被讀。常見RAM的種類有SRAM(StaticRAM,靜態(tài)隨機(jī)存儲器)、DRAM(DynamicRAM,動態(tài)隨機(jī)存儲器)、DDRAM(DoubleDataRateSDRAM,雙倍速率隨機(jī)存儲器)。其中,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(只讀存儲器)ROM在燒入數(shù)據(jù)后,無需外加電源來保存數(shù)據(jù),斷電后數(shù)據(jù)不丟失,但速度較慢,適合存儲需長期保留的不變數(shù)據(jù)。在嵌入式系統(tǒng)中,ROM用固定數(shù)據(jù)和程序。常見ROM有MaskROM(掩模ROM)、PROM(ProgrammableROM,可編程ROM)、EPROM(ErasableProgrammableROM,可擦寫ROM)、EEPROM(電可擦除可編程ROM,也可表示為E2PROM)、FlashROM(閃速存儲器)MaskROM一次性由廠家寫入數(shù)據(jù)的ROM,用戶無法修改。PROM出廠時(shí)廠家并沒有寫入數(shù)據(jù),而是保留里面的內(nèi)容為全0或全1,由用戶來編程一次性寫入數(shù)據(jù)。EPROM可以通過紫外光的照射,擦掉原先的程序,芯片可重復(fù)擦除和寫入。E2PROM是通過加電擦除原編程數(shù)據(jù),通過高壓脈沖可以寫入數(shù)據(jù),寫入時(shí)間較長。FlashROM斷電不會丟失數(shù)據(jù)(NVRAM),可快速讀取,電可擦寫可編程。LOREMIPSUMDOLOR3.FlashMemoryFlashmemory(閃速存儲器)是嵌入式系統(tǒng)中重要的組成部分,用來存儲程序和數(shù)據(jù),掉電后數(shù)據(jù)不會丟失。但在使用FlashMemory時(shí),必須根據(jù)其自身特性,對存儲系統(tǒng)進(jìn)行特殊設(shè)計(jì),以保證系統(tǒng)的性能達(dá)到最優(yōu)。FlashMemory是一種非易失性存儲器NVM(Non-VolatileMemory),根據(jù)結(jié)構(gòu)的不同可以將其分成NORFlash和NANDFlash兩種。FlashMemory在物理結(jié)構(gòu)上分成若干個(gè)區(qū)塊,區(qū)塊之間相互獨(dú)立。NORFlash把整個(gè)存儲區(qū)分成若干個(gè)扇區(qū)(Sector),而NANDFlash把整個(gè)存儲區(qū)分成若干個(gè)塊(Block),可以對以塊或扇區(qū)為單位的內(nèi)存單元進(jìn)行擦寫和再編程。LOREMIPSUMDOLOR由于FlashMemory的寫操作只能將數(shù)據(jù)位從1寫成0,而不能從0寫成1,所以在對存儲器進(jìn)行寫入之前必須先執(zhí)行擦除操作,將預(yù)寫入的數(shù)據(jù)位初始化為1。擦操作的最小單位是一個(gè)區(qū)塊,而不是單個(gè)字節(jié)。NANDFlash執(zhí)行擦除操作是十分簡單的,而NOR型內(nèi)存則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為0。由于擦除NORFlash時(shí)是以64~128KB為單位的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,與此相反,擦除NANDFlash是以8~32KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。NORFlash的讀速度比NANDFlash稍快一些,NANDFlash的寫入速度比NORFlash快很多。NANDFlash的隨機(jī)讀取能力差,適合大量數(shù)據(jù)的連續(xù)讀取。除了NORFlash的讀,F(xiàn)lashMemory的其他操作不能像RAM那樣,直接對目標(biāo)地址進(jìn)行總線操作。例如執(zhí)行一次寫操作,它必須輸入一串特殊的指令(NORFlash),或者完成一段時(shí)序(NANDFlash)才能將數(shù)據(jù)寫入到FlashMemory中。LOREMIPSUMDOLORNORFlash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)。NANDFlash地址、數(shù)據(jù)和命令共用8位總線/16位總線,每次讀寫都要使用復(fù)雜的I/O接口串行地存取數(shù)據(jù),8位總線/16位總線用來傳送控制、地址和資料信息。NANDFlash讀和寫操作采用512B的塊,類似硬盤管理操作。因此,基于NAND的閃存可以取代硬盤或其他塊設(shè)備。NORFlash容量通常在1MB~8MB之間。而NANDFlash用在8MB以上的產(chǎn)品當(dāng)中。NORFlash主要應(yīng)用在代碼存儲介質(zhì)中,NANDFlash適用于資料存儲。所有FlashMemory器件存在位交換現(xiàn)象。FlashMemory在讀寫數(shù)據(jù)過程中,偶然會產(chǎn)生一位或幾位數(shù)據(jù)錯(cuò)誤,即位反轉(zhuǎn)。位反轉(zhuǎn)無法避免,只能通過其他手段對產(chǎn)生的結(jié)果進(jìn)行事后處理。位反轉(zhuǎn)的問題多見于NANDFlash。NANDFlash的供貨商建議使用NANDFlash的時(shí)候,同時(shí)使用EDC/ECC(錯(cuò)誤探測/錯(cuò)誤糾正)算法,以確??煽啃?。LOREMIPSUMDOLORFlashMemory在使用過程中,可能導(dǎo)致某些區(qū)塊的損壞。區(qū)塊一旦損壞,將無法進(jìn)行修復(fù)。NANDFlash中的壞塊是隨機(jī)分布的,尤其是NANDFlash在出廠時(shí)就可能存在這樣的壞塊(已經(jīng)被標(biāo)識出)。NANDFlash需要對介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。如果對已損壞的區(qū)塊進(jìn)行操作,可能會帶來不可預(yù)測的錯(cuò)誤。應(yīng)用程序可以直接在NORFlash內(nèi)運(yùn)行,不需要再把代碼讀到系統(tǒng)RAM中運(yùn)行。NORFlash的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NANDFlash結(jié)構(gòu)可以達(dá)到高存儲密度,并且寫入和擦除的速度也很快,應(yīng)用NANDFlash的困難在于需要特殊的系統(tǒng)接口。在NORFlash上運(yùn)行代碼不需要任何的軟件支持。在NANDFlash上進(jìn)行同樣操作時(shí),通常需要驅(qū)動程序,也就是內(nèi)存技術(shù)驅(qū)動程序(MTD)。NANDFlash和NORFlash在進(jìn)行寫入和擦除操作時(shí)都需要MTD。LOREMIPSUMDOLOR在NANDFlash中每個(gè)塊的最大擦寫次數(shù)是一百萬次,而NORFlash的擦寫次數(shù)是十萬次。NANDFlash除了具有10:1的塊擦除周期優(yōu)勢,典型的NANDFlash塊尺寸要比NOR型閃存小8倍,每個(gè)NANDFlash的內(nèi)存塊在給定的時(shí)間內(nèi)刪除次數(shù)要少一些。4.標(biāo)準(zhǔn)存儲卡(CompactFlash,CF卡)CF卡是利用Flash技術(shù)的存儲卡,內(nèi)部結(jié)構(gòu)如圖4.2.1所示,接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PCCard模式。衍生出來的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è)子集,可以通過物理上的轉(zhuǎn)換器,直接轉(zhuǎn)換成PCMCIA卡使用。CF卡可分為I型和II型兩類,二者的規(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存儲模式和實(shí)IDE模式。實(shí)IDE模式與IDE接口完全兼容。CF卡遵循ATA協(xié)議,屬于塊存儲設(shè)備,存儲單元是通過磁頭(head)、柱面(cylinder,也稱磁道)和扇區(qū)(sector)組織起來的。在物理尋址(CHS)方式下,每一組H/C/S參數(shù)唯一確定存儲卡中的一個(gè)扇區(qū),通常一個(gè)扇區(qū)擁有512B的數(shù)據(jù)空間。一個(gè)驅(qū)動數(shù)格式化后的容量為磁頭數(shù)×柱面數(shù)×扇區(qū)數(shù)×512字節(jié)。在物理尋址模式下,扇區(qū)(S)是最低的地址單位,其次是磁頭(H),最后的柱面(C)為最高尋址單位。此外,還有邏輯尋址方式(LBA)。在這種尋址方式下,CF卡按照以連續(xù)序列的邏輯扇區(qū)編號進(jìn)行尋址,主機(jī)不必知道CF卡的物理幾何結(jié)構(gòu)。使用28個(gè)數(shù)據(jù)位來表示邏輯扇區(qū)的地址,可以尋址228個(gè)扇區(qū),理論上可以尋址136GB的容量。物理尋址方式與邏輯尋址方式的對應(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分別表示磁盤的柱面、磁頭和扇區(qū)編號,LBA表示邏輯扇區(qū)號,div為整除計(jì)算,mod為求余計(jì)算。LOREMIPSUMDOLOR5.安全數(shù)據(jù)卡(SecureDigitalCard,SD卡)由日本Panasonic公司、TOSHIBA公司和美國SanDisk公司共同開發(fā)研制的SD卡是一種全新的存儲卡產(chǎn)品,在MP3、數(shù)碼攝像機(jī)、數(shù)碼相機(jī)、電子圖書及AV器材等中應(yīng)用。SD存儲卡采用一個(gè)完全開放的標(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.硬盤存儲器硬盤存儲器具有存儲容量大,使用壽命長,存取速度較快的特點(diǎn),也是在嵌入式系統(tǒng)中常用的外存。LOREMIPSUMDOLOR硬盤存儲器的硬件包括硬盤控制器(適配器)、硬盤驅(qū)動器以及連接電纜。硬盤控制器(HardDiskController,簡稱HDC)對硬盤進(jìn)行管理,并在主機(jī)和硬盤之間傳送數(shù)據(jù)。硬盤控制器以適配卡的形式插在主板上或直接集成在主板上,然后通過電纜與硬盤驅(qū)動器相連。硬盤驅(qū)動器(HardDiskDrive,簡稱HDD)中有盤片、磁頭、主軸電機(jī)(盤片旋轉(zhuǎn)驅(qū)動機(jī)構(gòu))、磁頭定位機(jī)構(gòu)、讀/寫電路和控制邏輯等。硬盤存儲器可分為溫徹斯特盤和非溫徹斯特盤兩類。溫徹斯特盤是根據(jù)溫徹斯特技術(shù)設(shè)計(jì)制造的,它的磁頭、盤片、磁頭定位機(jī)構(gòu)、主軸、甚至連讀/寫驅(qū)動電路等都被密封在一個(gè)盤盒內(nèi),構(gòu)成一個(gè)頭一盤組合體。溫徹斯特盤的防塵性能好,可靠性高,對使用環(huán)境要求不高。非溫徹斯特盤磁盤的磁頭和盤片等不是密封的,通常只能用于中型、大型計(jì)算機(jī)機(jī)房中。最常見的硬盤接口是IDE(ATA)和SCSI兩種,一些移動硬盤采用PCMCIA或USB接口。LOREMIPSUMDOLORIDE(IntegratedDriveElectronics)接口也稱為ATA(美國國家標(biāo)準(zhǔn)協(xié)會)接口,是一個(gè)通用的硬盤接口。IDE接口的硬盤可細(xì)分為ATA-1(IDE)、ATA-2(EIDE)、ATA-3(FastATA-2)、ATA-4(包括UltraATA、UltraATA/33、UltraATA/66)與SerialATA(包括UltraATA/100及其他后續(xù)的接口類型)。基本的IDE接口數(shù)據(jù)傳輸率為4.1MB/s,傳輸方式有PIO和DMA兩種,支持總線為ISA和EISA。ATA-2、ATAPI和針對PCI總線的FAST-ATA、FAST-ATA2等數(shù)據(jù)傳輸率達(dá)到了16.67MB/s。UltraDMA/33接口(稱為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)在市場上主流的硬盤接口類型。UltraATA/100是最有前景的硬盤接口,它的理論最大外部數(shù)據(jù)傳輸率可以高達(dá)100MB/s。LOREMIPSUMDOLORSCSI(SmallComputerSystemInterface,小型計(jì)算機(jī)系統(tǒng)接口)不是專為硬盤設(shè)計(jì)的,是一種總線型接口。SCSI獨(dú)立于系統(tǒng)總線工作,其系統(tǒng)占用率極低,但其價(jià)格昂貴,具有這種接口的硬盤大多用于服務(wù)器等高端應(yīng)用場合。4.3NORFlash接口電路4.3.1NORFlash存儲器Am29LV160DAm29LV160D是AMD公司的一款NORFlash存儲器,存儲容量為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)的編程與擦除操作,通過對其內(nèi)部的命令寄存器寫入標(biāo)準(zhǔn)的命令序列,可對Flash進(jìn)行編程(燒寫)、整片擦除、按扇區(qū)擦除,以及其他操作。以16位(字模式)數(shù)據(jù)寬度的方式工作。更多的內(nèi)容請登錄,查找資料“Am29LV160D16Megabit(2M×8-Bit/1M×16-Bit)CMOS3.0Volt-onlyBootSectorFlashMemory”。Am29LV160D的邏輯框圖如圖4.3.1所示,引腳端功能如表4.3.1所示。引腳類型功能A19~A0輸入地址輸入。提供存儲器地址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#輸入寫使能,低電平有效,控制寫操作RESET#輸入硬件復(fù)位引腳端,低電平有效RY/BY#輸出就緒/忙標(biāo)志信號輸出,SO-44封裝無此引腳端VCC電源3V電源電壓輸入VSS地器件地NC未連接??漳_圖4.3.1Am29LV160D的邏輯框圖表4.3.1Am29LV160D引腳端功能LOREMIPSUMDOLOR4.3.2S3C2410A與NORFlash存儲器的接口電路S3C2410A與Am29LV160D的接口電路如圖4.3.2所示。Flash存儲器在系統(tǒng)中通常用于存放程序代碼,系統(tǒng)上電或復(fù)位后從此獲取指令并開始執(zhí)行,因此,應(yīng)將存有程序代碼的Flash存儲器配置到Bank0,即將S3C2410A的nGCS0接至Am29LV160D的CE#(nCE)端。Am29LV160D的OE#(nOE)端接S3C2410X的nOE;WE#(nXE)端S3C2410X的nWE相連;地址總線A19~A0與S3C2410X的地址總線ADDR20~ADDR1(A20~A1)相連;16位數(shù)據(jù)總線DQ15~DQ0與S3C2410X的低16位數(shù)據(jù)總線DATA15~DATA0(D15~D0)相連。注意:此時(shí)應(yīng)將BWSCON中的DW0設(shè)置為01,即選擇16位總線方式。如果需要更大的NORFlash存儲容量,可以采用容量更大的NORFlash存儲器芯片,如28F128J3A、28F640J3A等。更多的內(nèi)容請登錄,查找資料“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相連;地址總線A24~A1與S3C2410X的地址總線ADDR24~ADDR1(A24~A1)相連,A0直接接地;16位數(shù)據(jù)總線DQ15~DQ0與S3C2410X的低16位數(shù)據(jù)總線DATA15~DATA0(D15~D0)相連。圖4.3.3S3C2410A與28F128J3A的接口電路4.4NANDFlash接口電路4.4.1S3C2410ANANDFlash控制器1.S3C2410ANANDFlash控制器特性S3C2410A可以在一個(gè)外部NANDFlash存儲器上執(zhí)行啟動代碼,用來實(shí)現(xiàn)這一想法。為了支持NANDFlash的啟動裝載(bootloader),S3C2410A配置了一個(gè)叫做“Steppingstone”的內(nèi)部SRAM緩沖器。當(dāng)系統(tǒng)啟動時(shí),NANDFlash存儲器的前4KB將被自動加載到Steppingstone中,然后系統(tǒng)自動執(zhí)行這些載入的啟動代碼。在一般情況下,啟動代碼將復(fù)制NANDFlash的內(nèi)容到SDRAM中。使用S3C2410A內(nèi)部硬件ECC功能可以對NANDFlash的數(shù)據(jù)的有效性進(jìn)行檢查。在復(fù)制完成后,將在SDRAM中執(zhí)行主程序。NANDFlash控制器具有以下特性。NANDFlash模式:支持讀/擦除/編程N(yùn)ANDFlash存儲器。LOREMIPSUMDOLOR●自動啟動模式:復(fù)位后,啟動代碼被傳送到Steppingstone中。傳送完畢后,啟動代碼在Steppingstone中執(zhí)行?!窬哂杏布﨓CC產(chǎn)生模塊(硬件生成校驗(yàn)碼和通過軟件校驗(yàn))?!裨贜ANDFlash啟動后,Steppingstone4KB內(nèi)部SRAM緩沖器可以作為其他用途使用?!馧ANDFlash控制器不能通過DMA訪問,可以使用LDM/STM指令來代替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自動啟動模式的時(shí)序如下:(1)完成復(fù)位;(2)當(dāng)自動啟動模式使能時(shí),首先將NANDFlash存儲器的前4KB內(nèi)容自動復(fù)制到Steppingstone4KB內(nèi)部緩沖器中;(3)Steppingstone映射到nGCSO;(4)CPU開始執(zhí)行在Steppingstone4KB內(nèi)部緩沖器中的啟動代碼。注意:在自動啟動模式,不進(jìn)行ECC檢測。因此,應(yīng)確保NANDFlash的前4KB不能有位錯(cuò)誤。NANDFlash模式配置:(1)利用NFCONF寄存器設(shè)置NANDFlash配置;(2)寫NANDFlash命令到NFCMD寄存器;(3)寫NANDFlash地址到NFADDR寄存器;(4)在檢查NANDFlash狀態(tài)時(shí),利用NFSTAT寄存器讀/寫數(shù)據(jù)。在讀操作之前或者編程操作之后應(yīng)該檢查R/nB信號。NANDFlash存儲器的時(shí)序如圖4.4.3所示。圖4.4.3NANDFlash存儲器的時(shí)序(TACLS=0,TWRPH0=1,TWRPH1=0)NANDFlash控制器的引腳配置如表4.4.1所列。表4.4.1NANDFlash控制器的引腳配置引腳配置D[7:0]數(shù)據(jù)/命令/地址輸入/輸出端口(用數(shù)據(jù)總線分派)CLE命令鎖存使能(輸出)ALE地址鎖存使能(輸出)nFCENANDFlash芯片使能(輸出)nFRENANDFlash讀使能(輸出)nFWENANDFlash寫使能(輸出)R/nBNANDFlash準(zhǔn)備就緒/忙使能(輸出)BOOT(啟動)和NANDFlash配置如下:(1)OM[1:0]=00b:使能NANDFlash控制器為自動啟動模式;(2)NANDFlash存儲器的頁面大小應(yīng)該為512字節(jié);(3)NCON:NANDFlash存儲器尋址步選擇。0為3步尋址;1為4步尋址。512字節(jié)ECC奇偶校驗(yàn)碼分配表如表4.4.2所示。表4.4.2512字節(jié)ECC奇偶校驗(yàn)碼分配表LOREMIPSUMDOLOR在寫/讀操作期間,S3C2410A自動生成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寫數(shù)據(jù)到NAND時(shí),ECC生成模塊產(chǎn)生ECC代碼。(2)當(dāng)MCU從NAND讀數(shù)據(jù)時(shí),ECC生成模塊產(chǎn)生ECC代碼,同時(shí)用戶程序?qū)⑺c先前寫入的ECC代碼進(jìn)行比較。4.4.2S3C2410A與NANDFlash存儲器的接口電路與NORFlash存儲器相比,NANDFlash的接口相對比較復(fù)雜。一些嵌入式處理器芯片內(nèi)部配置了專門的NANDFlash控制器,如S3C2410A。LOREMIPSUMDOLORS3C2410A與NANDFlash存儲器K9F1208UDM-YCB0接口電路如圖4.4.4所示。K9F1208UDM-YCB0的存儲容量為64M字節(jié),數(shù)據(jù)總線寬度為8位,工作電壓為2.7V~3.6V,采用TSOP-48封裝。僅需單3.3V電壓即可完成在系統(tǒng)的編程與擦除操作,引腳端功能如表4.4.3所示。更多的內(nèi)容請登錄,查找資料“K9F1208U0M-YCB0,K9F1208U0M-YIB064M×8BitNANDFlashMemory”。表4.4.3K9F1208UDM的引腳功能引腳類型功能I/O7~

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

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

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論