1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>大容量NAND Flash TC58DVG02A1F

    大容量NAND Flash TC58DVG02A1F

    時間:2022-12-05 14:24:07 電子通信論文 我要投稿
    • 相關推薦

    大容量NAND Flash TC58DVG02A1FT00在嵌入式系統中的應用

      摘要:隨著嵌入式系統產品的發展,對存儲設備的要求也日益增強。文章以東芝的NANDE2PROM器件TC58DVG02A1F00為例,闡述了NANDFlash的基本結構和使用方法,對比了NAND和NORFlash的異同,介紹了容量NANDFlash在嵌入式系統中的應用方法,以及如何在Linux操作系統中加入對NANDFlash的支持。
      關鍵詞:嵌入式NANDFlashLinux內核TC58DVG02A1F00
      
      1NAND和NORflash
      
      目前市場上的flash從結構上大體可以分為AND、NAND、NOR和DiNOR等幾種。其中NOR和DiNOR的特點為相對電壓低、隨機讀取快、功耗低、穩定性高,而NAND和AND的特點為容量大、回寫速度快、芯片面積小。現在,NOR和NANDFLASH的應用最為廣泛,在CompactFlash、SecureDigital、PCCards、MMC存儲卡以及USB閃盤存儲器市場都占用較大的份額。
      
      NOR的特點是可在芯片內執行(XIP,eXecuteInPlace),這樣應該程序可以直接在flash內存內運行,不必再把代碼讀到系統RAM中。NOR的傳輸效率很高,但寫入和探險速度較低。而NAND結構能提供極高的單元密度,并且寫入和擦除的速度也很快,是高數據存儲密度的最佳選擇。這兩種結構性能上的異同步如下:
      
      *NOR的讀速度比NAND稍快一些。
      
      *NAND的寫入速度比NOR快很多。
      
      *NAND的擦除速度遠比NOR快。
      
      *NAND的擦除單元更小,相應的擦除電路也更加簡單。
      
      *NAND閃存中每個塊的最大擦寫次數量否萬次,而NOR的擦寫次數是十萬次。
      
      此外,NAND的實際應用方式要比NOR復雜得多。NOR可以直接使用,并在上面直接運行代碼。而NAND需要I/O接口,因此使用時需要驅動程序。不過當今流行的操作系統對NANDFlash都有支持,如風河(擁有VxWorks系統)、微軟(擁有WinCE系統)等公司都采用了TrueFFS驅動,此外,Linux內核也提供了對NANDFlash的支持。
      
      2大容量存儲器TC58DCG02A1FT00
      
      2.1引腳排列和功能
      
      TC58DVG02A1FT00是Toshiba公司生產的1Gbit(128M×8Bit)CMOSNANDE2PROM,它的工作電壓為3.3V,內部存儲結構為528bytes×32pages×8192blocks。而大小為528字節,塊大小為(16k+512)字節。其管腳排列如圖1所示。各主要引腳如下:
      
      I/O1~I/O8:8個I/O口;
      
      CE:片選信號,低電平有效;
      
      WE:寫使能信號,低電平有效;
      
      RE:讀使能信號,低電平有效;
      
      CLE:命令使能信號;
      
      ALE:地址使能信號;
      
      WP:寫保護信號,低電平有效;
      
      RY/BY:高電平時為READY信號,低電平時為BUSY信號。
      
      2.2與ARM處理器的連接
      
      當前嵌入式領域的主流處理器當屬ARM。圖2是以ARM7處理器為例給出的NANDFlash與ARM處理器的一般連接方法。如前所述,與NORFlash不同,NANDFlash需要驅動程序才能正常工作。
      
      圖中PB4,PB5,PB6是ARM處理器的GPIO口,可用來控制NANDFlash的片選信號。CS1是處理器的片選信號,低電平有效。IORD、IOWR分別是處理器的讀、寫信號,低電平有效。寫保護信號在本電路中沒有連接。
      
      2.3具體操作
      
      地址輸入,命令輸入以及數據的輸入輸出,都是通過NANDFlash的CLE、ALE、CE、WE、RE引腳控制的。具體方式如表1所列。
      
      表1邏輯表
      
      CLEALECEWERE命令輸入100時鐘上升沿1數據輸入000時鐘上升沿1地址輸入010時鐘上升沿1串行數據輸出0001時鐘下降沿待機狀態XX1XX
      NANDFlash芯片的各種工作模式,如讀、復位、編程等,都是通過命令字來進行控制的。部分命令如表2所列。
      
      表2命令表
      
      第一周期(Hex)第二周期(Hex)串行數據輸入80無讀模式100無讀模式201無讀模式350無復位FF無自動編程(真)10無自動編程(假)11無自動塊刪除60D0狀態讀取170無狀態讀取271無ID讀取190無ID讀取291無
      串行數據輸入的命令80表示向芯片的IO8、IO7、IO6、IO5、IO4、IO3、IO2、IO1口發送0x80,此時除IO8為1外,其余IO口均為低電平。
      
      2.4時序分析及驅動程序
      
      下面以表2中的讀模式1為例分析該芯片的工作時序。由圖3可知,CLE信號有效時通過IO口向命令寄存器發送命令00H。此時NANDFlash處于寫狀態,因此WE有鏟,RE無效。發送命令后,接著發送要讀的地址,該操作將占用WE的1、2、3、4個周期。注意,此時發送的是地址信息,因此CLE為低,而ALE為高電平。當信息發送完畢后,不能立刻讀取數據,因為芯片此時處于BUSY(忙)狀態,需要等待2~20ms。之后,才能開始真正的數據讀取。此時WE為高電平而處于無效狀態,同時CE片選信號也始終為低以表明選中該芯片。
      
      這段時序的偽代碼如下:
      
      Read_func(cmd,addr)
      
      {
      
      RE=1;
      
      ALE=0;
      
      CLE=1;
      
      WE=0;
      
      CE=0;
      
      Send_cmd(cmd);//發送命令,由參數決定,這里為00
      
      WE=1;//上升沿取走命令
      
      CE=1;
      
      CLE=0;//發送命令結束
      
      ALE=1;//開始發送地址
      
      For(i=0;i<4;i++)
      
      {
      
      WE=0;
      
      CE=0;
      
      Send_add(addr);//發送地址
      
      WE=1;/上升沿取走地址
      
      CE=1;
      
      }
      
      //所有數據發送結束,等待讀取數據
      
      CE=0;
      
      WE=1;
      
      ALE=0;
      
      Delay(2ms);
      
      While(BUSY)
      
      Wait;//如果還忙則繼續等待
      
      Read_data(buf);//開始讀取數據
      
      }
      
      3Linux系統對NANDFlash的支持
      
      Linux操作系統雖然已經支持NANDFlash,但要使用NANDFlash設備,還必須先對內核進行設置方法如下:
      
      (1)在/usr/src/(內核路徑名)目錄中輸入makemenuconfig命令,再打開主菜單,進入MemoryTechnologyDevices(MTD)選項,選中MTD支持。
      
      (2)進入NANDFlashDeviceDrivers選項,NAND設備進行配置。不過此時對NAND的支持僅限于Linux內核自帶的驅勸程序,沒有包含本文介紹的Toshiba芯片,為此需要對Linux內核進行修改,方法如下:
      
      (1)修改內核代碼的drivers.in文件,添加下面一行:
      
      dep-tristate'ToshibaNANDDeviceSupport'CONFIG-MTD-TOSHIBA$CONFIG-MTD
      
      其中CONFIG-MTD-TOSHIBA是該設備的名稱,將在Makefile文件中用到。
      
      $CONFIG-MTD的意思是只有選有$CONFIG-MTD時,該菜單才會出現,即依賴于$CONFIG-MTD選項。宋,Toshiba的NAND設備將被加入Linux系統內核菜單中。
      
      (2)修改相應的Makefile文件,以便編譯內核時能加入該設備的驅動程序。
      
      obj-$(CONFIG-MTD-TOSHIBA)+=toshiba.o
      
      此行語句的意思是如果選擇了該設備,編譯內核時加入toshiba.o(假設驅動程序是toshiba.o),反之不編譯進內核。
      
      
      
      

    【大容量NAND Flash TC58DVG02A1F】相關文章:

    大容量Flash型AT91系列ARM核微控制器08-06

    C8051F的超大容量Flash存儲器擴展08-06

    256×32大容量中文矩陣系統的設計08-06

    基于IDE硬盤的大容量語音記錄儀08-06

    教案:flash入門08-16

    大容量內存文件系統設計及μC/OS下的實現08-06

    FLASH5簡介08-16

    基于閃存的星載大容量存儲器的研究和實現08-06

    VxWorks中怎么從Flash BOOT08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      最新国产精品亚洲 | 一区本道在线一区三区 | 性爱国产精品福利在线 | 亚洲粽合在线免费视频 | 一区二区中文字幕 | 在线点播日韩欧美精品 |