




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章嵌入式系統的存儲器系統LOREMIPSUMDOLOR4.1存儲器系統概述4.1.1存儲器系統的層次結構計算機系統的存儲器被組織成一個6個層次的金字塔形的層次結構,如圖4.1.1[魏洪興]所示,位于整個層次結構的最頂部S0層為CPU內部寄存器S1層為芯片內部的高速緩存(cache)內存S2層為芯片外的高速緩存(SRAM、DRAM、DDRAM)S3層為主存儲器(Flash、PROM、EPROM、EEPROM)S4層為外部存儲器(磁盤、光盤、CF、SD卡)S5層為遠程二級存儲(分布式文件系統、Web服務器)圖4.1.1存儲器系統層次結構LOREMIPSUMDOLOR在這種存儲器分層結構中,上面一層的存儲器作為下一層存儲器的高速緩存。CPU寄存器就是cache的高速緩存,寄存器保存來自cache的字;cache又是內存層的高速緩存,從內存中提取數據送給CPU進行處理,并將CPU的處理結果返回到內存中;內存又是主存儲器的高速緩存,它將經常用到的數據從Flash等主存儲器中提取出來,放到內存中,從而加快了CPU的運行效率。嵌入式系統的主存儲器容量是有限的,磁盤、光盤或CF、SD卡等外部存儲器用來保存大信息量的數據。在某些帶有分布式文件系統的嵌入式網絡系統中,外部存儲器就作為其他系統中被存儲數據的高速緩存。LOREMIPSUMDOLOR4.1.2高速緩沖存儲器在主存儲器和CPU之間采用高速緩沖存儲器(cache)被廣泛用來提高提高存儲器系統的性能,許多微處理器體系結構都把它作為其定義的一部分。cache能夠減少內存平均訪問時間。Cache可以分為統一cache和獨立的數據/程序cache。在一個存儲系統中,指令預取時和數據讀寫時使用同一個cache,這時稱系統使用統一的cache。如果在一個存儲系統中,指令預取時使用的一個cache,數據讀寫時使用的另一個cache,各自是獨立的,這時稱系統使用了獨立的cache,用于指令預取的cache稱為指令cache,用于數據讀寫的cache稱為數據cache。當CPU更新了cache的內容時,要將結果寫回到主存中,可以采用寫通法(write-through)和寫回法(write-back)。寫通法是指CPU在執行寫操作時,必須把數據同時寫入cache和主存。采用寫通法進行數據更新的cache稱為寫通cache。寫回法是指CPU在執行寫操作時,被寫的數據只寫入cache不寫入主存。僅當需要替換時,才把已經修改的cache塊寫回到主存中。采用寫回法進行數據更新的cache稱為寫回cache。LOREMIPSUMDOLOR當進行數據寫操作時,可以將cache分為讀操作分配cache和寫操作分配cache兩類。對于讀操作分配cache,當進行數據寫操作時,如果cache未命中,只是簡單地將數據寫入主存中。主要在數據讀取時,才進行cache內容預取。對于寫操作分配cache,當進行數據寫操作時,如果cache未命中,cache系統將會進行cache內容預取,從主存中將相應的塊讀取到cache中相應的位置,并執行寫操作,把數據寫入到cache中。對于寫通類型的cache,數據將會同時被寫入到主存中,對于寫回類型的cache數據將在合適的時候寫回到主存中。LOREMIPSUMDOLOR4.1.3存儲管理單元MMU(MemoryManageUnit,存儲管理單元)在CPU和物理內存之間進行地址轉換,將地址從邏輯空間映射到物理空間,這個轉換過程一般稱為內存映射。MMU主要完成以下工作:(1)虛擬存儲空間到物理存儲空間的映射。采用了頁式虛擬存儲管理,它把虛擬地址空間分成一個個固定大小的塊,每一塊稱為一頁,把物理內存的地址空間也分成同樣大小的頁。MMU實現的就是從虛擬地址到物理地址的轉換。(2)存儲器訪問權限的控制。(3)設置虛擬存儲空間的緩沖的特性。LOREMIPSUMDOLOR嵌入式系統中常常采用頁式存儲管理。頁表是存儲在內存中的一個表,頁表用來管理這些頁。頁表的每一行對應于虛擬存儲空間的一個頁,該行包含了該虛擬內存頁對應的物理內存頁的地址、該頁的方位權限和該頁的緩沖特性等。從虛擬地址到物理地址的變換過程就是查詢頁表的過程。例如在ARM嵌入式系統中,使用系統控制協處理器CP15的寄存器C2來保存頁表的基地址。基于程序在執行過程中具有局部性的原理,在一段時間內,對頁表的訪問只是局限在少數幾個單元。根據這一特點,增加了一個小容量(通常為8~16字)、高速度(訪問速度和CPU中通用寄存器相當)的存儲部件來存放當前訪問需要的地址變換條目,這個存儲部件稱為地址轉換后備緩沖器(TranslationLookasideBuffer,TLB)。當CPU訪問內存時,首先在TLB中查找需要的地址變換條目,如果該條目不存在,CPU在從位于內存中的頁表中查詢,并把相應的結果添加到TLB中,更新它的內容。LOREMIPSUMDOLOR當ARM處理器請求存儲訪問時,首先在TLB中查找虛擬地址。如果系統中數據TLB和指令TLB是分開的,在取指令時,從指令TLB查找相應的虛擬地址,對于內存訪問操作,從數據TLB中查找相應的虛擬地址。嵌入式系統中虛擬存儲空間到物理存儲空間的映射以內存塊為單位來進行。即虛擬存儲空間中一塊連續的存儲空間被映射到物理存儲空間中同樣大小的一塊連續存儲空間。在頁表和TLB中,每一個地址變換條目實際上記錄了一個虛擬存儲空間的內存塊的基地址與物理存儲空間相應的一個內存塊的基地址的對應關系。根據內存塊大小,可以有多種地址變換。LOREMIPSUMDOLOR嵌入式系統支持的內存塊大小有以下幾種:段(section)大小為1MB的內存塊;大頁(LargePages)大小為64KB的內存塊;小頁(SmallPages)大小為4KB的內存塊;極小頁(TinyPages)大小為1KB的內存塊。極小頁只能以1KB大小為單位不能再細分,而大頁和小頁有些情況下可以在進一步的劃分,大頁可以分成大小為16KB的子頁,小頁可以分成大小為1KB的子頁。MMU中的域指的是一些段、大頁或者小頁的集合。每個域的訪問控制特性都是由芯片內部的寄存器中的相應控制位來控制的。例如在ARM嵌入式系統中,每個域的訪問控制特性都是由CP15中的寄存器C3中的兩位來控制的。MMU中的快速上下文切換技術(FastContextSwitchExtension,FCSE)通過修改系統中不同進程的虛擬地址,避免在進行進程間切換時造成的虛擬地址到物理地址的重映射,從而提高系統的性能。LOREMIPSUMDOLOR在嵌入式系統中,I/O操作通常被映射成存儲器操作,即輸入/輸出是通過存儲器映射的可尋址外圍寄存器和中斷輸入的組合來實現的。I/O的輸出操作可通過存儲器寫入操作實現;I/O的輸入操作可通過存儲器讀取操作實現。這些存儲器映射的I/O空間不滿足cache所要求的特性,不能使用cache技術,一些嵌入式系統使用存儲器直接訪問(DMA)實現快速存儲。4.2嵌入式系統存儲設備分類存儲器是嵌入式系統硬件的重要組成部分,用來存放嵌入式系統工作時所用的程序和數據。嵌入式系統的存儲器由片內和片外兩部分組成。4.2.1存儲器部件的分類1.按在系統中的地位分類在微機系統中,存儲器可分為主存儲器(MainMemory簡稱內存或主存)和輔助存儲器(AuxiliaryMemory,SecondaryMemory,簡稱輔存或外存)。內存是計算機主機的一個組成部分,一般都用快速存儲器件來構成,內存的存取速度很快,但內存空間的大小受到地址總線位數的限制。內存通常用來容納當前正在使用的或要經常使用的程序和數據,CPU可以直接對內存進行訪問。系統軟件中如引導程序、監控程序或者操作系統中的基本輸入/輸出部分BIOS都是必須常駐內存。更多的系統軟件和全部應用軟件則在用到時由外存傳送到內存。LOREMIPSUMDOLOR外存也是用來存儲各種信息的,存放的是相對來說不經常使用的程序和數據,其特點是容量大。外存總是和某個外部設備相關的,常見的外存有軟盤、硬盤、U盤、光盤等。CPU要使用外存的這些信息時,必須通過專門的設備將信息先傳送到內存中。2.按存儲介質分類根據存儲介質的材料及器件的不同,可分為磁存儲器(MagneticMemory),半導體存儲器、光存儲器(OpticalMemory)及激光光盤存儲器(LaserOpticalDisk)。3.按信息存取方式分類存儲器按存儲信息的功能,分為隨機存取存儲器(RandomAccessMemory,RAM)和只讀存儲器(ReadOnlyMemory,ROM)。隨機存取存儲器是一種在機器運行期間可讀、可寫的存儲器,又稱讀寫存儲器。隨機存儲器按信息存儲的方式,可分為靜態RAM(StaticRAM,SRAM),動態RAM(DynamicRAM,DRAM)及準靜態RAM(PseudostaticRAM,簡稱PSRAM)。LOREMIPSUMDOLOR在機器運行期間只能讀出信息,不能隨時寫入信息的存儲器稱為只讀存儲器。只讀存儲器按功能可分為掩模式(ROM)、可編程只讀存儲器(ProgrammableROM,PROM)和可改寫的只讀存儲器(ErasableProgrammableROM,EPROM)。4.2.2存儲器的組織和結構存儲器的容量是描述存儲器的最基本參數,如1MB。存儲器的表示并不唯一,有不同表示方法,每種有不同的數據寬度。在存儲器內部,數據是存放在二維陣列存儲單元中。陣列以二維的形式存儲,給出的n位地址被分成行地址和列地址(n=r十c)。r是行地址數,c是列地址數。行列選定一個特定存儲單元。如果存儲器外部寬度為1位,那么列地址僅一位;對更寬的數據,列地址可選擇所有列的一個子集。LOREMIPSUMDOLOR嵌入式系統的存儲器與通用系統的存儲器有所不同,通常由ROM、RAM、EPROM等組成。嵌入式存儲器一般采用存儲密度較大的存儲器芯片,存儲容量與應用的軟件大小相匹配。4.2.3常見的嵌入式系統存儲設備1.RAM(隨機存儲器)RAM可以被讀和寫,地址可以以任意次序被讀。常見RAM的種類有SRAM(StaticRAM,靜態隨機存儲器)、DRAM(DynamicRAM,動態隨機存儲器)、DDRAM(DoubleDataRateSDRAM,雙倍速率隨機存儲器)。其中,SRAM比DRAM運行速度快,SRAM比DRAM耗電多,DRAM需要周期性刷新。而DDRAM是RAM的下一代產品。在133MHz時鐘頻率,DDRAM內存帶寬可以達到133×64b/8×2=2.1GB/s,在200MHz時鐘頻率,其帶寬可達到200×64b/8×2=3.2GB/s的海量。LOREMIPSUMDOLOR2.ROM(只讀存儲器)ROM在燒入數據后,無需外加電源來保存數據,斷電后數據不丟失,但速度較慢,適合存儲需長期保留的不變數據。在嵌入式系統中,ROM用固定數據和程序。常見ROM有MaskROM(掩模ROM)、PROM(ProgrammableROM,可編程ROM)、EPROM(ErasableProgrammableROM,可擦寫ROM)、EEPROM(電可擦除可編程ROM,也可表示為E2PROM)、FlashROM(閃速存儲器)MaskROM一次性由廠家寫入數據的ROM,用戶無法修改。PROM出廠時廠家并沒有寫入數據,而是保留里面的內容為全0或全1,由用戶來編程一次性寫入數據。EPROM可以通過紫外光的照射,擦掉原先的程序,芯片可重復擦除和寫入。E2PROM是通過加電擦除原編程數據,通過高壓脈沖可以寫入數據,寫入時間較長。FlashROM斷電不會丟失數據(NVRAM),可快速讀取,電可擦寫可編程。LOREMIPSUMDOLOR3.FlashMemoryFlashmemory(閃速存儲器)是嵌入式系統中重要的組成部分,用來存儲程序和數據,掉電后數據不會丟失。但在使用FlashMemory時,必須根據其自身特性,對存儲系統進行特殊設計,以保證系統的性能達到最優。FlashMemory是一種非易失性存儲器NVM(Non-VolatileMemory),根據結構的不同可以將其分成NORFlash和NANDFlash兩種。FlashMemory在物理結構上分成若干個區塊,區塊之間相互獨立。NORFlash把整個存儲區分成若干個扇區(Sector),而NANDFlash把整個存儲區分成若干個塊(Block),可以對以塊或扇區為單位的內存單元進行擦寫和再編程。LOREMIPSUMDOLOR由于FlashMemory的寫操作只能將數據位從1寫成0,而不能從0寫成1,所以在對存儲器進行寫入之前必須先執行擦除操作,將預寫入的數據位初始化為1。擦操作的最小單位是一個區塊,而不是單個字節。NANDFlash執行擦除操作是十分簡單的,而NOR型內存則要求在進行擦除前先要將目標塊內所有的位都寫為0。由于擦除NORFlash時是以64~128KB為單位的塊進行的,執行一個寫入/擦除操作的時間為5s,與此相反,擦除NANDFlash是以8~32KB的塊進行的,執行相同的操作最多只需要4ms。NORFlash的讀速度比NANDFlash稍快一些,NANDFlash的寫入速度比NORFlash快很多。NANDFlash的隨機讀取能力差,適合大量數據的連續讀取。除了NORFlash的讀,FlashMemory的其他操作不能像RAM那樣,直接對目標地址進行總線操作。例如執行一次寫操作,它必須輸入一串特殊的指令(NORFlash),或者完成一段時序(NANDFlash)才能將數據寫入到FlashMemory中。LOREMIPSUMDOLORNORFlash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節。NANDFlash地址、數據和命令共用8位總線/16位總線,每次讀寫都要使用復雜的I/O接口串行地存取數據,8位總線/16位總線用來傳送控制、地址和資料信息。NANDFlash讀和寫操作采用512B的塊,類似硬盤管理操作。因此,基于NAND的閃存可以取代硬盤或其他塊設備。NORFlash容量通常在1MB~8MB之間。而NANDFlash用在8MB以上的產品當中。NORFlash主要應用在代碼存儲介質中,NANDFlash適用于資料存儲。所有FlashMemory器件存在位交換現象。FlashMemory在讀寫數據過程中,偶然會產生一位或幾位數據錯誤,即位反轉。位反轉無法避免,只能通過其他手段對產生的結果進行事后處理。位反轉的問題多見于NANDFlash。NANDFlash的供貨商建議使用NANDFlash的時候,同時使用EDC/ECC(錯誤探測/錯誤糾正)算法,以確保可靠性。LOREMIPSUMDOLORFlashMemory在使用過程中,可能導致某些區塊的損壞。區塊一旦損壞,將無法進行修復。NANDFlash中的壞塊是隨機分布的,尤其是NANDFlash在出廠時就可能存在這樣的壞塊(已經被標識出)。NANDFlash需要對介質進行初始化掃描以發現壞塊,并將壞塊標記為不可用。如果對已損壞的區塊進行操作,可能會帶來不可預測的錯誤。應用程序可以直接在NORFlash內運行,不需要再把代碼讀到系統RAM中運行。NORFlash的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NANDFlash結構可以達到高存儲密度,并且寫入和擦除的速度也很快,應用NANDFlash的困難在于需要特殊的系統接口。在NORFlash上運行代碼不需要任何的軟件支持。在NANDFlash上進行同樣操作時,通常需要驅動程序,也就是內存技術驅動程序(MTD)。NANDFlash和NORFlash在進行寫入和擦除操作時都需要MTD。LOREMIPSUMDOLOR在NANDFlash中每個塊的最大擦寫次數是一百萬次,而NORFlash的擦寫次數是十萬次。NANDFlash除了具有10:1的塊擦除周期優勢,典型的NANDFlash塊尺寸要比NOR型閃存小8倍,每個NANDFlash的內存塊在給定的時間內刪除次數要少一些。4.標準存儲卡(CompactFlash,CF卡)CF卡是利用Flash技術的存儲卡,內部結構如圖4.2.1所示,接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PCCard模式。衍生出來的CF+卡物理規格和CF完全相同,在手持設備上應用,如CF串口卡、CFModem.CF藍牙、CFUSB卡、CF網卡、CFGPS卡、CFGPRS卡等。按照CF+卡標準,它不一定要支持ATA接口。通常建議CF+卡工作在PCMCIA模式。CF卡可以看作是PCMCIA卡的一個子集,可以通過物理上的轉換器,直接轉換成PCMCIA卡使用。CF卡可分為I型和II型兩類,二者的規格和特性基本相同,只是II型比I型略厚一些(5.0mm,3.3mm),II型插座可以同時兼容I型卡。圖4.2.1CF卡內部結構LOREMIPSUMDOLORCF卡有3種工作模式:PC卡ATAI/O模式、PC卡ATA存儲模式和實IDE模式。實IDE模式與IDE接口完全兼容。CF卡遵循ATA協議,屬于塊存儲設備,存儲單元是通過磁頭(head)、柱面(cylinder,也稱磁道)和扇區(sector)組織起來的。在物理尋址(CHS)方式下,每一組H/C/S參數唯一確定存儲卡中的一個扇區,通常一個扇區擁有512B的數據空間。一個驅動數格式化后的容量為磁頭數×柱面數×扇區數×512字節。在物理尋址模式下,扇區(S)是最低的地址單位,其次是磁頭(H),最后的柱面(C)為最高尋址單位。此外,還有邏輯尋址方式(LBA)。在這種尋址方式下,CF卡按照以連續序列的邏輯扇區編號進行尋址,主機不必知道CF卡的物理幾何結構。使用28個數據位來表示邏輯扇區的地址,可以尋址228個扇區,理論上可以尋址136GB的容量。物理尋址方式與邏輯尋址方式的對應關系如下所示:LOREMIPSUMDOLORLBA=NH×NS×C+NC×H+S-1;C=(LBAdivNS)divNH;H=(LBAdivNS)modNH;S=(LBAmodNS)+1。其中:NS為每磁道扇區數,NH為磁頭數,C、H、S分別表示磁盤的柱面、磁頭和扇區編號,LBA表示邏輯扇區號,div為整除計算,mod為求余計算。LOREMIPSUMDOLOR5.安全數據卡(SecureDigitalCard,SD卡)由日本Panasonic公司、TOSHIBA公司和美國SanDisk公司共同開發研制的SD卡是一種全新的存儲卡產品,在MP3、數碼攝像機、數碼相機、電子圖書及AV器材等中應用。SD存儲卡采用一個完全開放的標準(系統),外形與MultiMedia卡保持一致,比MMC卡略厚,具有更大的容量,兼容MMC卡接口規范。SD卡具有加密功能,可以保證數據資料的安全保密。SD卡具有版權保護技術,所采用的版權保護技術是DVD中使用的CPRM技術(可刻錄介質內容保護)。6.硬盤存儲器硬盤存儲器具有存儲容量大,使用壽命長,存取速度較快的特點,也是在嵌入式系統中常用的外存。LOREMIPSUMDOLOR硬盤存儲器的硬件包括硬盤控制器(適配器)、硬盤驅動器以及連接電纜。硬盤控制器(HardDiskController,簡稱HDC)對硬盤進行管理,并在主機和硬盤之間傳送數據。硬盤控制器以適配卡的形式插在主板上或直接集成在主板上,然后通過電纜與硬盤驅動器相連。硬盤驅動器(HardDiskDrive,簡稱HDD)中有盤片、磁頭、主軸電機(盤片旋轉驅動機構)、磁頭定位機構、讀/寫電路和控制邏輯等。硬盤存儲器可分為溫徹斯特盤和非溫徹斯特盤兩類。溫徹斯特盤是根據溫徹斯特技術設計制造的,它的磁頭、盤片、磁頭定位機構、主軸、甚至連讀/寫驅動電路等都被密封在一個盤盒內,構成一個頭一盤組合體。溫徹斯特盤的防塵性能好,可靠性高,對使用環境要求不高。非溫徹斯特盤磁盤的磁頭和盤片等不是密封的,通常只能用于中型、大型計算機機房中。最常見的硬盤接口是IDE(ATA)和SCSI兩種,一些移動硬盤采用PCMCIA或USB接口。LOREMIPSUMDOLORIDE(IntegratedDriveElectronics)接口也稱為ATA(美國國家標準協會)接口,是一個通用的硬盤接口。IDE接口的硬盤可細分為ATA-1(IDE)、ATA-2(EIDE)、ATA-3(FastATA-2)、ATA-4(包括UltraATA、UltraATA/33、UltraATA/66)與SerialATA(包括UltraATA/100及其他后續的接口類型)。基本的IDE接口數據傳輸率為4.1MB/s,傳輸方式有PIO和DMA兩種,支持總線為ISA和EISA。ATA-2、ATAPI和針對PCI總線的FAST-ATA、FAST-ATA2等數據傳輸率達到了16.67MB/s。UltraDMA/33接口(稱為EIDE接口),采用PIO模式,數據傳輸率達到33MB/s。UltraDMA/66接口的傳輸率為UltraDMA/33的兩倍,采用CRC(循環冗余循環校驗)技術以保證數據傳輸的安全性,并且使用了80線的專用連接電纜,是現在市場上主流的硬盤接口類型。UltraATA/100是最有前景的硬盤接口,它的理論最大外部數據傳輸率可以高達100MB/s。LOREMIPSUMDOLORSCSI(SmallComputerSystemInterface,小型計算機系統接口)不是專為硬盤設計的,是一種總線型接口。SCSI獨立于系統總線工作,其系統占用率極低,但其價格昂貴,具有這種接口的硬盤大多用于服務器等高端應用場合。4.3NORFlash接口電路4.3.1NORFlash存儲器Am29LV160DAm29LV160D是AMD公司的一款NORFlash存儲器,存儲容量為2M×8Bit/1M×16Bit,接口與CMOSI/O兼容,工作電壓為2.7~3.6V,讀操作電流為9mA,編程和擦除操作電流為20mA,待機電流為200nA。采用FBGA-48、TSOP-48、SO-44三種封裝形式。Am29LV160D僅需3.3V電壓即可完成在系統的編程與擦除操作,通過對其內部的命令寄存器寫入標準的命令序列,可對Flash進行編程(燒寫)、整片擦除、按扇區擦除,以及其他操作。以16位(字模式)數據寬度的方式工作。更多的內容請登錄,查找資料“Am29LV160D16Megabit(2M×8-Bit/1M×16-Bit)CMOS3.0Volt-onlyBootSectorFlashMemory”。Am29LV160D的邏輯框圖如圖4.3.1所示,引腳端功能如表4.3.1所示。引腳類型功能A19~A0輸入地址輸入。提供存儲器地址DQ14~DQ0輸入/輸出數據輸入/輸出DQ15/A-1輸入/輸出在字模式,DQ15為數據輸入/輸出;在字節模式,A-1為
LSB地址輸入BYTE#輸入選擇8bit或者16bit模式CE#輸入片選。當CE#為低電平時,芯片有效OE#輸入輸出使能。當OE#為低電平時,輸出有效WE#輸入寫使能,低電平有效,控制寫操作RESET#輸入硬件復位引腳端,低電平有效RY/BY#輸出就緒/忙標志信號輸出,SO-44封裝無此引腳端VCC電源3V電源電壓輸入VSS地器件地NC未連接。空腳圖4.3.1Am29LV160D的邏輯框圖表4.3.1Am29LV160D引腳端功能LOREMIPSUMDOLOR4.3.2S3C2410A與NORFlash存儲器的接口電路S3C2410A與Am29LV160D的接口電路如圖4.3.2所示。Flash存儲器在系統中通常用于存放程序代碼,系統上電或復位后從此獲取指令并開始執行,因此,應將存有程序代碼的Flash存儲器配置到Bank0,即將S3C2410A的nGCS0接至Am29LV160D的CE#(nCE)端。Am29LV160D的OE#(nOE)端接S3C2410X的nOE;WE#(nXE)端S3C2410X的nWE相連;地址總線A19~A0與S3C2410X的地址總線ADDR20~ADDR1(A20~A1)相連;16位數據總線DQ15~DQ0與S3C2410X的低16位數據總線DATA15~DATA0(D15~D0)相連。注意:此時應將BWSCON中的DW0設置為01,即選擇16位總線方式。如果需要更大的NORFlash存儲容量,可以采用容量更大的NORFlash存儲器芯片,如28F128J3A、28F640J3A等。更多的內容請登錄,查找資料“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位數據總線DQ15~DQ0與S3C2410X的低16位數據總線DATA15~DATA0(D15~D0)相連。圖4.3.3S3C2410A與28F128J3A的接口電路4.4NANDFlash接口電路4.4.1S3C2410ANANDFlash控制器1.S3C2410ANANDFlash控制器特性S3C2410A可以在一個外部NANDFlash存儲器上執行啟動代碼,用來實現這一想法。為了支持NANDFlash的啟動裝載(bootloader),S3C2410A配置了一個叫做“Steppingstone”的內部SRAM緩沖器。當系統啟動時,NANDFlash存儲器的前4KB將被自動加載到Steppingstone中,然后系統自動執行這些載入的啟動代碼。在一般情況下,啟動代碼將復制NANDFlash的內容到SDRAM中。使用S3C2410A內部硬件ECC功能可以對NANDFlash的數據的有效性進行檢查。在復制完成后,將在SDRAM中執行主程序。NANDFlash控制器具有以下特性。NANDFlash模式:支持讀/擦除/編程NANDFlash存儲器。LOREMIPSUMDOLOR●自動啟動模式:復位后,啟動代碼被傳送到Steppingstone中。傳送完畢后,啟動代碼在Steppingstone中執行。●具有硬件ECC產生模塊(硬件生成校驗碼和通過軟件校驗)。●在NANDFlash啟動后,Steppingstone4KB內部SRAM緩沖器可以作為其他用途使用。●NANDFlash控制器不能通過DMA訪問,可以使用LDM/STM指令來代替DMA操作。2.S3C2410ANANDFlash控制器結構NANDFlash控制器的內部結構方框圖如圖4.4.1所示。NANDFlash的工作模式如圖4.4.2所示。圖4.4.1NANDFlash控制器內部結構方框圖圖4.4.2NANDFlash的操作模式LOREMIPSUMDOLOR自動啟動模式的時序如下:(1)完成復位;(2)當自動啟動模式使能時,首先將NANDFlash存儲器的前4KB內容自動復制到Steppingstone4KB內部緩沖器中;(3)Steppingstone映射到nGCSO;(4)CPU開始執行在Steppingstone4KB內部緩沖器中的啟動代碼。注意:在自動啟動模式,不進行ECC檢測。因此,應確保NANDFlash的前4KB不能有位錯誤。NANDFlash模式配置:(1)利用NFCONF寄存器設置NANDFlash配置;(2)寫NANDFlash命令到NFCMD寄存器;(3)寫NANDFlash地址到NFADDR寄存器;(4)在檢查NANDFlash狀態時,利用NFSTAT寄存器讀/寫數據。在讀操作之前或者編程操作之后應該檢查R/nB信號。NANDFlash存儲器的時序如圖4.4.3所示。圖4.4.3NANDFlash存儲器的時序(TACLS=0,TWRPH0=1,TWRPH1=0)NANDFlash控制器的引腳配置如表4.4.1所列。表4.4.1NANDFlash控制器的引腳配置引腳配置D[7:0]數據/命令/地址輸入/輸出端口(用數據總線分派)CLE命令鎖存使能(輸出)ALE地址鎖存使能(輸出)nFCENANDFlash芯片使能(輸出)nFRENANDFlash讀使能(輸出)nFWENANDFlash寫使能(輸出)R/nBNANDFlash準備就緒/忙使能(輸出)BOOT(啟動)和NANDFlash配置如下:(1)OM[1:0]=00b:使能NANDFlash控制器為自動啟動模式;(2)NANDFlash存儲器的頁面大小應該為512字節;(3)NCON:NANDFlash存儲器尋址步選擇。0為3步尋址;1為4步尋址。512字節ECC奇偶校驗碼分配表如表4.4.2所示。表4.4.2512字節ECC奇偶校驗碼分配表LOREMIPSUMDOLOR在寫/讀操作期間,S3C2410A自動生成512字節的ECC奇偶校驗碼。每個512字節數據的ECC奇偶校驗碼由3字節組成。24位ECC奇偶校驗碼=18位行奇偶+6位列奇偶ECC生成模塊執行以下操作:(1)當MCU寫數據到NAND時,ECC生成模塊產生ECC代碼。(2)當MCU從NAND讀數據時,ECC生成模塊產生ECC代碼,同時用戶程序將它與先前寫入的ECC代碼進行比較。4.4.2S3C2410A與NANDFlash存儲器的接口電路與NORFlash存儲器相比,NANDFlash的接口相對比較復雜。一些嵌入式處理器芯片內部配置了專門的NANDFlash控制器,如S3C2410A。LOREMIPSUMDOLORS3C2410A與NANDFlash存儲器K9F1208UDM-YCB0接口電路如圖4.4.4所示。K9F1208UDM-YCB0的存儲容量為64M字節,數據總線寬度為8位,工作電壓為2.7V~3.6V,采用TSOP-48封裝。僅需單3.3V電壓即可完成在系統的編程與擦除操作,引腳端功能如表4.4.3所示。更多的內容請登錄,查找資料“K9F1208U0M-YCB0,K9F1208U0M-YIB064M×8BitNANDFlashMemory”。表4.4.3K9F1208UDM的引腳功能引腳類型功能I/O7~
I/O0輸入/輸出數據輸入輸出、控制命令和地址的輸入CLE輸入命令鎖存信號ALE輸入地址鎖存信號/CE輸入芯片使能信號/RE輸入讀有效信號/WE輸入寫有效信號/WP輸入寫保護信號R/nB輸出就緒/忙標志信號輸出Vcc電源電源電壓2.7V~3.3VVss接地器件地LOREMIPSUMDOLORK9F1208UDM的I/O口既可接收和發送數據,也可接收地址信息和控制命令。在CLE有效時,鎖存在I/O口上的是控制命令字;在ALE有效時,鎖存在I/O口上的是地址;/RE或/WE有效時,鎖存的是數據。這種一口多用的方式可以大大減少總線的數目,只是控制方式略微有些復雜。利用S3C2410X處理器的NANDFlash控制器可以解決這個問題。在圖4.4.4中,K9F1208UDM的ALE和CLE端分別與S3C2410A的ALE和CLE端連接,8位的I/O7~I/O0與S3C2410A低8位數據總線DATA7~DATA0相連,/WE、/RE和/CE分別與S3C2410A的nFWE、nFRE和nFCE相連,R/B與RnB相連,為增加穩定性R/nB端口連接了一個上拉電阻。同時,S3C2410A的NCON配置端口必須連接一個上拉電阻,圖4.4.4S3C2410A與K9F1208UDM-YCB0接口電路(注意:原理圖中LDATA修改為DATA,U4刪除,VDD33V修改為VDD33,U-K9F1208UDM-YC80修改為K9F1208UDM-YCB0)4.5SDRAM接口電路SDRAM可讀/可寫,不具有掉電保持數據的特性,但其存取速度大大高于Flash存儲器。在嵌入式系統中,SDRAM主要用做程序的運行空間、數據及堆棧區。當系統啟動時,CPU首先從復位地址0x0處讀取啟動代碼,在完成系統的初始化后,程序代碼一般應調入SDRAM中運行,以提高系統的運行速度。同時,系統及用戶堆棧、運行數據也都放在SDRAM中。SDRAM在各種嵌入式系統中應用時,為避免數據丟失,必須定時刷新。因此要求微處理器具有刷新控制邏輯,或在系統中另外加入刷新控制邏輯電路。S3C2410X及其他一些ARM芯片在片內具有獨立的SDRAM刷新控制邏輯,可方便地與SDRAM接口。但某些ARM芯片則沒有SDRAM刷新控制邏輯,不能直接與SDRAM接口,在進行系統設計時應注意這一點。目前常用的SDRAM為8位/16位的數據寬度,工作電壓一般為3.3V。主要的生產廠商為HYUNDAI,Winbond等,同類型器件一般具有相同的電氣特性和封裝形式,可以通用。LOREMIPSUMDOLORS3C2410X與SDRAM存儲器HY57V561620接口電路如圖4.4.5所示。HY57V561620存儲容量為4組×64M位,工作電壓為3.3V,常見封裝為TSOP-54,兼容LVTTL接口,支持自動刷新(Auto-Refresh)和自刷新(Self-Refresh),16位數據寬度。HY57V561620引腳功能如表4.4.4所示。更多的內容請登錄,查找資料“HY57V561620(L)T4Banksx4Mx16BitSynchronousDRAM”。表4.4.4HY57V561620引腳功能引腳類型功能CLK輸入時鐘,芯片時鐘輸入。所有的輸入中CLK的上升沿有效CKE輸入時鐘使能,片內時鐘信號控制/CS輸入片選。禁止或使能除CLK、
CKE和DQM外的所有輸入信號BAO,BA1輸入組地址選擇。用于片內4個組的選擇A12~A0輸入地址總線。行地址:A12~A0;列地址:A8~A0/RAS輸入行地址鎖存。時鐘沿和/RAS有效時,鎖存行地址,允許行的訪問和改寫/CAS輸入列地址鎖存。時鐘沿和/CAS有效時,鎖存列地址,允許列的訪問/WE輸入寫使能。使能寫信號和允許列改寫,/WE和/CAS有效時開始鎖存數據LDQM,UDQM輸入數據I/O屏蔽。在讀模式下控制輸出緩沖;在寫模式下屏蔽輸入數據DQ15~DQ0輸入/輸出數據總線。數據輸入/輸出VDD/VSS電源/地內部電路及輸入緩沖器電源/地VDDQ/VSSQ電源/地輸出緩沖器電源/地NC空腳。未連接(引腳端19nGCS0修改為nGCS6)圖4.4.5S3C2410X與SDRAM存儲器HY57V561620的接口電路LOREMIPSUMDOLOR根據系統需求,可構建16位或32位的SDRAM存儲器系統,但為充分發揮32位CPU的數據處理能力,本設計采用32位的SDRAM存儲器系統。HY57V561620為16位數據寬度,單片容量為32MB,系統選用兩片HY57V561620并聯構建32位的SDRAM存儲器系統,共64MB的SDRAM空間,可滿足嵌入式操作系統及各種相對較復雜的算法的運行要求。與Flash存儲器相比,SDRAM的控制信號較多,其連接電路也要相對復雜一些。兩片HY57V561620并聯構建32位的SDRAM存儲器系統,其中一片為高16位,另一片為低16位,可將兩片HY57V561620作為一個整體配置到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的數據總線的高16位DATA8~DATA16(D8~D16),低16位片的DQ15~DQ0連接到S3C2410X的數據總線的低16位DATA15~DATA0(D15~D0);高16位片的UDQM、LDQM分別連接到S3C2410X的nWEB3、nWEB2,低16位片的UDQM、LDQM分別連接到S3C2410X的nWEB1、nWEB0。注意:此時應將BWSCON中的DW6設置為10,即選擇32位總線方式。4.6CF卡接口電路4.6.1PCMCIA接口規范1990年9月,PCMCIA(PersonalComputerMemoryCardInternationalAssociation,PC機內存卡國際聯合會)推出了PCMCIA1.0規范,該規范是針對各類存儲卡或虛擬盤設計的,其目的是為了建立一個物理尺寸較小、低功耗的、靈活的存儲卡標準,采用16位體系結構,JEIDA(JanpaneseElectronicsIndustryDevelopmentAssociation)68引腳的接口。1991年,PCMCIA推出了2.0規范,添加了對I/O設備的規范,以方便用戶擴展I/O設備,但接口仍采用與1.0規范兼容的68引腳的接口;同時,PCMCIA對其驅動程序的架構也作了規范,以便于軟件開發人員開發的驅動程序可以相互兼容。隨著多媒體和高速網絡的發展,PCMCIA又開發了32位的CardBUS。現在,基于PCMCIA的設備已經在筆記本電腦、數碼相機、機頂盒、車載設備、手持設備、PDA等方面被廣泛的采用。越來越多的產品都需要接口具有可擴展模塊化的功能,因此PCMCIA也將自己的目標定位為“發展模塊化外設的標準,并將他們推廣到全世界”。LOREMIPSUMDOLORPCMCIA物理上定義了68個引腳,卡片有16位和32位之分。16位的PCMCIA卡通常叫PCCard,其時序和ISA總線類似,速度較慢。采用32位PCMCIA標準的稱做CardBus卡,其運行頻率達到33MHz,可以滿足一般局域網及寬帶應用的要求。CardBus接口的信號傳輸協議起源于PCI局部總線信號傳輸協議,支持以任何組合形式實現多個總線功能。總線主控功能可為處理器分擔任務,有利于在多任務環境中改善系統的吞吐量。CardBus卡可以在移動環境下應用。PCMCIA接口和系統總線接口通常需要一個HBA(HostBusAdepter)運行轉換,這個HBA可以是一個芯片,也可以是一些邏輯。PCMCIA卡可以支持5V和3.3V的供電電壓,PCMCIA規范中采用電壓敏感VS(VoltageSense)信號識別插入的PCMCIA卡的工作電壓。LOREMIPSUMDOLORPCMCIA卡可以分為I型(TYPEI)、II型(TYPEII)、III型(TYPEIII)、擴展TYPEI和擴展TYPEII5種,其中I型~III型PCMCIA卡的外形尺寸為85.60mm×54.00mm,卡的厚度分別為3.3mm、5.0mm和10.5mm。而擴展TYPEI和擴展TYPEII的PCMCIA卡可以兼容某些尺寸較大的接口,如RJ45接口等。PCMCIA規范里一共定義了6類PCMCIA內存卡,分別是內存卡、I/O卡(內存或I/O)、硬盤ATA(ATAttachmentforIDEdrivers)接口、DMA(DirectMemoryAccess)接口、AIMS(Auto-IndexingMassStorage)和32位PC卡接口CardBus。LOREMIPSUMDOLOR4.6.2S3C2410A的CF卡接口電路CF卡接口采用50個引腳,II型卡并完全符合PCMCIA電氣和機械接口規格(PCMCIA卡為68個引腳),同時支持3.3V和5V的電壓。在50個引腳中,其中有16根數據線、11根地址線(在TureIDE模式下僅用3根地址線)、2根寄存器組選擇信號線(CS0和CS1)、數據的讀寫線(IORD和IOWR)、1根中斷信號請求線(INTRQ)和1根復位線(RESET)。CF卡可以工作在16位或者8位數據總線方式。若選擇8位工作方式,CS1固定接于高電平,CS0低電平有效。INTRQ用于判斷CF卡是否處于讀/寫忙狀態。與S3C2410A連接的CF卡接口電路如圖4.6.1所示。圖4.6.1CF卡接口電路LOREMIPSUMDOLOR4.6.3CF卡的讀寫操作CF卡可以配置工作在存儲模式和I/O模式。CF卡使用標準ATA命令實現存儲塊的讀/寫操作。每個存儲塊包含512字節,在訪問CF卡之前,必須進行初始化操作。初始化過程包括GPIO配置、卡檢測和復位。(1)存儲模式訪問①讀取卡信息結構。卡信息結構包含CF卡的相關信息。②寫存儲塊。CF卡存儲器一般采用NandFlash,需要使用ATA命令來完成讀/寫操作。CF卡采用塊方式進行讀/寫操作,每塊的大小為512字節,寫數據的操作步驟如下:(a)寫塊數到扇區計數器寄存器;(b)寫LBA地址;LOREMIPSUMDOLOR(c)發送0x30命令來啟動傳輸。當CF卡接收到該命令后,將會使能DRQ信號并清除BSY信號,等待主機寫入數據,規定的數據寫完后DRQ會被清除。③讀存儲塊。與寫存儲塊大致相同,只是命令不一樣,下面是一個典型的操作序列:(a)寫塊數到扇區計數器寄存器;(b)寫LBA地址;(c)發送0x20命令來啟動傳輸。當CF卡接收到該命令后,將會使能DRQ信號并清除BSY信號,等待主機讀出數據,當規定的數據寫完后DRQ將會被清除。LOREMIPSUMDOLOR(2)I/O模式訪問①配置CF卡工作在I/O模式。可以通過CF卡的配置寄存器將其配置為I/O模式。②寫存儲塊。I/O模式下寫存儲塊與存儲模式類似,惟一的區別就是需要使用正確的地址空間,步驟如下:(a)寫塊數到扇區計數器寄存器;(b)然后寫LBA地址;(c)發送0x30命令來啟動傳輸。③讀存儲塊。I/O模式下讀存儲塊步驟如下:(a)寫塊數到扇區計數器寄存器;(b)然后寫LBA地址;(c)發送0x20命令來啟動傳輸。4.7SD卡接口電路4.7.1SD卡的接口規范SD存儲卡兼容MMC卡接口規范,采用9芯的接口(CLK為時鐘線,CMD為命令/響應線,DAT0~DAT3為雙向數據傳輸線,VDD、Vss1和Vss2為電源和地),最大的工作頻率是25MHz,標準SD的外形尺寸是24mm×32mm×2.1mm,SD卡的外形和接口如圖4.7.1所示,SD卡引腳定義如表4.7.1所示。SD卡原理圖如圖4.7.2所示。SD卡系統支持SD和SPI方式兩種通信協議。SD卡在結構上使用一主多從星型拓撲結構,拓撲圖如圖4.7.3所示。圖4.7.1SD卡的外形和接口
圖4.7.2SD卡原理圖圖表4.7.1SD卡引腳定義引腳SD模式SPI模式名稱類型描述名稱類型描述1CD/DAT3I/O/PP卡檢測/數據線[Bit3]CSI片選信號2CMDPP命令/響應DII數據輸入3Vss1S接地VssS接地4VDDS電源電壓VDDS電源電壓5CLKI時鐘SCLKI時鐘6Vss2S接地Vss2S接地7DAT0I/O/PP數據線[Bit0]DOO/PP數據輸出8DAT1I/O/PP數據線[Bit1]RSV9DAT2I/O/PP數據線[Bit2]RSV注:類型S:電源;I/O:輸入/輸出;PP:推挽方式圖4.7.3SD卡系統的總線拓撲圖4.7.2S3C2410A的SD卡接口電路S3C2410A內部集成了SD模塊,SD卡接口電路如圖4.7.4所示。圖4.7.4SD卡接口電路4.8IDE接口電路4.8.1S3C2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCS 021-2023煤礦井下鉆孔機器人通用技術條件
- T/CEPPEA 5048-2024電力調控云平臺設計規范
- 酒類業務員工資合同5篇
- 門窗經營部雇傭合同范本4篇
- 新編民間借款抵押合同2篇
- 物業外包服務合同書4篇
- 正常呼吸課件
- 車輛轉讓協議合同樣本5篇
- 火車自備車租賃合同范本4篇
- 2025年毛坯房承包裝修合同2篇
- 2025年陜西咸陽亨通電力(集團)有限公司招聘筆試參考題庫附帶答案詳解
- 【MOOC】老子的人生智慧-東北大學 中國大學慕課MOOC答案
- DLT 572-2021 電力變壓器運行規程
- DB41-T 2322-2022水資源公報數據庫設計規范
- 外科經典換藥術培訓課件
- 營養與健康教材課件匯總完整版ppt全套課件最全教學教程整本書電子教案全書教案課件合集
- 新膠工割膠技術培訓
- 掛籃安裝細則
- 2022年高級中學校園文化建設方案
- 《急診與災難醫學》第三版-教學大綱(修改完整版)
- 飽和蒸汽壓力——溫度對照表
評論
0/150
提交評論