大容量NAND?Flash?TC58DVG02A1F

时间:2023-08-03 07:29:11 其他范文 收藏本文 下载本文

大容量NAND?Flash?TC58DVG02A1F(精选6篇)由网友“鱼籽酱”投稿提供,以下是小编为大家准备的大容量NAND?Flash?TC58DVG02A1F,供大家参考借鉴,希望可以帮助到有需要的朋友。

大容量NAND?Flash?TC58DVG02A1F

篇1:大容量NAND Flash TC58DVG02A1F

大容量NAND Flash TC58DVG02A1FT00在嵌入式系统中的应用

摘要:随着嵌入式系统产品的发展,对存储设备的要求也日益增强。文章以东芝的NANDE2PROM器件TC58DVG02A1F00为例,阐述了NANDFlash的基本结构和使用方法,对比了NAND和NORFlash的异同,介绍了容量NANDFlash在嵌入式系统中的应用方法,以及如何在Linux操作系统中加入对NANDFlash的支持。

关键词:嵌入式NANDFlashLinux内核TC58DVG02A1F00

1NAND和NORflash

目前市场上的flash从结构上大体可以分为AND、NAND、NOR和DiNOR等几种。其中NOR和DiNOR的特点为相对电压低、随机读取快、功耗低、稳定性高,而NAND和AND的特点为容量大、回写速度快、芯片面积小。现在,NOR和NANDFLASH的应用最为广泛,在CompactFlash、SecureDigital、PCCards、MMC存储卡以及USB闪盘存储器市场都占用较大的份额。

NOR的特点是可在芯片内执行(XIP,eXecuteInPlace),这样应该程序可以直接在flash内存内运行,不必再把代码读到系统RAM中。NOR的'传输效率很高,但写入和探险速度较低。而NAND结构能提供极高的单元密度,并且写入和擦除的速度也很快,是高数据存储密度的最佳选择。这两种结构性能上的异同步如下:

*NOR的读速度比NAND稍快一些。

*NAND的写入速度比NOR快很多。

*NAND的擦除速度远比NOR快。

*NAND的擦除单元更小,相应的擦除电路也更加简单。

*NAND闪存中每个块的最大擦写次数量否万次,而NOR的擦写次数是十万次。

此外,NAND的实际应用方式要比NOR复杂得多。NOR可以直接使用,并在上面直接运行代码。而NAND需要I/O接口,因此使用时需要驱动程序。不过当今流行的操作系统对NANDFlash都有支持,如风河(拥有VxWorks系统)、微软(拥有WinCE系统)等公司都采用了TrueFFS驱动,此外,Linux内核也提供了对NANDFlash的支持。

2大容量存储器TC58DCG02A1FT00

2.1引脚排列和功能

TC58DVG02A1FT00是Toshiba公司生产的1Gbit(128M×8Bit)CMOSNANDE2PROM,它的工作电压为3.3V,内部存储结构为528bytes×32pages×8192blocks。而大小为528字节,块大小为(16k+512)字节。其管脚排列如图1所示。各主要引脚如下:

I/O1~I/O8:8个I/O口;

CE:片选信号,低电平有效;

WE:写使能信号,低电平有效;

RE:读使能信号,低电平有效;

CLE:命令使能信号;

ALE:地址使能信号;

WP:写保护信号,低电平有效;

RY/BY:高电平时为READY信号,低电平时为BUSY信号。

2.2与ARM处理器的连接

当前嵌入式领域的主流处理器当属ARM。图2是以ARM7处理器为例给出的NANDFlash与ARM处理器的一般连接方法。如前所述,与NORFlash不同,NANDFlash需要驱动程序才能正常工作。

图中PB4,PB5,PB6是ARM处理器的GPIO口,可用来控制NANDFlash的片选信号。CS1是处理器的片选信号,低电平有效。IORD、IOWR分别是处理器的读、写信号,低电平有效。写保护信号在本电路中没有连接。

2.3具体操作

地址输入,命令输入以及数据的输入输出,都是通过NANDFlash的CLE、ALE、CE、WE、RE引脚控制的。具体方式如表1所列。

表1逻辑表

CLEALECEWERE命令输入100时钟上升沿1数据输入000时钟上升沿1地址输入010时钟上升沿1串行数据输出0001时钟下降沿待机状态XX1XX

NANDFlash芯片的各种工作模式,如读、复位、编程等,都是通过命令字来进行控制的。部分命令如表2所列。

表2命令表

第一周期(Hex)第二周期(Hex)串行数据输入80无读模式100无读模式201无读模式350无复位FF无自动编程(真)10无自动编程(假)11无自动块删除60D0状态读取170无状态读取271无ID读取190无ID读取291无

串行数据输入的命令80表示向芯片的IO8、IO7、IO6、IO5、IO4、IO3、IO2、IO1口发送0x80,此时除IO8为1外,其余IO口均为低电平。

2.4时序分析及驱动程序

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

这段时序的伪代码如下:

Read_func(cmd,addr)

{

RE=1;

ALE=0;

CLE=1;

WE=0;

CE=0;

Send_cmd(cmd);//发送命令,由参数决定,这里为00

WE=1;//上升沿取走命令

CE=1;

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

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

For(i=0;i<4;i++)

{

WE=0;

CE=0;

Send_add(addr);//发送地址

WE=1;/上升沿取走地址

CE=1;

}

//所有数据发送结束,等待读取数据

CE=0;

WE=1;

ALE=0;

Delay(2ms);

While(BUSY)

Wait;//如果还忙则继续等待

Read_data(buf);//开始读取数据

}

3Linux系统对NANDFlash的支持

Linux操作系统虽然已经支持NANDFlash,但要使用NANDFlash设备,还必须先对内核进行设置方法如下:

(1)在/usr/src/(内核路径名)目录中输入makemenuconfig命令,再打开主菜单,进入MemoryTechnologyDevices(MTD)选项,选中MTD支持。

(2)进入NANDFlashDeviceDrivers选项,NAND设备进行配置。不过此时对NAND的支持仅限于Linux内核自带的驱劝程序,没有包含本文介绍的Toshiba芯片,为此需要对Linux内核进行修改,方法如下:

(1)修改内核代码的drivers.in文件,添加下面一行:

dep-tristate'ToshibaNANDDeviceSupport'CONFIG-MTD-TOSHIBA$CONFIG-MTD

其中CONFIG-MTD-TOSHIBA是该设备的名称,将在Makefile文件中用到。

$CONFIG-MTD的意思是只有选有$CONFIG-MTD时,该菜单才会出现,即依赖于$CONFIG-MTD选项。宋,Toshiba的NAND设备将被加入Linux系统内核菜单中。

(2)修改相应的Makefile文件,以便编译内核时能加入该设备的驱动程序。

obj-$(CONFIG-MTD-TOSHIBA)+=toshiba.o

此行语句的意思是如果选择了该设备,编译内核时加入toshiba.o(假设驱动程序是toshiba.o),反之不编译进内核。

篇2:NAND flash文件系统Unix系统

目前flash的文件系统比较多,用的比较多的就是JFFS2文件系统,基于NOR flash上的JFFS2文件系统可以说算是比较成熟了,支持NAND flash的JFFS2也已经发布了。源代码可以到 www.linux-mtd.infradead.org 上面下载。但是在我的 测试过程 中,在nand flash

目前flash的文件系统比较多,用的比较多的就是JFFS2文件系统。基于NOR flash上的JFFS2文件系统可以说算是比较成熟了,支持NAND flash的JFFS2也已经发布了。源代码可以到www.linux-mtd.infradead.org上面下载。但是在我的测试过程中,在nand flash上挂接的JFFS2文件系统很不稳定,经常有CRC错误产生。特别是进行写操作的时候,每次复位都会产生CRC错误,可以说支持NAND flash的JFFS2文件系统目前还不成熟。而YAFFS文件系统则是专门针对NAND flash的,源代码可以到

www.aleph1.co.uk/yaffs/上下载。在测试过程中稳定性能比JFFS2文件系统要稳定的多,而且mount分区的时间也比JFFS2文件系统少的多。用JFFS2 mount一个2m的文件系统大约需要1s。下面分别介绍在uclinux下面使用JFFS2和YAFFS文件系统。

1、JFFS2

到www.linux-mtd.infradead.org上面下载最新的MTD和JFFS2压缩包。压缩包里面还有有关的内核补丁和一些MTD的相关工具。主要的补丁就是ilookup-2.4.23.patch,因为最新的MTD驱动中要用到一个ilookup函数。打完补丁、更新了MTD驱动和JFFS2文件系统之后就开始写自己nand flash驱动了。如果不想把JFFS2作为根文件系统的话,还需要修改MTD_BLOCK_MAJOR。驱动可以参考里面的例子,最简单的就是参考spia.c。

写驱动主要工作是定义flash分区结构、定义flash读写地址、写控制flash的**_hwcontrol函数。具体的操作要看所用的nand flash的芯片资料。相对NOR flash来说驱动要简单多了。:)

改完之后再配置

Memory Technology Devices(MTD)下

CONFIG_MTD=Y

CONFIG_MTD_DEBUG=Y

CONFIG_MTD_DEBUG_VERBOSE=3

CONFIG_MTD_PARTITIONS=Y

CONFIG_MTD_CHAR=Y

CONFIG_MTD_BLOCK=Y

NAND Flash Device Drivers下

CONFIG_MTD_NAND=Y

定义自己的驱动文件

File systems下

CONFIG_JFFS2_FS=Y

CONFIG_JFFS2_FS_DEBUG=2

CONFIG_JFFS2_FS_NAND=y /*这个是新加的*/

在uClinux v1.3.4 Configuration下

Flash Tools下

CONFIG_USER_MTDUTILS=Y

CONFIG_USER_MTDUTILS_ERASE=Y

CONFIG_USER_MTDUTILS_ERASEALL=Y

CONFIG_USER_MTDUTILS_MKFSJFFS2=Y

最后就是辛苦了调试工作了,

:(MTD驱动调试完之后,就可以在上面挂接JFFS2文件系统了。参看flash分区情况:cat /proc/mtd,擦除分区:eraseall /dev/mtd*.例如把第一个分区mount到/mnt目录下面:

先:eraseall /dev/mtd0

然后:mount -t jffs2 /dev/mtdblock0 /mnt

2、YAFFS

YAFFS意义为'yet another flash file system',也是一个开源的文件系统。YAFFS是目前为止唯一一个专门为NAND flash设计的文件系统,具有很好的可移植性,能够在linux,uclinux,和wince

下面运行。

在www.aleph1.co.uk/yaffs/上下载源代码。压缩包里面也包含YAFFS的说明文档。YAFFS文件系统的源文件就devextras.h,yaffs_eclearcase/“ target=”_blank" >cc.c,yaffs_ecc.h,yaffs_guts.c,yaffs_guts.h,yaffs_mtdif.h,yaffs_mtdif.c和yportenv.h

另外需要配置的宏:CONFIG_YAFFS_FS 和CONFIG_YAFFS_MTD_ENABLED,就是配置在mtd上面挂接YAFFS,其它还有一些辅助配置需要时也可以配置。

在fs目录下面建一个yaffs目录,把以上说的文件考里面去,新建一个makefile:

O_TARGET := yaffs.o

obj-y := yaffs_fs.o yaffs_guts.o yaffs_mtdif.o yaffs_ecc.o

obj-m := $(O_TARGET)

include $(TOPDIR)/Rules.make

接下来就是改fs目录下面config.in和makefile,在配置YAFFS的时候,把YAFFS连接进去。

如果像前面一样已经把NAND MTD驱动调好了,加YAFFS就很简单了。因为YAFFS是自己做ECC校验的,所以要把MTD驱动里面的ECC去掉。在驱动里面改成this->eccmode = NAND_ECC_NONE就可以了。

另外YAFFS是用mkyaffs来擦除flash,所以在mtd-utils中加上mkyaffs.c,一起编译进去。

最后就是编译了,呵呵。中间会有一些警告没有关系的,就是写没有用的变量和函数,不过话说回来YAFFS的代码写的确实不太规范。当然它的性能确实没话说。有兴趣的可以试一下。

原文转自:www.ltesting.net

篇3:C8051F的超大容量Flash存储器扩展

C8051F的超大容量Flash存储器扩展

摘要:NAND结构Flash数据存储器件是超大容量数据存储的理想选择,当前被广泛应用于U盘、MP3和数码相机的数据存储。本文对该类型Flash的基本操作进行研究并对实际应用系统给予验证,揭示了NAND结构Flash的操作规律。

关键词:NAND Flash 数据存储 C8051F

引 言

大容量数据存储是单片机应用系统的瓶颈,受到容量、功耗、寻址方式的约束。突破容量限制,可以很大程度上扩展和提高应用系统的总体功能。Sumsung公司的NAND结构Flash存储器件是一款性价比很高的超大容量数据存储器件,在MP3、U盘、数码相机和PDA中有广泛的应用,且市场占有份额逐年加大。用该器件作为各种单片机尤其是嵌入式系统的数据存储器,可以完美地解决容量限制,实现灵活操作,势必成为数据存储的主流方向。

(本网网收集整理)

1 器件介绍

NAND结构Flash是Sumsung公司隆重推出并着力开发的新一代数据存储器件,电源电压1.7~3.6V,体积小,功耗低,容量最大可达1GB,按页进行读写,按块擦除,通过I/O口分时复用作为命令/地址/数据。本次应用开发的是NAND结构16MB的K9F2808UOB,其它大容量的器件只比该型号送出的地址多了几字节,操作指令和时序相同。具体结构说明如图1所示。

由图1可知,该器件由1K个块(block)组成,每个块有32页,每页有528字节,这528字节分成A、B、C三个区。对每一页的寻址需要通过I/O口送出三个地址,第二、三行地址(A9~A23)指明寻址到某一页,第一列地址指明寻址到页的指定区中某一字节。对页的分区命令如表1所列。

表1 起始指针位置与区域关系对照表

命  令 指针位置/字节 区    域 00H 0~255 阵列第一伴(A) 01H 256~511 阵列第二半(B) 50H 512~527 剩余阵列(C)

由表1可以看出,00H、01H、50H只是选区指针。选定区的内部寻址是由第一个列地址完成的,A0~A7可以最大寻址256字节。

2 应用举例

在开发便携式心电信号采集监视仪中,K9F2808被用做心电采样数据存储器。MCU采用美国Cygnal公司的SoC增强型单片机C8051F020,内部RAM共有4352字节,I/O支持双向操作等。Flash的命令引脚要接到端口1上去,端口3是命令/地址/数据的复用形式。显然这里的数据是并行的,因此操作速度很快,达到了读页 1.2ns,写页200μs。图2给出了芯片的接口电路图。由于篇幅所限,图3只给出写页的命令时序,并对相关的指令代码做简要说明。

在写页之前,MCU的`RAM中就应该存有采样来的528字节的数据。写操作时,先指出写开始地址。这由选区命令和第一个列地址来共同指定,以后在写页时就可以忽略不写。此处为了最大限度存储数据,开始地址定为A区的00H。为了指定这个地址,必须在送出命令80H之前送出选区命令00H,同时地址A0~A7置为0。紧跟在80H之后送出三个地址,第一个列地址已经是00H,第二、三页地址只要指定A9~A23就可以了。随后连续送出528个数据字节,为了把数据从Flash的数据寄存器写入对应存储单元,接下来再写入命令10H。经过约500μs的物理写入,就可以进行状态查询了。写入命令字70H后,从Flash的I/O0位就可以读出操作结果标志。在执行主代码之前,需要对单片机进行初始化和定义操作子函数。详细的写入程序清单请参看本刊网站收集整理。

图3

3 小 结

以上操作代码成功实现了对Sumsung公司NAND结构Flash的页写入,其它基本操作只要在写页的基础上进行修改即可。在使用该器件时要注意:①所选单片机最好是高速的,内部RAM要大,端口支持实时双向输入输出;②由于该Flash的操作时序是ns级,所以在调试时要注意指令的安排顺序和有选择地加入空操作指令,以满足其精确的时序要求;③对于实施信号检测采样的各种工业应用,本文的大容量Flash可圆满实现各种基本操作。

篇4:C8051F的超大容量Flash存储器扩展

C8051F的超大容量Flash存储器扩展

摘要:NAND结构Flash数据存储器件是超大容量数据存储的理想选择,当前被广泛应用于U盘、MP3和数码相机的数据存储。本文对该类型Flash的基本操作进行研究并对实际应用系统给予验证,揭示了NAND结构Flash的操作规律。

关键词:NAND Flash 数据存储 C8051F

引 言

大容量数据存储是单片机应用系统的瓶颈,受到容量、功耗、寻址方式的约束。突破容量限制,可以很大程度上扩展和提高应用系统的'总体功能。Sumsung公司的NAND结构Flash存储器件是一款性价比很高的超大容量数据存储器件,在MP3、U盘、数码相机和PDA中有广泛的应用,且市场占有份额逐年加大。用该器件作为各种单片机尤其是嵌入式系统的数据存储器,可以完美地解决容量限制,实现灵活操作,势必成为数据存储的主流方向。

1 器件介绍

NAND结构Flash是Sumsung公司隆重推出并着力开发的新一代数据存储器件,电源电压1.7~3.6V,体积小,功耗低,容量最大可达1GB,按页进行读写,按块擦除,通过I/O口分时复用作为命令/地址/数据。本次应用开发的是NAND结构16MB的K9F2808UOB,其它大容量的器件只比该型号送出的地址多了几字节,操作指令和时序相同。具体结构说明如图1所示。

由图1可知,该器件由1K个块(block)组成,每个块有32页,每页有528字节,这528字节分成A、B、C三个区。对每一页的寻址需要通过I/O口送出三个地址,第二、三行地址(A9~A23)指明寻址到某一页,第一列地址指明寻址到页的指定区中某一字节。对页的分区命令如表1所列。

表1 起始指针位置与区域关系对照表

命  令 指针位置/字节 区    域 00H 0~255 阵列第一伴(A) 01H 256~511 阵列第二半(B) 50H 512~527 剩余阵列(C)

由表1可以看出,00H、01H、50H只是选区指针。选定区的内部寻址是由第一个列地址完成的,A0~A7可以最大寻址256字节。

2 应用举例

在开发便携式心电信号采集监视仪中,K9F2808被用做心电采样数据存储器。MCU采用美国Cygnal公司的SoC增强型单片机C8051F020,内部RAM共有4352字节,I/O支持双向操作等。Flash的命令引脚要接到端口1上去,端口3是命令/地址/数据的复用形式。显然这里的数据是并行的,因此操作速度很快,达到了读页 1.2ns,写页200μs。图2给出了芯片的接口电路图。由于篇幅所限,图3只给出写页的命令时序,并对相关的指令代码做简要说明。

在写页之前,MCU的RAM中就应该存有采样来的528字节的数据。写操作时,先指出写开始地址。这由选区命令和第一个列地址来共同指定,以后在写页时就可以忽略不写。此处为了最大限度存储数据,开始地址定为A区的00H。为了指定这个地址,必须在送出命令80H之前送出选区命令00H,同时地址A0~A7置为0。紧跟在80H之后送出三个地址,第一个列地址已经是00H,第二、三页地址只要指定A9~A23就

[1] [2]

篇5:大容量Flash型AT91系列ARM核微控制器

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

摘要:主要介绍美国Atmel公司最新推出的基于ARM7TDMI核的AT91FR40162微控制器的体系结构及功能特性。AT91FR40162是对AT91R40008增加了16Mbit的Flash存储器后形成的最终产品。本文对AT91FR40162新增的Flash存储器以及AT91 Flash Uploader软件作重点介绍。

关键词:AT91FR40162 AT91R40008 SRAM Flash 微控制器

引 言

AT91FR40162是美国Atmel公司生产的AT91系列微控制器中的一员,具有ARM7TDMI核、大容量Flash存储器以及片内SRAM和外围。这种微控制器的特点是高性能--32位RISC体系结构、高密度--16位指令集、低功耗以及实时性,扩充的Flash存储器还增加了开发者使用的灵活性。除此以外,大量的内部分组寄存器加速了对异常的处理过程,从而使其更适合于实时控制的`应用。8级基于向量的优先级中断控制器和外围数据控制器PDC大大增强了实时器件的性能。此器件适用于开发工业自动化系统、MP3、销售终端、GPS接收机以及无线网络产品等对功耗敏感且要求具有实时性的产品。AT91FR40162微控制器的特点是在一个121-ball BGA封装中集成了256 KB的片内SRAM和16 Mbit的Flash存储器。它为许多计算密集的嵌入式控制应用领域提供了功能强大、使用灵活且性价比高的解决方案,同时还可以帮助用户减小PCB尺寸和系统成本。Flash存储器可以通过JTAG/ICE接口或者厂家编写的Flash Uploader软件进行编程,从而使AT91FR40162适合于在系统可编程应用。

1 功能框图及产品特点

AT91FR40162的功能框图如 图1所示。

AT91FR40162的主要特点是:ARM7TDMI处理器核、256 KB的片内SRAM和1024 K字的16位Flash存储器、完全可编程的外部总线接口EBI、具有8个优先级且可以独立屏蔽的向量中断控制器、32个可编程的I/O口线、3通道的16位定时器/计数器、2个通用同步/异步收发器USART、可编程的看门狗定时器、先进的省电特性、完全静态的操作、2.7~ 3.6 V的I/O工作范围和1.65~1.95 V的内核工作范围、-40~85℃的运行温度范围以及121-ball 10 mm×10 mm×1.2 mm BGA封装(球的直径为0.8 mm)。

2 体系结构

AT91FR40162是由Atmel公司的AT91R40008 ARM/Thumb微控制器和1个AT49BV1604A/1614A 16Mbit Flash存储器集成的121-ball BGA封装器件。除了Flash存储器使能信号以外的所有地址、数据和控制信号都是内部互连的。

AT91R40008体系结构包括2条主要总线:先进的系统总线ASB和先进的外围总线APB。ASB被设计为最佳性能,由存储控制器控制。ARM7TDMI通过ASB与片内32位存储器、外部总线接口EBI和AMBA桥进行接口。AMBA桥驱动APB,APB被设计用于访问片内外围并且进行了低功耗优化。

AT91FR40162将ARM7TDMI处理器的ICE端口接到一些

[1] [2] [3] [4] [5] [6]

篇6:大容量Flash型AT91系列ARM核微控制器

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

摘要:主要介绍美国Atmel公司最新推出的基于ARM7TDMI核的AT91FR40162微控制器的体系结构及功能特性。AT91FR40162是对AT91R40008增加了16Mbit的Flash存储器后形成的最终产品。本文对AT91FR40162新增的Flash存储器以及AT91FlashUploader软件作重点介绍。

关键词:AT91FR40162AT91R40008SRAMFlash微控制器

引言

AT91FR40162是美国Atmel公司生产的AT91系列微控制器中的一员,具有ARM7TDMI核、大容量Flash存储器以及片内SRAM和外围。这种微控制器的特点是高性能--32位RISC体系结构、高密度--16位指令集、低功耗以及实时性,扩充的Flash存储器还增加了开发者使用的灵活性。除此以外,大量的内部分组寄存器加速了对异常的处理过程,从而使其更适合于实时控制的应用。8级基于向量的优先级中断控制器和外围数据控制器PDC大大增强了实时器件的性能。此器件适用于开发工业自动化系统、MP3、销售终端、GPS接收机以及无线网络产品等对功耗敏感且要求具有实时性的产品。AT91FR40162微控制器的特点是在一个121-ballBGA封装中集成了256KB的片内SRAM和16Mbit的Flash存储器。它为许多计算密集的嵌入式控制应用领域提供了功能强大、使用灵活且性价比高的解决方案,同时还可以帮助用户减小PCB尺寸和系统成本。Flash存储器可以通过JTAG/ICE接口或者厂家编写的FlashUploader软件进行编程,从而使AT91FR40162适合于在系统可编程应用。

1功能框图及产品特点

AT91FR40162的功能框图如图1所示。

AT91FR40162的主要特点是:ARM7TDMI处理器核、256KB的片内SRAM和1024K字的16位Flash存储器、完全可编程的外部总线接口EBI、具有8个优先级且可以独立屏蔽的向量中断控制器、32个可编程的I/O口线、3通道的16位定时器/计数器、2个通用同步/异步收发器USART、可编程的看门狗定时器、先进的省电特性、完全静态的操作、2.7~3.6V的I/O工作范围和1.65~1.95V的内核工作范围、-40~85℃的运行温度范围以及121-ball10mm×10mm×1.2mmBGA封装(球的直径为0.8mm)。

2体系结构

AT91FR40162是由Atmel公司的AT91R40008ARM/Thumb微控制器和1个AT49BV1604A/1614A16MbitFlash存储器集成的121-ballBGA封装器件。除了Flash存储器使能信号以外的所有地址、数据和控制信号都是内部互连的。

AT91R40008体系结构包括2条主要总线:先进的系统总线ASB和先进的外围总线APB。ASB被设计为最佳性能,由存储控制器控制。ARM7TDMI通过ASB与片内32位存储器、外部总线接口EBI和AMBA桥进行接口。AMBA桥驱动APB,APB被设计用于访问片内外围并且进行了低功耗优化。

AT91FR40162将ARM7TDMI处理器的ICE端口接到一些专用的引脚上,从而为目标调试提供了完整、低价且易用的调试解决方案。

2.1存储器

AT91FR40162嵌入了256KB的内部SRAM。这个内部存储器是单周期访问的,它直接与32位数据总线相连。这样通过使用微控制器的ARM指令集在66MHz下可以提供60MIPS的最高性能,同时降低了系统功耗。AT91FR40162以拥有1个外部总线接口EBI为特性,它用于连接外部存储器和专用外围设备。EBI支持8或16位器件并且可以使用2个8位器件来仿真1个16位器件。EBI执行早读协议,与标准的存储器接口相比,能够提供更快的存储器访问速度。AT91FR40162嵌入了1个由1024K个16位字组成的.Flash存储器,通过EBI可以访问它。Flash的主要功能是作为程序存储器。1条16位的Thumb指令可以在1个访问周期从Flash存储器被加载。分离的MCU和Flash复位输入(NRST和NRSTF)是为了得到最大的系统灵活性,方便用户自由地根据应用选择复位操作。AT91FR40162集成了一个叫作AT91FlashUploader的驻留引导软件。AT91FlashUploader软件能够向Flash存储器加载应用软件。

2.2外围

AT91FR40162集成了多个外围,它们被分成2类:系统外围和用户外围。所有的片内外围都可以通过AMBA桥接受32位的访问。外围寄存器由控制寄存器、模式寄存器、数据寄存器、状态寄存器和使能/禁止/状态寄存器组成。外围数据控制器PDC在片内USART和片内或片外的存储器之间传输数据,并且无需处理器的介入。最重要的一点是,PDC消除了数据传输中断的额外开销,从而在不需要重新编程起始地址的情况下可以连续传输高达64KB的数据。这样不仅增加了微控制器的性能,而且降低了功耗。

(1)系统外围

外部总线接口(EBI)通过1条8位或16位数据总线控制外部存储器或外部设备,它通过APB被编程。每一条芯片选择口线有它自己的编程寄存器。省电模块(PS)实现空闲模式(ARM7TDMI核时钟停止直到有下一个中断),并且允许用户根据应用需求调整微控制器的功耗(由独立的外围时钟控制)。先进的中断控制器AIC控制来自内部外围的中断源和4个外部中断口线(包括FIQ),从而为ARM7TDMI提供中断或/和外部中断请求。它通过集成1个8优先级中断控制器以及使用自动向量特性,降低了中断延迟时间。并行输入/输出控制器PIO控制高达32条I/O口线。它使用户可以选择特定的引脚作为片内外围的输入输出,或者作为通用的输入/输出信号。可以编程PIO控制器来检测每条线上的信号发生变化引起的中断。看门狗定时器WD用于防止当软件进入死锁陷阱时产生系统锁定。特殊功能SF模块集成了芯片ID、复位状态和保护寄存器。

(2)用户外围

2个独立配置的USART可以高波特率进行同步或异步通信。每一个USART还包含1个超时寄存器和1个时间确保(TimeGuard)寄存器,从而方便了2个专用外围数据控制器PDC通道的使用。

3通道16位的定时器/计数器TC是高度可编程的,它支持捕获或波形模式。每一个TC通道可以被编程为测量或生成不同类型的波形,并且可以检测和控制2个输入/输出信号。TC有3个外部时钟信号。

3AT91FR40162性能概述

AT91FR40162主要由AT91R40008和16Mbit的Flash存储器组成。因此AT91FR40162的许多性能与AT91R40008是一样的。

(1)电源

AT91R40008微控制器有2种类型的供电引脚:

◇VDDCORE引脚,它为内核提供电源(包括ARM7TDMI、嵌入的存储器和外围);

◇VDDIO引脚,它为I/O线提供电源。

一个独立的I/O电源允许灵活地进行调整以适应外部元件的信号电平。

(2)输入/输出

AT91FR40162的I/O引脚所接受的电平以VDDIO的供电为限。复位以后,微控制器的外围I/O初始化成输入以提供给用户最大的灵活性。在每个应用阶段,微控制器的输入最好保持在有效的逻辑电平,以降低功耗。

(3)主时钟

如果MCKI引脚由1个外部源提供,那么AT91FR40162则为一个完全静态的设计,并工作于主时钟MCK(MasterClock)下。

主时钟还在引脚MCKO上作为器件的输出,这个引脚与一个通用I/O线复用。当NRST处于活动状态并且发生复位后,MCKO有效并输出MCK信号的映像。必须编程PIO控制器来使用这个引脚作为标准I/O线。

(4)复位

复位操作将使用户接口寄存器恢复其缺省状态(在每一个外围的用户接口中定义),并强制ARM7TDMI从地址0执行对下一条指令的取指操作。除了程序计数器之外的其它ARM7TDMI寄存器则没有定义复位状态。

(5)NRST引脚

NRST是低电平激活的输入引脚。它被异步激活,但是从复位退出是与MCK内部同步的。MCKI上出现的信号必须在NRST上升沿之前最少10个时钟周期内有效,以确保操作的正确性。第1个取指操作出现在NRST上升沿之后的80个时钟周期。

(6)看门狗定时器复位

看门狗定时器可以被编程用来产生1个内部复位。在这种情况下的复位操作与激活NRST引脚有同样的效果,但是引脚BMS和NTRI不被采样。引导模式和三态模式不被更新。如果NRST引脚被激活并且看门狗定时器触发内部复位,那么NRST引脚具有优先权。

(7)仿真功能

◇三态模式

AT91FR40162微控制器提供了1个用于调试目的的三态模式。它使能仿真探头与目标板连接,而不必先从目标板焊下器件。在三态模式下,AT91R40008微控制器的所有输出引脚驱动器都是禁止的。在三态模式下,提供通过外部引脚对Flash的直接访问。这就使得在装配板子之前可以使用传统的Flash编程器对Flash进行编程。为了进入三态模式,NTRI引脚必须在NRST上升沿之前的最后10个时钟周期内保持低电平。对于正常的操作,NTRI引脚必须通过1个高达400kΩ的电阻复位为高电平。NTRI与I/O线P21和USART1串行数据传输线TXD1多路复用。

◇JTAG/ICE调试

JTAG/ICE端口支持ARM标准的嵌入式在线仿真。引脚TDI、TDO、TCK和TMS专门用于这种调试功能,并且可以通过外部ICE接口与一个主机相连。在ICE调试模式下,ARM7TDMI核以非JTAG芯片ID作为响应来标识微控制器。这一点不完全符合IEEE1149.1标准。

(8)存储控制器

ARM7TDMI处理器的地址空间为4GB。存储控制器对内部的32位地址总线进行译码并定义了3种地址空间:

◇位于最低4MB的内部存储器空间;

◇中间的地址空间为EBI控制的外部设备(存储器或外围)所保留;

◇位于最高4MB的内部外围空间。

不论在哪一个地址空间,ARM7TDMI只运行于小端模式。

◇内部存储器

AT91FR40162微控制器集成了内部SRAM。所有的内部存储器都是32位宽,并且支持字节(8位)、半字(16位)和字(32位)访问,且这些访问都是单周期的。内部SRAM支持Thumb和ARM两种取指方式,并且内部存储器可以存储比ARM指令多1倍的Thumb指令。AT91FR40162微控制器集成了1个256KB的SRAM存储体。这个存储体映射到地址0x0(重映射命令后),并且允许通过软件修改0x0到0x20之间的ARM7TDMI异常向量。把SRAM放置在片内并使用32位的数据总线带宽增加了微控制器的性能,降低了系统功耗。32位总线与16位相比带宽增加,从而提高了使用ARM指令集和数据处理的效率,这是对ARM7TDMI先进性能的最佳使用。能够在256KB的SRAM中动态地更新应用软件是AT91FR40162的另一特性。

◇引导模式选择

ARM复位向量在地址0x0。NRST口线被释放后,ARM7TDMI执行存储于这个地址的指令。这就意味着复位之后这个地址必须映射到非易失的存储器中。NRST上升沿之前的10个时钟周期期间BMS引脚上的输入用来选择引导存储器的类型,如表1所列。如果嵌入的Flash存储器用作引导存储器,BMS输入必须被外部拉低,并且NCS0必须在外部与NCS7连接。

表1引导模式选择

BMS引导存储器1NCS0上的外部8位存储器0NCS0上的外部16位寄存器

引脚BMS与I/O线P24复用。复位以后,P24可以与任何标准的PIO线一样被编程。

◇Flash存储器

16Mbit的Flash存储器由1048576个16位字组成。Flash存储器通过EBI进行16位字寻址。它使用地址线A1~A20。

除了Flash存储器使能信号以外,所有的地址、数据和控制信号都是内部互连的。用户应当把Flash存储器使能信号(NCSF)和1个EBI上低电平有效的片选信号相连接。如果Flash存储器作为引导存储器使用,那么必须使用NCS0;同时BMS必须被外部拉低,以使处理器在复位后可以执行正确的16位取指操作。

引导时,必须为EBI配置正确的标准等待状态数目。例如,当微控制器运行于66Hz时,需要5个标准等待状态。

用户必须确保所有的VDDIO、VDDCORE和所有的GND引脚通过最短的路线连接到各自的电源。Flash存储器在读模式下加电。命令序列用于将此器件置于其它的操作模式下,例如编程和擦除。

为了增加灵活性而提供的分离的Flash存储器复位输入引脚(NRSTF),使能复位操作以适应具体应用。当这个输入为逻辑高电平时,存储器处于它的标准操作模式;当这个输入为逻辑低电平时,暂停当前的存储器操作并使它的输出置于高阻状态。

Flash存储器的一个特性是它采用数据查询来检测一个编程周期的结束。当处于编程周期时,一个试图读取最后一个写入字的操作在I/O7上返回写入数据的补码值。开漏NBUSY输出引脚提供另一种检测编程周期或擦除周期是否结束的方法。当处于编程或擦除周期时,这个引脚被拉低,这个周期结束以后引脚恢复高电平。使用1个翻转位提供了检测编程或擦除周期是否结束的第3种方法。

Flash存储器被分为2个存储区(plane)。当从一个存储区执行读操作时,在另一个存储区可以同时执行编程或擦除功能。这一特性使得在执行读操作之前不需要系统等待一个编程或擦除周期的完成,从而增强了系统的性能。

为了方便擦除操作,Flash存储器被分成了39个扇区。为了进一步增强器件灵活性,还提供了擦除挂起特性。这一特性使得擦除周期被挂起一段不确定的时间,并允许用户执行从同一个存储区内任何一个其它扇区的读数据操作或向其写数据的操作。如果所读的数据在另一个存储区,则不需要挂起擦除周期。

此器件具有保护存储在任一扇区中的数据不被破坏的能力。一旦对于某个扇区的数据保护被使能,那么,当输入电平处于地和VDDIO之间时,那个扇区的数据不能被改变。

1个可选的VPP引脚用于增加编程/擦除次数。

以6字节命令序列进入的单脉冲编程模式(SinglePulseProgramMode)允许器件使用写控制线上的单脉冲直接被写入。通过器件掉电或者使NRSTF引脚为低电平并至少保持50ns,然后将其恢复为VDDIO,退出单脉冲编程模式。

以下硬件特性保护Flash存储器,避免其不小心被编程:

◇VDDIO敏感--如果VDDIO低于1.8V(典型情况),编程功能被禁止;

◇VDDIO上电延迟--一旦VDDIO到达VDDIO的敏感电平,器件将自动地在编程之前超时10ms(典型情况);

◇编程禁止--保持OE为低、CE为高或WE为高中的任意一个,将禁止编程周期;

◇噪声滤波--出现于WE或CE输入上的低于15ns(典型情况)的脉冲将不会启动编程周期。

4AT91FlashUploader软件

所有基于Flash的AT91器件都配备一个叫作AT91FlashUploader的预编程软件,它驻留在嵌入的Flash存储器的第1个扇区。FlashUploader允许通过串口向嵌入的Flash编程。FlashUploader可以使用任一个片内USART。FlashUploader的运行环境如图2所示。

(1)FlashUploader操作

FlashUploader软件需要使用嵌入的Flash存储器作为引导存储器,还需要为MCKI提供1个有效的时钟。复位以后,FlashUploader立即复制软件本身到内部的SRAM并跳转到那里。随后的操作将只需要这个存储器资源。所执行的外部访问只是编程嵌入的Flash存储器。

开始以后,处理器初始化2个USART的RXD引脚的PIO输入变化中断。中断出现时,启动1个定时器/计数器通道;当在RXD线上检测到下一个输入变化时,则停止这个定时器/计数器通道。这就解释了如何测量第1个字符长度,以及如何通过计算器件主时钟和实际通信时的波特率速度之间的比率来初始化USART。然后,编程系统便可以按照编程Flash器件所规定的协议发送命令和数据。为了最低限度地降低FlashUploader被擦除和电源被关闭的危险,最后才由编程系统来擦除和编程Flash的第1个扇区。当FlashUploader从第1个扇区被擦除时,如果新的最终应用程序还没有被编程并且目标系统的电源被关闭,那么,将导致一个不可恢复的错误,并且AT91FR40162不能再通过使用FlashUploader被重新编程。

(2)编程系统

Atmel公司提供了一个免费的HostLoader软件,运行于Windows95或Windows98操作系统下的IBMPC兼容机上。可以从Atmel网站下载此软件,并且只需要1根串行电缆线来连接主机和目标机。可以选择使用COM1或COM2实行通信,同时串行链路的速度被限制为115200baud。由于串行链路速度是配置瓶颈,因此,Flash编程每1MB需要持续110s。

通过使用一个快速的编程系统可以减少编程时间。AT91评估板可以使一个串行链路运行到500K位/s,并且可以匹配Flash所允许的最快编程速度。例如,当字编程成为瓶颈时,编程速度可以达到40s/MB。

结束语

随着后PC时代的进入,嵌入式系统已经无所不在。手机、汽车、航空航天以及军事装备等各个领域都能看到嵌入式系统的身影;而微控制器则正是嵌入式系统的核心部件。AT91FR40162是Atmel公司AT91系列微控制器中的一种,这一系列的微控制器是低功耗、32位性能和16位系统价位的最佳组合。AT91FR40162在AT91R40008的基础上增加了16Mbit的Flash存储器,Flash存储器的可编程性为用户使用该芯片提供了更大的灵活性。AT91FR40162为嵌入式应用提供了又一种可选的性价比较高的微控制器。

公司工业用地的申请报告

工业用地的动态平衡研究

计算机统考试题

常见的数字电路笔试题目

数字电路试题及答案

电子技术面试题

数字电路笔试题目

统考计算机试题及答案

全国物流师第二次统考试题

电子类的简历

大容量NAND?Flash?TC58DVG02A1F
《大容量NAND?Flash?TC58DVG02A1F.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【大容量NAND?Flash?TC58DVG02A1F(精选6篇)】相关文章:

工业用地申请书2022-06-22

电装笔试题目小结2023-09-09

会议记录的定义、作用、特点和类型2022-07-23

嵌入式软硬件开发应届毕业生个人简历2022-05-02

冷却水循环系统设计中应注意哪些问题?2023-02-11

面试题你的座右铭是什么2023-10-05

计算机与网络英语词汇(N1)2023-05-18

硬盘的作文400字2022-09-19

一份比较全的PHP笔试题2024-02-25

ARM7系统中实现CF卡存储的文件系统设计2023-07-16

点击下载本文文档