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

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 基于FPGA的NAND FLASH控制器

          基于FPGA的NAND FLASH控制器

          ——
          作者: 時間:2007-08-31 來源:中電網(wǎng) 收藏
          1 引言

          在便攜式電子產(chǎn)品如U盤、MP3播放器、數(shù)碼相機中,常常需要大容量、高密度的存儲器,而在各種存儲器中, 以價格低、密度高、效率高等優(yōu)勢成為最理想的器件。但 的控制邏輯比較復(fù)雜,對時序要求也十分嚴(yán)格,而且最重要的是 中允許存在一定的壞塊(壞塊在使用過程中還可能增加),這就給判斷壞塊、給壞塊做標(biāo)記和擦除等操作帶來很大的難度,于是就要求有一個控制器,使系統(tǒng)用戶能夠方便地使用NAND FLASH,為此提出了一種基于的NAND FLASH控制器的設(shè)計方法,并用VHDL給予實現(xiàn),Modelsim得出仿真結(jié)果,并在ALTERA公司的EP2C35F672器件中得到驗證。與NAND FLASH接口圖如圖1所示。

          FPGA和NAND接口

          2 NAND FLASH操作

          NAND FLASH器件的管腳分為控制信號、I/O二類,地址和數(shù)據(jù)是復(fù)用I/O管腳。通常NAND FLASH器件包括一定數(shù)目BLOCK,每個BLOCK包括一定數(shù)目的PAGE,每個NAND FLASH器件把BLOCK,PAGE按照行列地址進(jìn)行尋址,基于這種特殊的結(jié)構(gòu)。

          2.1 READ ID

          NAND FLASH器件ID包括:Manufacture ID,device ID以及容量大小,這些重要的信息是判斷NAND FLASH的重要憑證,因此將這些信息讀出來加以判斷就顯得特別重要。在CLE為高,WE#上升沿,在I/O輸入90H命令讓NAND FLASH進(jìn)入讀ID狀態(tài),接著在ALE為高,WE#上升沿,在I/O輸入00H地址,在等待tWHR將RE#置為讀,在RE#連續(xù)4個上升沿將ID讀出。仿真圖如圖2所示。

          仿真圖

          2.2 判斷壞塊

          NAND FLASH作為一種特殊的儲存器件,內(nèi)部集成電路使得BLOCK與BLOCK是相互獨立的,因此一定數(shù)目壞塊的存在不會影響其他BLOCK。但壞塊總數(shù)是有一定的限制的,超過一定的數(shù)目后器件將認(rèn)為不能再使用。在出廠前廠家會在器件的每個BLOCK的第一頁和第二頁的列地址為2048標(biāo)注上壞的信息,F(xiàn)Fh代表此BLOCK是好,非FFh代表此BLOCK是壞。但是這些重要信息在執(zhí)行Erase和Programming命令的時候會被擦除掉,因此,我們在做這些操作之前應(yīng)該將壞塊識別出來如圖3所示,并加以標(biāo)注或者用好的塊來代替,以方便以后的訪問。隨著使用時間的推移,壞塊的數(shù)目還會增加,因此我們必須隨時更新壞塊鏈表。壞塊識別時序仿真圖如圖4所示。

          環(huán)繞識別系統(tǒng)

          環(huán)塊識別時序防真圖

          3擦除操作

          一般芯片進(jìn)行PROGRAM/ERASE的次數(shù)是100 000 cycles,第一個BLOCK次數(shù)更多,一般可用于存放boot code或者重要的信息。由于擦除操作是以BLOCK為基準(zhǔn),也就是每執(zhí)行一次擦除操作將會擦除指定的BLOCK,所以在執(zhí)行擦除時必須注意共享區(qū)域里的重要信息如壞塊標(biāo)識、ECC校驗等。以免被擦除掉,擦除掉了及時恢復(fù),擦除操作仿真如圖5所示。

          擦除操作仿真

          4編程操作及其他操作

          編程操作和擦除操作相似,只不過編程操作是以頁為單位,在執(zhí)行編程操作時同樣也要注意共享區(qū)域里的重要信息以免被覆蓋掉,重要信息被覆蓋后要及時恢復(fù)。其他操作如復(fù)位還有有些芯片廠家各自新的操作等,但總體來說主流芯片都支持以上幾種操作。

          5 結(jié) 語

          在實際應(yīng)用中,使用ALTERA公司的Cyclone2 FP-GA器件進(jìn)行設(shè)計,設(shè)計輸入采用VHDL來完成,實現(xiàn)了上述的NAND FLASH控制器接口電路。此外,由于采用了通用性設(shè)計思想,可以對不同廠家不同的芯片進(jìn)行控制和操作,具有一定的通用性

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(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); })();