<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9內(nèi)核Processor外部NANDFLASH的控制實(shí)現(xiàn)

          基于ARM9內(nèi)核Processor外部NANDFLASH的控制實(shí)現(xiàn)

          作者: 時間:2012-11-05 來源:網(wǎng)絡(luò) 收藏

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

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

          IC72新聞中心

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

            (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信號以將其寫入芯片。

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

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

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

            在設(shè)計中采用CPU的CS1信號對NANDFLASH進(jìn)行CE(片選)控制。此處不能采用CPU的GPIO進(jìn)行控制,因為在嵌入式設(shè)備的ARMCPU中,CPU本身采用了指令、數(shù)據(jù)自動預(yù)讀的高速緩存技術(shù)和流水線技術(shù)。因此,當(dāng)程序在NORFLASH里面直接運(yùn)行的時候(目前絕大多數(shù)嵌入式系統(tǒng)采用的方式),在運(yùn)行任何兩段相連的代碼中間,CPU都有可能對NORFLASH進(jìn)行指令或數(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)定運(yùn)行。對于CS1信號的寬度等參數(shù),也需要在實(shí)驗中進(jìn)行調(diào)節(jié),才能保證整個系統(tǒng)快速穩(wěn)定的運(yùn)行。

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

            經(jīng)過測試在該系統(tǒng)平臺中,OS為PalmOS5.4;CPU使用PXA270312MHz;SDRAM使用Samsung的16bdatawidthHYB25L256160AF-7.5@104MHz;NANDFLASH選用SAMSung128MB8bI/ONANDFLASHK9F1G08U0A達(dá)到在文件系統(tǒng)下面的讀/寫的速度為3MB/s,擦除的速度為65MB/s,在手持式設(shè)備中運(yùn)用性能已經(jīng)夠了。

          電機(jī)保護(hù)器相關(guān)文章:電機(jī)保護(hù)器原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: ARM9內(nèi)核 Processor NANDFLASH

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();