最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

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

出處:sdqiang 發(fā)布于:2006-03-30 16:19:19

      摘要:隨著嵌入式系統(tǒng)產(chǎn)品的發(fā)展,對(duì)存儲(chǔ)設(shè)備的要求也日益增強(qiáng)。文章以東芝的NAND E2PROM器件TC58DVG02A1F00為例,闡述了NAND Flash的基本結(jié)構(gòu)和使用方法,對(duì)比了NAND和NOR Flash的異同,介紹了容量NAND Flash在嵌入式系統(tǒng)中的應(yīng)用方法,以及如何在Linux操作系統(tǒng)中加入對(duì)NAND Flash的支持。

      關(guān)鍵詞:嵌入式 NAND Flash Linux 內(nèi)核 TC58DVG02A1F00
1 NAND和NOR flash
目前市場(chǎng)上的flash從結(jié)構(gòu)上大體可以分為AND、NAND、NOR和DiNOR等幾種。其中NOR和DiNOR的特點(diǎn)為相對(duì)電壓低、隨機(jī)讀取快、功耗低、穩(wěn)定性高,而NAND和AND的特點(diǎn)為容量大、回寫(xiě)速度快、芯片面積小?,F(xiàn)在,NOR和NAND FLASH的應(yīng)用為廣泛,在CompactFlash、Secure Digital、PC Cards、MMC存儲(chǔ)卡以及USB閃盤(pán)存儲(chǔ)器市場(chǎng)都占用較大的份額。
NOR的特點(diǎn)是可在芯片內(nèi)執(zhí)行(XIP,eXecute In Place),這樣應(yīng)該程序可以直接在flash內(nèi)存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,但寫(xiě)入和探險(xiǎn)速度較低。而NAND結(jié)構(gòu)能提供極高的單元密度,并且寫(xiě)入和擦除的速度也很快,是高數(shù)據(jù)存儲(chǔ)密度的選擇。這兩種結(jié)構(gòu)性能上的異同步如下:
*NOR的讀速度比NAND稍快一些。
*NAND的寫(xiě)入速度比NOR快很多。
*NAND的擦除速度遠(yuǎn)比NOR快。
*NAND的擦除單元更小,相應(yīng)的擦除電路也更加簡(jiǎn)單。
*NAND閃存中每個(gè)塊的擦寫(xiě)次數(shù)量否萬(wàn)次,而NOR的擦寫(xiě)次數(shù)是十萬(wàn)次。
此外,NAND的實(shí)際應(yīng)用方式要比NOR復(fù)雜得多。NOR可以直接使用,并在上面直接運(yùn)行代碼。而NAND需要I/O接口,因此使用時(shí)需要驅(qū)動(dòng)程序。不過(guò)當(dāng)今流行的操作系統(tǒng)對(duì)NAND Flash都有支持,如風(fēng)河(擁有VxWorks系統(tǒng))、微軟(擁有WinCE系統(tǒng))等公司都采用了TrueFFS驅(qū)動(dòng),此外,Linux內(nèi)核也提供了對(duì)NAND Flash的支持。
2 大容量存儲(chǔ)器TC58DCG02A1FT00
2.1 引腳排列和功能
TC58DVG02A 1FT00是Toshiba公司生產(chǎn)的1Gbit(128M×8Bit)CMOS NAND E2PROM,它的工作電壓為3.3V,內(nèi)部存儲(chǔ)結(jié)構(gòu)為528 bytes×32pages×8192blocks。而大小為528字節(jié),塊大小為(16k+512)字節(jié)。其管腳排列如圖1所示。各主要引腳如下:
I/O1~I/O8:8個(gè)I/O口;
CE:片選信號(hào),低電平有效;
WE:寫(xiě)使能信號(hào),低電平有效;
RE:讀使能信號(hào),低電平有效;
CLE:命令使能信號(hào);
ALE:地址使能信號(hào);
WP:寫(xiě)保護(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處理器為例給出的NAND Flash與ARM處理器的一般連接方法。如前所述,與NOR Flash不同,NAND Flash需要驅(qū)動(dòng)程序才能正常工作。
圖中PB4,PB5,PB6是ARM處理器的GPIO口,可用來(lái)控制NAND Flash的片選信號(hào)。CS1是處理器的片選信號(hào),低電平有效。IORD、IOWR分別是處理器的讀、寫(xiě)信號(hào),低電平有效。寫(xiě)保護(hù)信號(hào)在本電路中沒(méi)有連接。
2.3 具體操作
地址輸入,命令輸入以及數(shù)據(jù)的輸入輸出,都是通過(guò)NAND Flash的CLE、ALE、CE、WE、RE引腳控制的。具體方式如表1所列。
表1 邏輯表
  CLE ALE CE WE RE
命令輸入 1 0 0 時(shí)鐘上升沿 1
數(shù)據(jù)輸入 0 0 0 時(shí)鐘上升沿 1
地址輸入 0 1 0 時(shí)鐘上升沿 1
串行數(shù)據(jù)輸出 0 0 0 1 時(shí)鐘下降沿
待機(jī)狀態(tài) X X 1 X X
NAND Flash芯片的各種工作模式,如讀、復(fù)位、編程等,都是通過(guò)命令字來(lái)進(jìn)行 控制的。部分命令如表2所列。
表2 命令表
  周期(Hex) 第二周期(Hex)
串行數(shù)據(jù)輸入 80 無(wú)
讀模式1 00 無(wú)
讀模式2 01 無(wú)
讀模式3 50 無(wú)
復(fù)位 FF 無(wú)
自動(dòng)編程(真) 10 無(wú)
自動(dòng)編程(假) 11 無(wú)
自動(dòng)塊刪除 60 D0
狀態(tài)讀取1 70 無(wú)
狀態(tài)讀取2 71 無(wú)
ID讀取1 90 無(wú)
ID讀取2 91 無(wú)
串行數(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í)序。CLE信號(hào)有效時(shí)通過(guò)IO口向命令寄存器發(fā)送命令00H。此時(shí)NAND Flash處于寫(xiě)狀態(tài),因此WE有鏟,RE無(wú)效。發(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。之后,才能開(kāi)始真正的數(shù)據(jù)讀取。此時(shí)WE為高電平而處于無(wú)效狀態(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; //開(kāi)始發(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);//開(kāi)始讀取數(shù)據(jù)
}
3 Linux系統(tǒng)對(duì)NAND Flash的支持
Linux操作系統(tǒng)雖然已經(jīng)支持NAND Flash,但要使用NAND Flash設(shè)備,還必須先對(duì)內(nèi)核進(jìn)行設(shè)置方法如下:
(1)在/usr/src/(內(nèi)核路徑名)目錄中輸入make menuconfig命令,再打開(kāi)主菜單,進(jìn)入Memory Technology Devices(MTD)選項(xiàng),選中MTD支持。
(2)進(jìn)入NAND Flash Device Drivers選項(xiàng),NAND設(shè)備進(jìn)行配置。不過(guò)此時(shí)對(duì)NAND的支持僅限于Linux內(nèi)核自帶的驅(qū)勸程序,沒(méi)有包含本文介紹的Toshiba芯片,為此需要對(duì)Linux內(nèi)核進(jìn)行修改,方法如下:
(1)修改內(nèi)核代碼的drivers.in文件,添加下面一行:
dep-tristate 'Toshiba NAND Device Support'CONFIG-MTD-TOSHIBA $CONFIG-MTD
其中CONFIG-MTD-TOSHIBA是該設(shè)備的名稱(chēng),將在Makefile文件中用到。
$CONFIG-MTD的意思是只有選有$CONFIG-MTD時(shí),該菜單才會(huì)出現(xiàn),即依賴(lài)于$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
此行語(yǔ)句的意思是如果選擇了該設(shè)備,編譯內(nèi)核時(shí)加入toshiba.o(假設(shè)驅(qū)動(dòng)程序是toshiba.o),反之不編譯進(jìn)內(nèi)核。

  
關(guān)鍵詞:大容量NAND Flash TC58DVG02A1FT00在嵌入式系統(tǒng)中的應(yīng)用0001128M3.3V  8BIT DEVICEDEVICESDIGITALFLASHMEMORYSUPPORTTC58DVG02ATECHNOLOGYTOSHIBA

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

18-1000019-01
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!