《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 微波|射頻 > 設(shè)計應(yīng)用 > 大容量NANDFlash在多媒體手機中的應(yīng)用
大容量NANDFlash在多媒體手機中的應(yīng)用
摘要: 在多媒體手機中NANDFlash主要用來存儲多媒體數(shù)據(jù)(圖片、語音文件等)。在實際應(yīng)用中不會對NANDFlash進行頻繁的寫入和擦除操作,而且多媒體數(shù)據(jù)對數(shù)據(jù)的完整性要求也不是很高,但是多媒體數(shù)據(jù)的數(shù)據(jù)量較大。這些特征決定了使用NANDFlash來存儲多媒體數(shù)據(jù)是十分恰當(dāng)?shù)?,這也正是業(yè)界的通行做法。
Abstract:
Key words :

1  引言

隨著手機市場競爭的日趨激烈,多媒體手機逐漸成為市場的寵兒。因為有大量的多媒體數(shù)據(jù),因此大容量存儲是多媒體手機所要解決的首要問題。

NOR和NAND是現(xiàn)在市場上兩種主要的非易失閃存技術(shù)。NOR的特點是芯片內(nèi)執(zhí)行(XIP,eXecuteInPlace),這樣應(yīng)用程序可以直接在flash閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)RAM中。NOR的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NAND結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲密度,并且寫入和擦除的速度也很快,是大數(shù)據(jù)量存儲的最佳選擇。在選擇存儲方案的時候,設(shè)計師必須綜合考慮以下因素:

(1)NOR的讀速度比NAND稍快一些。

(2)NAND的寫入速度比NOR快很多。

(3)NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。

(4)大多數(shù)寫入操作需要先進行擦除操作。

(5)NAND的擦除單元更小,相應(yīng)的擦除電路更少。

(6)NAND閃存中每個塊的最大擦寫次數(shù)是一百萬次,而NOR的擦寫次數(shù)是十萬次。

此外,NAND的使用比NOR的使用復(fù)雜的多。在NOR器件上運行代碼不需要任何的軟件支持,在NAND器件上進行同樣操作時,通常需要驅(qū)動程序,也就是內(nèi)存技術(shù)驅(qū)動程序(MTD),NAND和NOR器件在進行寫入和擦除操作時都需要MTD.

使用NOR器件時所需要的MTD要相對少一些,許多廠商都提供用于NOR器件的更高級軟件,這其中包括M-SySTem的TrueFFS驅(qū)動,該驅(qū)動被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等廠商所采用。

2  TC58DDM82A1XBJ5在多媒體手機中的應(yīng)用

在多媒體手機中,TC58DDM82A1XBJ5主要用來存儲圖片、聲音文件等數(shù)據(jù)量較大的文件。

TC58DDM82A1XBJ5是Toshiba公司生產(chǎn)的256MbitsNANDEEPROM.工作電壓為2.7V~3.6V或者1.65V~1.95V.

存儲結(jié)構(gòu)為528bytes×32pages×2048blocks.Page的大小為528Bytes,Block的大小為(16K+512)Bytes.

2.1  引腳排列和功能

NANDFlash采用高度復(fù)用的訪問接口,該接口既作地址總線,又作數(shù)據(jù)總線和指令輸入接口。NANDFlash的的接口引腳主要分三類:數(shù)據(jù)引腳,控制引腳,狀態(tài)引腳。TC58DDM82A1XBJ5的數(shù)據(jù)引腳為8位,即I/O1~I/O8,用來輸入/輸出地址,數(shù)據(jù)和指令。有一個狀態(tài)引腳(RY/BY)用來表示芯片的狀態(tài),當(dāng)芯片進行數(shù)據(jù)寫入、擦除、隨機讀取的時候,其輸出電平為高,表明芯片正忙,否則輸出低電平。/WP引腳用來禁止獲允許對芯片進行寫入操作。當(dāng)其為低電平時禁止寫操作,反之允許寫操作??刂埔_有6個,見引腳定義。

2.2  TC58DDM82A1與AD6528的連接

AD6528是AnalogDevicesInc.生產(chǎn)的Hermes系列GSM/GPRS處理器。AD6528采用DSP+MCU的雙核結(jié)構(gòu),其中MCU采用的是ARM7,DSP部分選用了ADI自己的ADSP-218xDSP核。

2.3  TC58DDM82A1的操作方式

TC58DDM82A1的地址輸入、命令輸入、數(shù)據(jù)輸入輸出都是通過CLE、ALE、CE、WE、RE、RST、PRE1/PRE2引腳控制??刂七壿嬋绫?所示:

表1 邏輯表

表1 邏輯表
*1:/WP=0,則禁止TC58DDM82A1的Program和Erase操作TC58DDM82A1的各種工作模式,如讀、復(fù)位、編程等,都是通過命令字來進行控制的。



2.4  TC58DDM82A1的時序分析及驅(qū)動程序

可知,第一個周期,CLE信號有效時通過IO口向命令寄存器發(fā)送命令00H.此時NANDFlash處于寫狀態(tài),因此WE有效,RE無效。發(fā)送命令后,接著發(fā)送要讀的地址,該操作將占用WE的3個周期。注意,此時發(fā)送的是地址信息,因此CLE為低,而ALE為高電平。當(dāng)信息發(fā)送完畢后,不能立刻讀取數(shù)據(jù),因為芯片此時處于BUSY(忙)狀態(tài),需要等待2~20ms.之后,才能開始真正的數(shù)據(jù)讀取。此時WE為高電平而處于無效狀態(tài),同時CE片選信號也始終為低以表明選中該芯片。

完成ReadMode(1)的偽碼如下:

ReadMode1_Func(Cmd, Addr)

{

RE=1;

ALE = 0 ;

CLE = 1 ;

WE = 0 ;

CE=0;

SendCmd(Cmd); // 向NAND 發(fā)送操作命令,此例中應(yīng)該是00H

WE = 1 ; / / NAND 取走命令

CE = 1 ;

CLE=0; // 發(fā)送命令結(jié)束

ALE=1; // 開始發(fā)送起始地址

for(i=0;i<3;i++)

{

WE = 0 ;

CE=0;

SendAddr(Addr);

WE=1; // 取走指令

CE=1;

} // 發(fā)送完所有地址

CE=1;

WE = 1 ;

ALE = 0 ;

Delay(2);

while(BUSY)

Wait; // 判斷等待狀態(tài)是否結(jié)束

RE=0;

CE=0;

ReadData(Buf); // 讀取數(shù)據(jù)到buffer

}

2.5  NANDFlashDiver的特殊功能

NANDFlash的訪問是串行的,比較類似硬盤的存儲方式。NANDFlash必須有Driver的支持才能在手機使用。Driver除了提供對NANDFlash的Read,Program,Erase外,還應(yīng)該提供以下基本的功能:

BadBlockManagement

WearLevelingTreatment

ECC(ErrorCorrectCode)

NANDFlash是通過Driver分配的邏輯地址來進行訪問的。BadBlockManagement對壞塊不分配邏輯地址,這樣會形成連續(xù)的邏輯地址。WearLevelingTreatment避免對某一區(qū)域進行大量的讀寫操作,這樣就會延長NANDFlash的使用時間。ECC主要完成讀寫過程中的糾錯,但是ECC只能對1bit的數(shù)據(jù)進行糾錯。

3  結(jié)語

在多媒體手機中NANDFlash主要用來存儲多媒體數(shù)據(jù)(圖片、語音文件等)。在實際應(yīng)用中不會對NANDFlash進行頻繁的寫入和擦除操作,而且多媒體數(shù)據(jù)對數(shù)據(jù)的完整性要求也不是很高,但是多媒體數(shù)據(jù)的數(shù)據(jù)量較大。這些特征決定了使用NANDFlash來存儲多媒體數(shù)據(jù)是十分恰當(dāng)?shù)?,這也正是業(yè)界的通行做法。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。