《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM9內核Processor外部NAND FLASH的控制實現
基于ARM9內核Processor外部NAND FLASH的控制實現
摘要: NAND寫回速度快、芯片面積小,特別是大容量使其優勢明顯。頁是NAND中的基本存貯單元,一頁一般為512 B(也有2 kB每頁的large page NAND FLASH),多個頁面組成塊。不同存儲器內的塊內頁面數不盡相同,通常以16頁或32頁比較常見。
關鍵詞: ARM ARM9 NAND Flash PXA270 CPU
Abstract:
Key words :

  1 NAND FLASH

  NAND寫回速度快、芯片面積小,特別是大容量使其優勢明顯。頁是NAND中的基本存貯單元,一頁一般為512 B(也有2 kB每頁的large page NAND FLASH),多個頁面組成塊。不同存儲器內的塊內頁面數不盡相同,通常以16頁或32頁比較常見。塊容量計算公式比較簡單,就是頁面容量與塊內頁面數的乘積。根據FLASH Memory容量大小,不同存儲器中的塊、頁大小可能不同,塊內頁面數也不同。例如:8 MB存儲器,頁大小常為512 B、塊大小為8 kB,塊內頁面數為16。而2 MB的存儲器的頁大小為256 B、塊大小為4 kB,塊內頁面數也是16。NAND存儲器由多個塊串行排列組成。實際上,NAND型的FLASHMemory可認為是順序讀取的設備,他僅用8 b的I/O端口就可以存取按頁為單位的數據。NAND在讀和擦寫文件、特別是連續的大文件時,速度相當快。

  2 NAND FLASH與NOR FLASH比較

  NOR的特點是可在芯片內執行,這樣程序應該可以直接在FLASH內存內運行,不必再把代碼讀到系統RAM中。NOR的傳輸效率很高,但

 

寫入和讀出速度較低。而NAND結構能提供極高的單元密度,并且寫入和擦除的速度也很快,是高數據存儲密度的最佳選擇。

 

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

  3 NAND FLASH在系統中的控制

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

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

  軟件方面:針對特殊硬件線路的軟體設計和嚴格的CPU時序控制;

  硬件方面:硬件的線路設計,利用NOR FLASH專用硬件接口控制NAND FLASH。

  首先建立的開發平臺如圖1所示。

開發平臺結構

  本平臺使用Intel的PXA270 Processor,無內建NAND FLASH Controller,使用NOR FLASH Controller控制NAND FLASH,具體的線路連接方式如圖2所示。

線路連接方式

  NAND FLASH的I/O0~I/07引腳用于對FLASH發送操作命令和收發數據,ALE用于指示FLASH當前數據為地址信息,CLE用于指示當前數據為操作命令信息,當兩者都無效時,為數據信息。CE引腳用于FLASH片選。RE和WE分別為FLASH讀、寫控制,R/B指示FLASH命令是否已經完成。逭里選用的是CE don't care的NAND FLASH。

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

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

操作時序

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

  (1)發送讀操作命令

  CE有效,CLE有效,WE有效,I/O0~I/O8上面數據為command代碼數據。

  (2)發送地址數據(需要讀取的FLASH地址)

  CE有效,ALE有效,WE有效,I/O0~I/O8上面為所需地址數據。由于地址數據較多,所以需要分幾次依次發送。每次發送都需要產生WE信號以將其寫入NANDFLASH芯片。

  (3)等待R/B信號,最后讀出數據

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

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

  由于使用了CPU地址線A1,A2連接CLE,ALE引腳,對CPU低2、3位地址的讀寫操作就意味著對NANDFLASH進行讀寫命令/數據操作。如果此程序工作在OS上的application層的話,MMU已經屏蔽程序對底層硬件的直接訪問,所以需要對MMU進行設定,為NANDFLASH開辟一塊。Memory映像區域,這樣就可以通過OS對底層的NAND FLASH進行操作。以該系統為例,使用CPU的CS1引腳控制NAND FLASH的CE信號,先將其映像為0x24000000地址,此時,對0x24000000地址讀寫即對NAND FLASH芯片進行數據讀寫,而對Ox24000002地址寫數據,使CPU的A1地址引腳為高,即對NAND FLASH發送command命令,同樣,對0x24000004地址寫數據,即對NAND FLASH發送address數據。

 

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

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

  在設計中采用CPU的CS1信號對NAND FLASH進行CE(片選)控制。此處不能采用CPU的GPIO進行控制,因為在嵌入式設備的ARM CPU中,CPU本身采用了指令、數據自動預讀的高速緩存技術和流水線技術。因此,當程序在NOR FLASH里面直接運行的時候(目前絕大多數嵌入式系統采用的方式),在運行任何兩段相連的代碼中間,CPU都有可能對NOR FLASH進行指令或數據的預讀操作,從而產生大量的RE,OE信號和地址信號。

 

如果使用GPIO控制NAND FLASH的CE信號則無法避免這種影響。CPU的CS1信號是由CPU內部自動產生,因此在CPU預讀期間,CS1信號可以有效屏蔽NANDFLASH芯片。并且,由于NAND FLASH芯片支持CEdon't care模式,在CE無效的情況下,芯片本身的工作狀態并不會被干擾,由此保證了NOR FLASH和NANDFLASH在同一CPU界面中互不干擾的穩定運行。對于CS1信號的寬度等參數,也需要在實驗中進行調節,才能保證整個系統快速穩定的運行。

 

  4 NAND FLASH在系統中的讀寫速度

  經過測試在該系統平臺中,OS為Palm OS 5.4;CPU使用PXA270 312 MHz;SDRAM使用Samsung的16 bdata width HYB25L256160AF-7.5@104 MHz;NANDFLASH選用Samsung 128 MB 8 b I/O NAND FLASHK9F1G08U0A達到在文件系統下面的讀/寫的速度為3 MB/s,擦除的速度為65 MB/s,在手持式設備中運用性能已經夠了。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 男人j进美女p动态图片| 国产精品久久自在自线观看| 日本卡一卡2卡三卡4卡无卡| 亚洲第一永久在线观看| 老司机午夜性生免费福利| 国产福利久久青青草原下载| chinese乱子伦xxxx国语对白| 日本免费福利视频| 亚洲国产另类久久久精品黑人| 精品人妻无码专区中文字幕| 国产免费a级片| 你懂的在线视频| 天堂俺去俺来也WWW色官网| 丰满人妻熟妇乱又仑精品| 朋友把我玩成喷泉状| 亚洲电影中文字幕| 精品久久久久久久久中文字幕 | 久久99精品久久久久久齐齐| 欧美乱人伦视频| 亚洲视屏在线观看| 精品国产国产综合精品| 国产亚洲女在线精品| 四虎最新永久免费视频| 在公交车里要了几次| 一区二区三区日韩| 无人视频免费观看免费视频| 久久综合九色综合欧美就去吻| 欧美日韩成人在线| 伊人蕉久中文字幕无码专区| 美女女女女女女bbbbbb毛片| 国产亚洲人成无码网在线观看| 鸡鸡插屁股视频| 国产青草视频免费观看97| www.国产成人| 成人妇女免费播放久久久| 久久亚洲伊人中字综合精品| 极品精品国产超清自在线观看 | 青柠视频高清观看在线播放| 国产激情视频一区二区三区| 69成人免费视频无码专区| 天天爽天天碰狠狠添|