新聞中心

        EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 大容量NANDFlash在多媒體手機中的應(yīng)用

        大容量NANDFlash在多媒體手機中的應(yīng)用

        作者: 時間:2012-03-12 來源:網(wǎng)絡(luò) 收藏

        1 引言

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

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

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

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

        本文引用地址:http://www.104case.com/article/165821.htm

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

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

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

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

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

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

        2 TC58DDM82A1XBJ5在多媒體手機中的

        在多媒體手機中,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 引腳排列和功能

        采用高度復(fù)用的訪問接口,該接口既作地址總線,又作數(shù)據(jù)總線和指令輸入接口。的的接口引腳主要分三類:數(shù)據(jù)引腳,控制引腳,狀態(tài)引腳。TC58DDM82A1XBJ5的數(shù)據(jù)引腳為8位,即I/O1~I/O8,用來輸入/輸出地址,數(shù)據(jù)和指令。有一個狀態(tài)引腳(RY/BY)用來表示芯片的狀態(tài),當(dāng)芯片進(jìn)行數(shù)據(jù)寫入、擦除、隨機讀取的時候,其輸出電平為高,表明芯片正忙,否則輸出低電平。/WP引腳用來禁止獲允許對芯片進(jìn)行寫入操作。當(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ù)位、編程等,都是通過命令字來進(jìn)行控制的。



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

        可知,第一個周期,CLE信號有效時通過IO口向命令寄存器發(fā)送命令00H.此時處于寫狀態(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;i3;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分配的邏輯地址來進(jìn)行訪問的。BadBlockManagement對壞塊不分配邏輯地址,這樣會形成連續(xù)的邏輯地址。WearLevelingTreatment避免對某一區(qū)域進(jìn)行大量的讀寫操作,這樣就會延長NANDFlash的使用時間。ECC主要完成讀寫過程中的糾錯,但是ECC只能對1bit的數(shù)據(jù)進(jìn)行糾錯。

        3 結(jié)語

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

        電磁爐相關(guān)文章:電磁爐原理




        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 承德市| 彩票| 乌什县| 湖口县| 康保县| 乌海市| 梧州市| 怀来县| 钟山县| 曲水县| 通州区| 娄烦县| 新昌县| 德昌县| 延吉市| 郎溪县| 开封县| 虎林市| 马公市| 且末县| 玉屏| 揭阳市| 东明县| 彰武县| 扶沟县| 开原市| 会泽县| 古田县| 江孜县| 滕州市| 镇安县| 改则县| 涿州市| 建瓯市| 拉孜县| 阿图什市| 济阳县| 江达县| 伊宁市| 沁源县| 鄂伦春自治旗|