丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>大容量NAND Flash TC58DVG02A1F

大容量NAND Flash TC58DVG02A1F

時(shí)間:2022-12-05 14:24:07 電子通信論文 我要投稿
  • 相關(guān)推薦

大容量NAND Flash TC58DVG02A1FT00在嵌入式系統(tǒng)中的應(yīng)用

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

【大容量NAND Flash TC58DVG02A1F】相關(guān)文章:

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

C8051F的超大容量Flash存儲(chǔ)器擴(kuò)展08-06

256×32大容量中文矩陣系統(tǒng)的設(shè)計(jì)08-06

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

教案:flash入門08-16

大容量內(nèi)存文件系統(tǒng)設(shè)計(jì)及μC/OS下的實(shí)現(xiàn)08-06

FLASH5簡介08-16

基于閃存的星載大容量存儲(chǔ)器的研究和實(shí)現(xiàn)08-06

VxWorks中怎么從Flash BOOT08-06