




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式技術及應用嵌入式系統的存儲體系
存儲器系統概述
存儲器的物理實質是一組或多組具備數據輸入輸出和數據存儲功能的集成電路,用于充當設備緩存或保存固定的程序及數據。計算機系統的存儲器結構
存儲器系統的層次結構計算機系統的存儲器被組織成一個6個層次的金字塔形的層次結構,層次結構的最頂部是S0層,最底部是S5:S0層為CPU內部寄存器S1層為芯片內部的高速緩存(cache)內存S2層為芯片外的高速緩存(SRAM、DRAM、DDRAM)S3層為主存儲器(Flash、PROM、EPROM、EEPROM)S4層為外部存儲器(磁盤、光盤、CF、SD卡)S5層為遠程二級存儲(分布式文件系統、Web服務器)存儲器的分類ROM(ReadonlyMemory)只讀存儲器RAM(RandomaccessMemory)隨機存取存儲器PROM(programmableROM)可編程只讀存儲器EPROM(ErasableProgrammable)可改寫只讀存儲器EEPROM(ElectricallyErasableProgrammable)電可改寫只讀存儲器SRAM(StaticRAM)DRAM(DynamicRAM)SDRAM(SynchronizationDynamicRAM)存儲器的分類存儲器種類易失性可寫擦除大小擦除周期相對價格相對速度SRAM是是字節無限制昂貴快DRAM是是字節無限制適中適中掩膜ROM否否無無不貴快PROM否用編程器可寫一次無無適中快EPROM否是,利用編程器整個芯片有限制適中快EEPROM否是字節有限制昂貴快,讀取快寫入慢快閃存儲器否是扇區有限制適中讀取快寫入慢NVRAM否是字節無昂貴快4.3存儲器的分類存儲器的組織模型存儲體引線信號:地址線、數據線、控制線(讀、寫)、片選線、輔助線(時鐘、復位、編程等)存儲器地址線數據線讀寫片選復位時鐘readymn嵌入式存儲器子系統的設計考慮嵌入式系統的存儲器子系統通常設計成模塊結構,包括ROM子系統、RAM子系統等,每個子系統占用一定的存儲空間。一體化設計與分離式設計:嵌入式系統的存儲器通常與系統主板設計在一起,而不設計成所謂“內存條”形式,原因是一方面嵌入式系統的內存通常是固定大小的;另一方面,一體結構可以提高系統的可靠性,因為嵌入式系統通常工作在惡劣環境、移動環境中。關于嵌入式處理器的中斷向量表,有兩種設計方案:一種方案是中斷向量或中斷處理程序的入口地址設置在ROM空間,一旦設置,運行中不再更改,如大多數小規模的嵌入式處理器/控制器采取這種方式;另外,也可以把中斷向量設計在RAM空間,RAM存儲器
RAM從工藝原理上劃分,可分為單極型和雙極型:雙極型工作速率高,但是集成度不如單極型的高,目前,由于工藝水平的不斷提高,單極型RAM的速率已經可以和雙極型RAM相比,而且單極型RAM具有功耗低的優點。單極型RAM又可分為靜態RAM與動態RAM:靜態RAM是用MOS管觸發器來存儲代碼,所用MOS管較多、集成度低、功耗也較大。動態RAM是用柵極分布電容保存信息,它的存儲單元所需要的MOS管較少,因此集成度高、功耗也小。RAM存儲器的結構1、靜態隨機存儲器(SRAM)RAM隨機存儲器靜態RAM的存儲元由雙穩電路構成,存儲信息穩定。由于靜態RAM的基本存儲電路中管子數目較多,故集成度較低。
右圖是一個6管結構的靜態存儲器的存儲單元電路。工作原理
動態隨機存儲器(DRAM)動態RAM有4管動態RAM,3管動態RAM和單管動態RAM。圖6.5是單管DRAM的存儲單元的線路。它由一個晶體管和一個電容組成。為了節省面積,單管存儲器電荷的電容不可能做得很大,一般比數據線上的分布電容Cd小,因此每次讀出后,存儲內容就被破壞,必須采取刷新技術恢復原來的信息。DRAM芯片模型CE*:片選端R/W*讀寫控制端,R/W*=1,執行讀操作,R/W*=0,執行寫操作。RAS*行地址選通信號,通常接地址的高位部分。CAS*列地址選通信號,通常接地址的低位部分。Adrs:地址線的輸入。Data:數據線,雙向。DRAM需要不斷的刷新,才能保存數據,SRAM則不需要刷新電路。DRAM使用簡單的單管單元作為存儲單元,因此,每片存儲容量大,約是SRAM的4倍。DRAM的行列地址通常是復用的,所以其引腳數比SRAM要少很多,封裝尺寸也比較小。DRAM的價格比較便宜,大約只有SRAM的1/4,由于使用動態元件,DRAM功耗也只有SRAM的1/6。因此,DRAM得到了廣泛的使用,它的存取速度和存儲容量正在不斷地改進提高。
SRAM與DRAM比較ROM存儲器的結構PROM的內部結構EPROM存儲器和EEPROM存儲器Flash存儲器的原理與種類使用浮柵隧道氧化層MOS管Flotox(FloatinggateTunnelOxide)可以達到更高的要求。其特點是:浮柵與漏區間的氧化物層極薄(20納米以下),稱為隧道區。當隧道區場大于規定值時隧道區雙向導通。當隧道區的等效電容極小時,加在控制柵和漏極間的電壓大部分降在隧道區,有利于隧道區導通非易失閃存NorFlash和NandFlashIntel于1988年首先開發出NORflash技術,徹底改變了原先由EPROM和EEPROM一統天下的局面。NOR的特點是芯片內執行(XIP,eXecuteInPlace),這樣應用程序可以直接在flash閃存內運行,不必再把代碼讀到系統RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。1989年,東芝公司發表了NANDflash結構,強調降低每比特的成本,更高的性能,并且象磁盤一樣可以通過接口輕松升級。NAND結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。應用NAND的困難在于flash的管理和需要特殊的系統接口。NOR與NAND內部結構比較NANDFLASH和NORFLASH的比較
NorFlash和NandFlash比較flash閃存對稱為塊的存儲器單元塊進行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內進行,所以大多數情況下,在進行寫入操作之前必須先執行擦除。NAND器件執行擦除操作是十分簡單的,NOR則要求在進行擦除前先要將目標塊內所有的位都寫為0。擦除NOR器件時是以64~128KB的塊進行的,執行一個寫入/擦除操作的時間為5s,擦除NAND器件是以8~32KB的塊進行的,執行相同的操作最多只需要4ms。NorFlash和NandFlash比較-2對于給定的一套寫入操作(尤其是更新小文件時),更多的擦除操作必須在基于NOR的單元中進行。這樣,當選擇存儲解決方案時,設計師必須權衡以下的各項因素。NOR的讀速度比NAND稍快一些。NAND的寫入速度比NOR快很多。NAND的4ms擦除速度遠比NOR的5s快。大多數寫入操作需要先進行擦除操作。NAND的擦除單元更小,相應的擦除電路更少。NorFlash和NandFlash比較-3接口差別NORflash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內部的每一個字節。NAND器件使用復雜的I/O口來串行地存取數據,各個產品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數據信息。NAND讀和寫操作采用512字節的塊,這一點有點像硬盤管理此類操作,很自然地,基于NAND的存儲器就可以取代硬盤或其他塊設備。容量和成本NANDflash的單元尺寸幾乎是NOR器件的一半,由于生產過程更為簡單,NAND結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價格。NORflash占據了容量為1~16MB閃存市場的大部分,而NANDflash只是用在8~128MB的產品當中,這也說明NOR主要應用在代碼存儲介質中,NAND適合于數據存儲,NAND在CompactFlash、SecureDigital、PCCards和MMC存儲卡市場上所占份額最大。NorFlash和NandFlash比較-4可靠性和耐用性:壽命(耐用性)在NAND閃存中每個塊的最大擦寫次數是一百萬次,而NOR的擦寫次數是十萬次。NAND存儲器除了具有10比1的塊擦除周期優勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內的刪除次數要少一些。位交換所有flash器件都受位交換現象的困擾。在某些情況下(很少見,NAND發生的次數要比NOR多),一個比特位會發生反轉或被報告反轉了。如果這個位真的改變了,就必須采用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉的問題更多見于NAND閃存,NAND的供應商建議使用NAND閃存的時候,同時使用EDC/ECC算法。這個問題對于用NAND存儲多媒體信息時倒不是致命的。當然,如果用本地存儲設備來存儲操作系統、配置文件或其他敏感信息時,必須使用EDC/ECC系統以確保可靠性。壞塊處理NAND器件中的壞塊是隨機分布的。NAND器件需要對介質進行初始化掃描以發現壞塊并將壞塊標記為不可用。NorFlash和NandFlash比較-5易于使用可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直接運行代碼。由于需要I/O接口,NAND要復雜得多。各種NAND器件的存取方法因廠家而異。在使用NAND器件時,必須先寫入驅動程序,才能繼續執行其他操作。向NAND器件寫入信息需要相當的技巧,因為設計師絕不能向壞塊寫入,這就意味著在NAND器件上自始至終都必須進行虛擬映射。NorFlash和NandFlash比較-6軟件支持 區別基本的讀/寫/擦操作和高一級的用于磁盤仿真和閃存管理算法的軟件,包括性能優化。在NOR器件上運行代碼不需要任何的軟件支持,在NAND器件上進行同樣操作時,通常需要驅動程序,也就是內存技術驅動程序(MTD),NAND和NOR器件在進行寫入和擦除操作時都需要MTD。使用NOR器件時所需要的MTD要相對少一些,許多廠商都提供用于NOR器件的更高級軟件,這其中包括M-System的TrueFFS驅動,該驅動被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等廠商所采用。驅動還用于對DiskOnChip產品進行仿真和NAND閃存的管理,包括糾錯、壞塊處理和損耗平衡。ARM9嵌入式系統的存儲系統NorFlash4.4ARM9的存儲系統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位(字模式)數據寬度的方式工作。更多的內容請登錄www.AMD.com,查找資料“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未連接。空腳Am29LV160D的邏輯框圖Am29LV160D引腳端功能S3C2410A與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等。S3C2410A與Am29LV160D的接口電路S3C2410A與28F128J3A的接口電路。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)相連。S3C2410A與28F128J3A的接口電路與兩片8位ROM連接與兩片8位ROM連接與一片16位ROM相連與1片16位ROM連接與兩片16位ROM相連NANDFlash接口電路S3C2410ANANDFlash控制器S3C2410ANANDFlash控制器特性S3C2410A可以在一個外部NANDFlash存儲器上執行啟動代碼,用來實現這一想法。為了支持NANDFlash的啟動裝載(bootloader),S3C2410A配置了一個叫做“Steppingstone”的內部SRAM緩沖器。當系統啟動時,NANDFlash存儲器的前4KB將被自動加載到Steppingstone中,然后系統自動執行這些載入的啟動代碼。在一般情況下,啟動代碼將復制NANDFlash的內容到SDRAM中。使用S3C2410A內部硬件ECC功能可以對NANDFlash的數據的有效性進行檢查。在復制完成后,將在SDRAM中執行主程序。NANDFlash控制器具有以下特性。NANDFlash模式:支持讀/擦除/編程NANDFlash存儲器。●自動啟動模式:復位后,啟動代碼被傳送到Steppingstone中。傳送完畢后,啟動代碼在Steppingstone中執行。●具有硬件ECC產生模塊(硬件生成校驗碼和通過軟件校驗)。●在NANDFlash啟動后,Steppingstone4KB內部SRAM緩沖器可以作為其他用途使用。●NANDFlash控制器不能通過DMA訪問,可以使用LDM/STM指令來代替DMA操作。NANDFlash控制器內部結構方框圖NANDFlash的操作模式自動啟動模式的時序如下:(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存儲器的時序如圖所示。NANDFlash存儲器的時序(TACLS=0,TWRPH0=1,TWRPH1=0)NANDFlash控制器的引腳配置如表所列。表NANDFlash控制器的引腳配置引腳配置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奇偶校驗碼分配表如表所示。512字節ECC奇偶校驗碼分配表在寫/讀操作期間,S3C2410A自動生成512字節的ECC奇偶校驗碼。每個512字節數據的ECC奇偶校驗碼由3字節組成。24位ECC奇偶校驗碼=18位行奇偶+6位列奇偶ECC生成模塊執行以下操作:(1)當MCU寫數據到NAND時,ECC生成模塊產生ECC代碼。(2)當MCU從NAND讀數據時,ECC生成模塊產生ECC代碼,同時用戶程序將它與先前寫入的ECC代碼進行比較。S3C2410A與NANDFlash存儲器的接口電路與NORFlash存儲器相比,NANDFlash的接口相對比較復雜。一些嵌入式處理器芯片內部配置了專門的NANDFlash控制器,如S3C2410A。S3C2410A與NANDFlash存儲器K9F1208UDM-YCB0接口電路如圖所示。K9F1208UDM-YCB0的存儲容量為64M字節,數據總線寬度為8位,工作電壓為2.7V~3.6V,采用TSOP-48封裝。僅需單3.3V電壓即可完成在系統的編程與擦除操作,引腳端功能如表4.4.3所示。更多的內容請登錄,查找資料“K9F1208U0M-YCB0,K9F1208U0M-YIB064M×8BitNANDFlashMemory”。表K9F1208UDM的引腳功能引腳類型功能I/O7~I/O0輸入/輸出數據輸入輸出、控制命令和地址的輸入CLE輸入命令鎖存信號ALE輸入地址鎖存信號/CE輸入芯片使能信號/RE輸入讀有效信號/WE輸入寫有效信號/WP輸入寫保護信號R/nB輸出就緒/忙標志信號輸出Vcc電源電源電壓2.7V~3.3VVss接地器件地K9F1208UDM的I/O口既可接收和發送數據,也可接收地址信息和控制命令。在CLE有效時,鎖存在I/O口上的是控制命令字;在ALE有效時,鎖存在I/O口上的是地址;/RE或/WE有效時,鎖存的是數據。這種一口多用的方式可以大大減少總線的數目,只是控制方式略微有些復雜。利用S3C2410X處理器的NANDFlash控制器可以解決這個問題。在圖中,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配置端口必須連接一個上拉電阻,ARM9嵌入式系統的存儲系統NandFlash4.4ARM9的存儲系統只讀存儲器的編程與設備擦除器編程器編程器的輸入文件intel16進制格式motorola格式二進制型JEDEC:PLD使用在線編程JTAG編程器monitor方式現場軟件編程-便于系統的維護CF(CompactFlash)卡存儲器CF卡的訪問模式
引腳I/O模式存儲器模式TrueIDE模式A10~A0地址線同I/O僅A0~A2選擇任務寄存器CE1,CE2用于選擇奇偶字節同I/O用于選擇任務寄存器,或者選擇控制、狀態寄存器D0~D15數據線同I/O同I/OIORD未用I/O讀信號同MEMORYIOWR未用I/O寫信號同MEMORYOE讀信號讀CIS寄存器接地WE寫信號寫結構寄存器VCCREG0為特片寄存器
1為普通內存在讀寫時應為低VCCReset高電平有效同I/O低電平有效VCC3.3V同I/O同I/OGND地同I/O同I/O圖4.6.1CF卡接口電路IO模式下CF卡的使用方法IO模式下的使用方法Memory模式下的使用方法SD卡的使用針腳名稱類型描述1CDDAT3I/O/PP卡監測數據位32CMDPP命令/回復3VssS地4VccS供電電壓5CLKI時鐘6Css2S地7DAT0I/O/PP數據位08DAT1I/O/PP數據位19DAT2I/O/PP數據位2SD卡的引腳結構圖4.7.1SD卡的外形和接口圖4.7.2SD卡原理圖圖4.7.2S3C2410A的SD卡接口電路S3C2410A內部集成了SD模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論