基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用_第1頁
基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用_第2頁
基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用_第3頁
基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用_第4頁
基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)-設(shè)計應(yīng)用NANDFLASHNAND寫回速度快、芯片面積小,特別是大容量使其優(yōu)勢明顯。頁是NAND中的基本存貯單元,一頁一般為512B(也有2kB每頁的largepageNANDFLASH),多個頁面組成塊。不同存儲器內(nèi)的塊內(nèi)頁面數(shù)不盡相同,通常以16頁或32頁比較常見。塊容量計算公式比較簡單,就是頁面容量與塊內(nèi)頁面數(shù)的乘積。根據(jù)FLASHMemory容量大小,不同存儲器中的塊、頁大小可能不同,塊內(nèi)頁面數(shù)也不同。例如:8MB存儲器,頁大小常為512B、塊大小為8kB,塊內(nèi)頁面數(shù)為16。而2MB的存儲器的頁大小為256B、塊大小為4kB,塊內(nèi)頁面數(shù)也是16。NAND存儲器由多個塊串行排列組成。實際上,NAND型的FLASHMemory可認(rèn)為是順序讀取的設(shè)備,他僅用8b的I/O端口就可以存取按頁為單位的數(shù)據(jù)。NAND在讀和擦寫文件、特別是連續(xù)的大文件時,速度相當(dāng)快。

2NANDFLASH與NORFLASH比較

NOR的特點是可在芯片內(nèi)執(zhí)行,這樣程序應(yīng)該可以直接在FLASH內(nèi)存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,但寫入和讀出速度較低。而NAND結(jié)構(gòu)能提供極高的單元密度,并且寫入和擦除的速度也很快,是高數(shù)據(jù)存儲密度的選擇。

這兩種結(jié)構(gòu)性能上的異同主要為:NOR的讀速度比NAND快;NAND的寫入速度比NOR快很多;NAND的擦除速度遠(yuǎn)比NOR快;NAND的擦除單元更小,相應(yīng)的擦除電路也更加簡單;NAND的實際應(yīng)用方式要比NOR復(fù)雜得多;NOR可以直接使用,并在上面直接運行代碼,而NAND需要I/O接口,因此使用時需要驅(qū)動程序。

3NANDFLASH在系統(tǒng)中的控制

在沒有NANDFLASH硬件接口的環(huán)境中,通過軟體控制CPU時序和硬件特殊接線方式實現(xiàn)仿真NANDFLASH接口,進而實現(xiàn)在嵌入式系統(tǒng)中脫離NANDFLASH專用硬件接口進行對NANDFLASH讀、寫、擦除等操作的實現(xiàn)方法。

本方法主要工作在以下兩個方面:

軟件方面:針對特殊硬件線路的軟體設(shè)計和嚴(yán)格的CPU時序控制;

硬件方面:硬件的線路設(shè)計,利用NORFLASH專用硬件接口控制NANDFLASH。

首先建立的開發(fā)平臺如圖1所示。

本平臺使用Intel的PXA270Processor,無內(nèi)建NANDFLASHController,使用NORFLASHController控制NANDFLASH,具體的線路連接方式如圖2所示。

NANDFLASH的I/O0~I(xiàn)/07引腳用于對FLASH發(fā)送操作命令和收發(fā)數(shù)據(jù),ALE用于指示FLASH當(dāng)前數(shù)據(jù)為地址信息,CLE用于指示當(dāng)前數(shù)據(jù)為操作命令信息,當(dāng)兩者都無效時,為數(shù)據(jù)信息。CE引腳用于FLASH片選。RE和WE分別為FLASH讀、寫控制,R/B指示FLASH命令是否已經(jīng)完成。逭里選用的是CEdon'tcare的NANDFLASH。

NANDFLASH的讀寫操作以page方式進行,讀寫均為一個page,erase方式以block方式進行。這種方式,使其讀寫速度大大提高。

在時序方面,以讀操作為例,其時序如圖3所示。

操作過程主要分為以下幾個步驟:

(1)發(fā)送讀操作命令

CE有效,CLE有效,WE有效,I/O0~I(xiàn)/O8上面數(shù)據(jù)為command代碼數(shù)據(jù)。

(2)發(fā)送地址數(shù)據(jù)(需要讀取的FLASH地址)

CE有效,ALE有效,WE有效,I/O0~I(xiàn)/O8上面為所需地址數(shù)據(jù)。由于地址數(shù)據(jù)較多,所以需要分幾次依次發(fā)送。每次發(fā)送都需要產(chǎn)生WE信號以將其寫入NANDFLASH芯片。

(3)等待R/B信號,讀出數(shù)據(jù)

在一個地址數(shù)據(jù)寫入FLASH之后,R/B信號即變低。等待芯片完成整個page數(shù)據(jù)讀取之后,R/B信號變高。此時,CE有效,ALE,CLE均拉低,依次產(chǎn)生RE信號,從I/O0~I(xiàn)/O8讀取出所需數(shù)據(jù)。

對于寫操作和擦除操作,其基本原理相同,只是信號順序略有改變,就不再贅述。

由于使用了CPU地址線A1,A2連接CLE,ALE引腳,對CPU低2、3位地址的讀寫操作就意味著對NANDFLASH進行讀寫命令/數(shù)據(jù)操作。如果此程序工作在OS上的application層的話,MMU已經(jīng)屏蔽程序?qū)Φ讓佑布闹苯釉L問,所以需要對MMU進行設(shè)定,為NANDFLASH開辟一塊。Memory映像區(qū)域,這樣就可以通過OS對底層的NANDFLASH進行操作。以該系統(tǒng)為例,使用CPU的CS1引腳控制NANDFLASH的CE信號,先將其映像為0x24000000地址,此時,對0x24000000地址讀寫即對NANDFLASH芯片進行數(shù)據(jù)讀寫,而對Ox24000002地址寫數(shù)據(jù),使CPU的A1地址引腳為高,即對NANDFLASH發(fā)送command命令,同樣,對0x24000004地址寫數(shù)據(jù),即對NANDFLASH發(fā)送address數(shù)據(jù)。

在對NANDFLASH發(fā)送命令/數(shù)據(jù)之后,由于程序運行速度比FLASH芯片快很多,需要在每操作之后插入若干等待周期,并利用CPU的GPIO檢測芯片R/B信號。直至芯片完成本次操作再進行下一步操作。

需要注意的是,在對FLASH發(fā)送命令數(shù)據(jù)過程中的等待,沒有反饋信號可以檢測,只能通過反復(fù)調(diào)試確定其所需等待時間。

在設(shè)計中采用CPU的CS1信號對NANDFLASH進行CE(片選)控制。此處不能采用CPU的GPIO進行控制,因為在嵌入式設(shè)備的ARMCPU中,CPU本身采用了指令、數(shù)據(jù)自動預(yù)讀的高速緩存技術(shù)和流水線技術(shù)。因此,當(dāng)程序在NORFLASH里面直接運行的時候(目前絕大多數(shù)嵌入式系統(tǒng)采用的方式),在運行任何兩段相連的代碼中間,CPU都有可能對NORFLASH進行指令或數(shù)據(jù)的預(yù)讀操作,從而產(chǎn)生大量的RE,OE信號和地址信號。如果使用GPIO控制NANDFLASH的CE信號則無法避免這種影響。CPU的CS1信號是由CPU內(nèi)部自動產(chǎn)生,因此在CPU預(yù)讀期間,CS1信號可以有效屏蔽NANDFLASH芯片。并且,由于NANDFLASH芯片支持CEdon'tcare模式,在CE無效的情況下,芯片本身的工作狀態(tài)并不會被干擾,由此保證了NORFLASH和NANDFLASH在同一CPU界面中互不干擾的穩(wěn)定運行。對于CS1信號的寬度等參數(shù),也需要在實驗中進行調(diào)節(jié),才能保證整個系統(tǒng)快速穩(wěn)定的運行。

4NANDFLASH在系統(tǒng)中的讀寫速度

經(jīng)過測試在該系統(tǒng)平臺中,OS為PalmOS5.4;CPU使用PXA270312MHz;SD

溫馨提示

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

評論

0/150

提交評論