当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]大容量NANDFlash在多媒体手机中的应用

1  引言

随着手机市场竞争的日趋激烈,多媒体手机逐渐成为市场的宠儿。因为有大量的多媒体数据,因此大容量存储是多媒体手机所要解决的首要问题。

NOR和NAND是现在市场上两种主要的非易失闪存技术。NOR的特点是芯片内执行(XIP,eXecuteInPlace),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,是大数据量存储的最佳选择。在选择存储方案的时候,设计师必须综合考虑以下因素:

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

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

(3)NAND的4ms擦除速度远比NOR的5s快。

(4)大多数写入操作需要先进行擦除操作。

(5)NAND的擦除单元更小,相应的擦除电路更少。

(6)NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。

此外,NAND的使用比NOR的使用复杂的多。在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD.

使用NOR器件时所需要的MTD要相对少一些,许多厂商都提供用于NOR器件的更高级软件,这其中包括M-SySTem的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian和Intel等厂商所采用。

TC58DDM82A1XBJ5在多媒体手机中的应用

在多媒体手机中,TC58DDM82A1XBJ5主要用来存储图片、声音文件等数据量较大的文件。

TC58DDM82A1XBJ5是Toshiba公司生产的256MbitsNANDEEPROM.工作电压为2.7V~3.6V或者1.65V~1.95V.

存储结构为528bytes×32pages×2048blocks.Page的大小为528Bytes,Block的大小为(16K+512)Bytes.

2.1  引脚排列和功能

NANDFlash采用高度复用的访问接口,该接口既作地址总线,又作数据总线和指令输入接口。NANDFlash的的接口引脚主要分三类:数据引脚,控制引脚,状态引脚。TC58DDM82A1XBJ5的数据引脚为8位,即I/O1~I/O8,用来输入/输出地址,数据和指令。有一个状态引脚(RY/BY)用来表示芯片的状态,当芯片进行数据写入、擦除、随机读取的时候,其输出电平为高,表明芯片正忙,否则输出低电平。/WP引脚用来禁止获允许对芯片进行写入操作。当其为低电平时禁止写操作,反之允许写操作。控制引脚有6个,见引脚定义。

2.2  TC58DDM82A1与AD6528的连接

AD6528是AnalogDevicesInc.生产的Hermes系列GSM/GPRS处理器。AD6528采用DSP+MCU的双核结构,其中MCU采用的是ARM7,DSP部分选用了ADI自己的ADSP-218xDSP核。

2.3  TC58DDM82A1的操作方式

TC58DDM82A1的地址输入、命令输入、数据输入输出都是通过CLE、ALE、CE、WE、RE、RST、PRE1/PRE2引脚控制。控制逻辑如表1所示:

表1 逻辑表


*1:/WP=0,则禁止TC58DDM82A1的Program和Erase操作TC58DDM82A1的各种工作模式,如读、复位、编程等,都是通过命令字来进行控制的。



2.4  TC58DDM82A1的时序分析及驱动程序

可知,第一个周期,CLE信号有效时通过IO口向命令寄存器发送命令00H.此时NANDFlash处于写状态,因此WE有效,RE无效。发送命令后,接着发送要读的地址,该操作将占用WE的3个周期。注意,此时发送的是地址信息,因此CLE为低,而ALE为高电平。当信息发送完毕后,不能立刻读取数据,因为芯片此时处于BUSY(忙)状态,需要等待2~20ms.之后,才能开始真正的数据读取。此时WE为高电平而处于无效状态,同时CE片选信号也始终为低以表明选中该芯片。

完成ReadMode(1)的伪码如下:

ReadMode1_Func(Cmd, Addr)

{

RE=1;

ALE = 0 ;

CLE = 1 ;

WE = 0 ;

CE=0;

SendCmd(Cmd); // 向NAND 发送操作命令,此例中应该是00H

WE = 1 ; / / NAND 取走命令

CE = 1 ;

CLE=0; // 发送命令结束

ALE=1; // 开始发送起始地址

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

{

WE = 0 ;

CE=0;

SendAddr(Addr);

WE=1; // 取走指令

CE=1;

} // 发送完所有地址

CE=1;

WE = 1 ;

ALE = 0 ;

Delay(2);

while(BUSY)

Wait; // 判断等待状态是否结束

RE=0;

CE=0;

ReadData(Buf); // 读取数据到buffer

}

2.5  NANDFlashDiver的特殊功能

NANDFlash的访问是串行的,比较类似硬盘的存储方式。NANDFlash必须有Driver的支持才能在手机使用。Driver除了提供对NANDFlash的Read,Program,Erase外,还应该提供以下基本的功能:

BadBlockManagement

WearLevelingTreatment

ECC(ErrorCorrectCode)

NANDFlash是通过Driver分配的逻辑地址来进行访问的。BadBlockManagement对坏块不分配逻辑地址,这样会形成连续的逻辑地址。WearLevelingTreatment避免对某一区域进行大量的读写操作,这样就会延长NANDFlash的使用时间。ECC主要完成读写过程中的纠错,但是ECC只能对1bit的数据进行纠错。

3  结语

在多媒体手机中NANDFlash主要用来存储多媒体数据(图片、语音文件等)。在实际应用中不会对NANDFlash进行频繁的写入和擦除操作,而且多媒体数据对数据的完整性要求也不是很高,但是多媒体数据的数据量较大。这些特征决定了使用NANDFlash来存储多媒体数据是十分恰当的,这也正是业界的通行做法。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭