基于ARM9內(nèi)核Processor外部NANDFLASH的控制實現(xiàn)
1 NAND FLASH
NAND寫回速度快、芯片面積小,特別是大容量使其優(yōu)勢明顯。頁是NAND中的基本存貯單元,一頁一般為512 B(也有2 kB每頁的large page NAND FLASH),多個頁面組成塊。不同存儲器內(nèi)的塊內(nèi)頁面數(shù)不盡相同,通常以16頁或32頁比較常見。塊容量計算公式比較簡單,就是頁面容量與塊內(nèi)頁面數(shù)的乘積。根據(jù)FLASH Memory容量大小,不同存儲器中的塊、頁大小可能不同,塊內(nèi)頁面數(shù)也不同。例如:8 MB存儲器,頁大小常為512 B、塊大小為8 kB,塊內(nèi)頁面數(shù)為16。而2 MB的存儲器的頁大小為256 B、塊大小為4 kB,塊內(nèi)頁面數(shù)也是16。NAND存儲器由多個塊串行排列組成。實際上,NAND型的FLASHMemory可認(rèn)為是順序讀取的設(shè)備,他僅用8 b的I/O端口就可以存取按頁為單位的數(shù)據(jù)。NAND在讀和擦寫文件、特別是連續(xù)的大文件時,速度相當(dāng)快。
2 NAND FLASH與NOR FLASH比較
NOR的特點是可在芯片內(nèi)執(zhí)行,這樣程序應(yīng)該可以直接在FLASH內(nèi)存內(nèi)運(yùn)行,不必再把代碼讀到系統(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可以直接使用,并在上面直接運(yùn)行代碼,而NAND需要I/O接口,因此使用時需要驅(qū)動程序。
3 NAND FLASH在系統(tǒng)中的控制
在沒有NAND FLASH硬件接口的環(huán)境中,通過軟體控制CPU時序和硬件特殊接線方式實現(xiàn)仿真NANDFLASH接口,進(jìn)而實現(xiàn)在嵌入式系統(tǒng)中脫離NANDFLASH專用硬件接口進(jìn)行對NAND FLASH讀、寫、擦除等操作的實現(xiàn)方法。
本方法主要工作在以下兩個方面:
軟件方面:針對特殊硬件線路的軟體設(shè)計和嚴(yán)格的CPU時序控制;
硬件方面:硬件的線路設(shè)計,利用NOR FLASH專用硬件接口控制NAND FLASH。
首先建立的開發(fā)平臺如圖1所示。