嵌入式存儲器及系統(tǒng)結(jié)構(gòu).ppt_第1頁
嵌入式存儲器及系統(tǒng)結(jié)構(gòu).ppt_第2頁
嵌入式存儲器及系統(tǒng)結(jié)構(gòu).ppt_第3頁
嵌入式存儲器及系統(tǒng)結(jié)構(gòu).ppt_第4頁
嵌入式存儲器及系統(tǒng)結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式存儲器及系統(tǒng)結(jié)構(gòu),李 立華 2007.04.13,目錄,1.嵌入式存儲器簡介 1.1 常用存儲器簡介,1.嵌入式系統(tǒng)存儲器,1.1 常用存儲器簡介 存儲器按配置分為 內(nèi)存(主存)和外存。 在嵌入式系統(tǒng)中,嵌入式系統(tǒng)中的外存一般當(dāng)作外圍接口部件,如USB、SD卡等。 在現(xiàn)代嵌入式系統(tǒng)中,內(nèi)存全部采用半導(dǎo)體存儲器。 目前,半導(dǎo)體存儲器主要包括以下幾大類: (1)RAM類 RAM類包括RAM、SRAM、DRAM、SDRAM 目前,我們的嵌入式系統(tǒng)的,一般有內(nèi)置RAM和SDRAM等。其特點是具有數(shù)據(jù)讀寫功能。 RAM一般均作內(nèi)存使用。 (2)ROM類型 ROM主要有掩膜ROM、PROM(一次可編

2、程)、EPROM(紫外線可擦除)、EEPROM(電可擦除)和FLASH型ROM。 在我們常用的嵌入式系統(tǒng)中,一般都是Flash型ROM。也有個別系統(tǒng)中,產(chǎn)品量產(chǎn)后,為了節(jié)省硬件,用掩膜ROM代替Nor Flash。 在一般的MCU中,都內(nèi)置有RAM和Flash ROM。 如Atmel 89C51中,自帶有128 Byte的RAM和128K 的ROM。 (3)半導(dǎo)體外存 在嵌入式系統(tǒng)中,主要有NandFlash、I2C EEPROM、SPI Flash等。 NandFlash和很多優(yōu)點。后面我們將重點介紹。 I2C EEPROM主要用于存儲少量數(shù)據(jù),其優(yōu)點是外接電路簡單。缺點是數(shù)據(jù)存取速度慢。,

3、1.2 Flash存儲器的分類 在嵌入式系統(tǒng)中,F(xiàn)lash包括MCU內(nèi)置Flash, 獨立的NorFlash、Nand Flash等。 其中,MCU內(nèi)置Flash ROM與NorFlash在嵌入式系統(tǒng)中起的作用相同,一般均用作程序存儲器。在這里我們只對NorFlash和NandFlash進(jìn)行討論。 NOR型與NAND型閃存的區(qū)別很大,打個比方說,NOR型閃存更像內(nèi)存,有獨立的地址線和數(shù)據(jù)線,但價格比較貴,容量比較??;而NAND型更像硬盤,地址線和數(shù)據(jù)線是共用的I/O線,類似硬盤的所有信息都通過一條硬盤線傳送一般,而且NAND型與NOR型閃存相比,成本要低一些,而容量大得多。因此,NOR型閃存比

4、較適合頻繁隨機(jī)讀寫的場合,通常用于存儲程序代碼并直接在閃存內(nèi)運行,手機(jī)就是使用NOR型閃存的大戶,所以手機(jī)的“內(nèi)存”容量通常不大;NAND型閃存主要用來存儲資料,我們常用的閃存產(chǎn)品,如閃存盤、數(shù)碼存儲卡都是用NAND型閃存。 這里我們還需要端正一個概念,那就是閃存的速度其實很有限,它本身操作速度、頻率就比內(nèi)存低得多,而且NAND型閃存類似硬盤的操作方式效率也比內(nèi)存的直接訪問方式慢得多。因此,不要以為閃存盤的性能瓶頸是在接口,甚至想當(dāng)然地認(rèn)為閃存盤采用USB2.0接口之后會獲得巨大的性能提升。 前面提到NAND型閃存的操作方式效率低,這和它的架構(gòu)設(shè)計和接口設(shè)計有關(guān),它操作起來確實挺像硬盤(其實N

5、AND型閃存在設(shè)計之初確實考慮了與硬盤的兼容性),它的性能特點也很像硬盤:小數(shù)據(jù)塊操作速度很慢,而大數(shù)據(jù)塊速度就很快,這種差異遠(yuǎn)比其他存儲介質(zhì)大的多。這種性能特點非常值得我們留意。,NOR的特點是芯片內(nèi)執(zhí)行(XIP, eXecute In Place),這樣應(yīng)用程序可以直接在flash閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中。 NOR的傳輸效率很高,在14MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。 NAND結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲密度,并且寫入和擦除的速度也很快。應(yīng)用NAND的困難在于flash的管理和需要特殊的系統(tǒng)接口。 性能比較 flas

6、h閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進(jìn)行擦寫和再編程。任何flash器件的寫入操作只能在空或已擦除的單元內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。NAND器件執(zhí)行擦除操作是十分簡單的,而NOR則要求在進(jìn)行擦除前先要將目標(biāo)塊內(nèi)所有的位都寫為0。 由于擦除NOR器件時是以64128KB的塊進(jìn)行的,執(zhí)行一個寫入/擦除操作的時間為5s,與此相反,擦除NAND器件是以832KB的塊進(jìn)行的,執(zhí)行相同的操作最多只需要4ms。 執(zhí)行擦除時塊尺寸的不同進(jìn)一步拉大了NOR和NADN之間的性能差距,統(tǒng)計表明,對于給定的一套寫入操作(尤其是更新小文件時更多的擦除操作必須在基于NOR的單元

7、中進(jìn)行。這樣,當(dāng)選擇存儲解決方案時,設(shè)計師必須權(quán)衡以下的各項因素。 NOR的讀速度比NAND稍快一些。 NAND的寫入速度比NOR快很多。 NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。 大多數(shù)寫入操作需要先進(jìn)行擦除操作。 NAND的擦除單元更小,相應(yīng)的擦除電路更少。 接口差別 NOR flash帶有SRAM接口,有足夠的地址引腳來尋址,可以很容易地存取其內(nèi)部的每一個字節(jié)。 NAND器件使用復(fù)雜的I/O口來串行地存取數(shù)據(jù),各個產(chǎn)品或廠商的方法可能各不相同。8個引腳用來傳送控制、地址和數(shù)據(jù)信息。 NAND讀和寫操作采用512字節(jié)的塊,這一點有點像硬盤管理此類操作,很自然地,基于NAND的存儲器就可

8、以取代硬盤或其他塊設(shè)備。 容量和成本 NAND flash的單元尺寸幾乎是NOR器件的一半,由于生產(chǎn)過程更為簡單,NAND結(jié)構(gòu)可以在給定的模具尺寸內(nèi)提供更高的容量,也就相應(yīng)地降低了價格。 NOR flash占據(jù)了容量為116MB閃存市場的大部分,而NAND flash只是用在8128MB的產(chǎn)品當(dāng)中,這也說明NOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲,NAND在CompactFlash、Secure Digital、PC Cards和MMC存儲卡市場上所占份額最大。,可*性和耐用性 采用flahs介質(zhì)時一個需要重點考慮的問題是可*性。對于需要擴(kuò)展MTBF的系統(tǒng)來說,F(xiàn)lash是非常合

9、適的存儲方案??梢詮膲勖?耐用性)、位交換和壞塊處理三個方面來比較NOR和NAND的可*性。 壽命(耐用性) 在NAND閃存中每個塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。NAND存儲器除了具有10比1的塊擦除周期優(yōu)勢,典型的NAND塊尺寸要比NOR器件小8倍,每個NAND存儲器塊在給定的時間內(nèi)的刪除次數(shù)要少一些。 位交換 所有flash器件都受位交換現(xiàn)象的困擾。在某些情況下(很少見,NAND發(fā)生的次數(shù)要比NOR多),一個比特位會發(fā)生反轉(zhuǎn)或被報告反轉(zhuǎn)了。 一位的變化可能不很明顯,但是如果發(fā)生在一個關(guān)鍵文件上,這個小小的故障可能導(dǎo)致系統(tǒng)停機(jī)。如果只是報告有問題,多讀幾次就可能解決了

10、。 當(dāng)然,如果這個位真的改變了,就必須采用錯誤探測/錯誤更正(EDC/ECC)算法。位反轉(zhuǎn)的問題更多見于NAND閃存,NAND的供應(yīng)商建議使用NAND閃存的時候,同時使用EDC/ECC算法。 這個問題對于用NAND存儲多媒體信息時倒不是致命的。當(dāng)然,如果用本地存儲設(shè)備來存儲操作系統(tǒng)、配置文件或其他敏感信息時,必須使用EDC/ECC系統(tǒng)以確???性。 壞塊處理 NAND器件中的壞塊是隨機(jī)分布的。以前也曾有過消除壞塊的努力,但發(fā)現(xiàn)成品率太低,代價太高,根本不劃算。 NAND器件需要對介質(zhì)進(jìn)行初始化掃描以發(fā)現(xiàn)壞塊,并將壞塊標(biāo)記為不可用。在已制成的器件中,如果通過可*的方法不能進(jìn)行這項處理,將導(dǎo)致高故

11、障率。 易于使用 可以非常直接地使用基于NOR的閃存,可以像其他存儲器那樣連接,并可以在上面直接運行代碼。 由于需要I/O接口,NAND要復(fù)雜得多。各種NAND器件的存取方法因廠家而異。 在使用NAND器件時,必須先寫入驅(qū)動程序,才能繼續(xù)執(zhí)行其他操作。向NAND器件寫入信息需要相當(dāng)?shù)募记桑驗樵O(shè)計師絕不能向壞 塊寫入,這就意味著在NAND器件上自始至終都必須進(jìn)行虛擬映射。 軟件支持 當(dāng)討論軟件支持的時候,應(yīng)該區(qū)別基本的讀/寫/擦操作和高一級的用于磁盤仿真和閃存管理算法的軟件,包括性能優(yōu)化。 在NOR器件上運行代碼不需要任何的軟件支持,在NAND器件上進(jìn)行同樣操作時,通常需要驅(qū)動程序,也就是內(nèi)存

12、技術(shù)驅(qū)動程序(MTD),NAND和NOR器件在進(jìn)行寫入和擦除操作時都需要MTD。 使用NOR器件時所需要的MTD要相對少一些,許多廠商都提供用于NOR器件的更高級軟件,這其中包括M-System的TrueFFS驅(qū)動,該驅(qū)動被Wind River System、Microsoft、QNX Software System、Symbian和Intel等廠商所采用。 驅(qū)動還用于對DiskOnChip產(chǎn)品進(jìn)行仿真和NAND閃存的管理,包括糾錯、壞塊處理和損耗平衡。,以下是NandFlash與NorFlash典型電路圖 Nor Flash接原理圖,從上圖可以看出,該NorFlash采用并行地址和數(shù)據(jù)總線,

13、 其中,21bit地址總線,16bit數(shù)據(jù)總線。 該NorFlash最大可尋址2M的地址空間。實際上,該NorFlash大小為2M。 所以,NorFlash可作內(nèi)存使用。MCU可直接尋址每一個存儲單元。,以下為NandFlash的典型原理圖。,從NandFlash的接口電路圖可以看出: NandFlash沒有區(qū)分地址總線和數(shù)據(jù)總線。只有一個8bit的I/O總線、6根控制線(WE、WP、ALE、CLE、CE、RE)和RB。 實際上,NandFlash數(shù)據(jù)和地址均通過8bit I/O總線串行傳輸?shù)摹?以下分別為orFlash和andFlash程序和數(shù)據(jù)的訪問方法。 對NorFlash而言,程序和數(shù)

14、據(jù)的訪問如下: BYTE tmp; Far Void *p = 0 x00000C000000; tmp = *p;/ 讀取地址為0 x00000C000000的數(shù)據(jù) Asm ljmp 0 x00000D000000;/ 程序開始執(zhí)行0 x00000D000000的程序區(qū) 對NandFlash而言,對程序和數(shù)據(jù)的訪問相對比較復(fù)雜。 下圖分別為NandFlash讀寫流程圖。,寫數(shù)據(jù),讀數(shù)據(jù),事實上,在寫數(shù)據(jù)時,還要先對擦除andFlash。 在送地址和數(shù)據(jù)時,NandFlash通過/O總線依次送入地址和數(shù)據(jù),而且讀寫是以塊為單位進(jìn)行操作。 這樣,如果要訪問NandFlash內(nèi)的數(shù)據(jù),必段以塊中的

15、頁為單位,根據(jù)所指定的塊和頁將該頁的數(shù)據(jù)讀入內(nèi)存,然后根據(jù)內(nèi)存中的相對地址對該數(shù)據(jù)進(jìn)行訪問。 該原理和機(jī)的硬盤工作機(jī)理很相似。 如果需要將andFlash作程序存儲器,需要注意以下事項: (1)由于NandFlash出錯和出現(xiàn)壞塊的機(jī)會比NorFlash大得多,而程序出錯后的問題往往是致命的。所以必須有錯誤冗余校驗機(jī)制和糾錯機(jī)制。 (2)由于MCU/MPU不能直接對NandFlash程序和數(shù)據(jù)進(jìn)行訪問,所以必須有一個BootLoader程序?qū)andFlash程序映射到RAM中才可以執(zhí)行。也就是說在該單片機(jī)系統(tǒng)中,必須有一個ROM存儲引導(dǎo)程序。該引導(dǎo)程序一般說來是很精巧的。 在該BootLoa

16、der,必須包含NandFlash讀驅(qū)動程序。 需要注意的是,該處的BootLoader和我們機(jī)的Boot是有區(qū)別的,而更像PC機(jī)的BIOS程序。 (3)用NandFlash存儲程序的系統(tǒng)一般都用于程序量比較大,且要求帶有andFlash存儲器的系統(tǒng)。,2、嵌入式系統(tǒng)結(jié)構(gòu) 根據(jù)應(yīng)用場合的不現(xiàn),嵌入式系統(tǒng)千差萬別。小型的嵌入式系統(tǒng)中,有些MCU將絕大部外圍電路,如RAM、ROM、ADC等,甚至連日振都都集成到一個MCU,基本上不需外圍器件。這些器件只需要加上人機(jī)接口電路,電源,裝入程序即可構(gòu)成一個嵌入式系統(tǒng),如電子表等。 對于另外一些比較大一點的系統(tǒng),可能需要擴(kuò)展RAM、ROM、ADC以及其它一

17、些器件。 如我們的碟機(jī)/數(shù)碼相框的系統(tǒng)架構(gòu)圖如下:,上面那個系統(tǒng)的外圍器件比較多,電路也比較復(fù)雜。 對于很多的嵌入式系統(tǒng),如小型手持設(shè)備而言,出于硬件成本、PCB板面積等因素的考慮,往往去掉其它一些器件。 比如,在自帶Nand Flash的情況下,可用NandFlash代替EEPROM和NorFlash。如有些MCU自帶USB控制器和LCD Driver、RTC等,就可以省去這些外圍電路。但需要 一個MCU/MPU能直接運行的Bootloader程序?qū)Υ娣旁贜andFlash的程序進(jìn)行引導(dǎo)。該BootLoader程序必須帶有NandFlash驅(qū)動。 對于另外一些MPU,由于自身并不帶有RAM和

18、ROM,就需要擴(kuò)展相應(yīng)的電路。 對于某些MCU/MPU,其內(nèi)置的ROM自帶有Bootloader。,現(xiàn)在就該系統(tǒng)分別舉我們現(xiàn)有的兩個產(chǎn)品進(jìn)行說明。 (1)ADI平臺 我們的ADI MPU中,通過ROM自帶有一個Bootloader(即oot ROM)。該Bootloader自帶有三套驅(qū)動程序,即普通ROM(如NorFlash,實際上并不需要驅(qū)動)、8bit Flash/16 bit Flash驅(qū)動和SPI驅(qū)動程序,分別對應(yīng)三種方式啟動程序,此外,還有一種并不需要Bootloader的啟動方式。如下圖所示:,但NandFlash和SPI Flash由于MCU不能直接尋址其存儲單元,所以一定要先通過相關(guān)驅(qū)動程序?qū)andFlash或SPI Flash中的程序load到SDRAM中才能執(zhí)行。 對于NorFlash啟動,由于MCU/MPU可以像普通ROM一樣直接對NorFlash尋址,所以該引導(dǎo)程序通過跳轉(zhuǎn)指令直接將程序指針指向NorFlash的main()函數(shù)即可。不過在我們的ADI系統(tǒng)中,也是先將NorFlash內(nèi)的程序load到高速SDRAM中再執(zhí)行。 我們可以通過對oot Mode進(jìn)行設(shè)置如下圖所示:,(2)MTK方案: 由于我們手頭有關(guān)MTK的資料非常有限,所以,有關(guān)MTK的系統(tǒng)結(jié)構(gòu)僅為猜測。 不過我想,MTK的有如下特點

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論