AM30LV0064D在单片机系统中的典型应用
1 概述
AM30LV0064D是AMD公司生产的一种新型非易失性闪速存储器。或非(NOR)结构的FLASH具有高速的随机存取功能,但成本较高;新的UltraNAND结构的FLASH相对于NOR结构的FLASH,具有价格低,容量特别大的优势,支持对存储器高速地连续存取。谝芯片工作电压范围在2.7~3.6V,特别适用于需要批量存储大量代码或数据的语音、图形、图像处理场合,在便携式移动存储和移动多媒体系统中应用前景广阔。
2 工作原理与命令字设置
AM30LV0064D采用与工业级NAND结构兼容的UltraNAND结构,内部包含1024个存储块(单元容量为8K字节+256字节缓存);存储块中的数据按页存放,每页可存储512字节,还有16字节缓存用作与外部数据交换时的缓冲区,每块共16页。所以,主存储区一共有16 384数据页,相当于64 Mbit的数据存储器。
AM30LV0064D的主要引脚定义:
CE--片选使能输入;
ALE--地址输入使能;
CLE--命令字输入使能;
SE--缓冲区使能输入,低电平有效;
RE--读使能输入,低电平有效;
WE--写使能输入,低电平有效;
WP--写保护输入,低电平有效;
RY/BY--内部空闲/忙信号输出;
I/O7~0--8位数据输入/输出口;
VCC--3.3V核心电源;
VCCQ--I/O口电源;
VSS--地。
AM30LV0064D的读、编程和擦写等操作都可以在3.3V单电源供电状态下进行,同时它提供的VCCQ引脚在接5V时,I/O口可兼容5V电平。AM30LV0064D支持对主存高速地连续存取和编程操作,连续读取数据的时间可小于50ns/字节(随机读取数据的响应时间为7μs,所以连续读取时第一个数据的响应时间也是7μs);对FLASH的编程是以页为单位的,步骤是先写入数据,再执行编程命令,编程速度为200μs/页(平均约400ns/字节);芯片擦除操作以存储块为单位,擦除其中某一块对其它存储块的数据没有影响,擦除时间2ms/存储块,而且还有延缓擦降/得擦除命令,允许用户在必要时暂缓擦除操作,转而处理对其它存储块进行数据读、写、编程等操作;此外,主机可以通过读RY/BY引脚状态的方法了解FLASH内部操作是否已经完成,RY/BY也可用于实现硬件判忙接口。AM30LV0064D还具有写保护功能,这一功能通过将WP引脚设为低电平实现。
所有操作都建立在命令字基础上。对主存操作时,所有命令字都通过芯片的8个I/O引脚写到命令寄存器中,激活状态机进行相应的操作。存储器地址以及数据也从8位I/O脚写入。对存储器地址进行连续操作或对存储块操作时都要先向地址寄存器写入1个起始地址。地址分3次写进去,从低字节开始传送,具体的地址位传送顺序分配。(由于对存储器的读操作分前后2个半页,每半页256字节,在命令字中已经包含了此信息,而编程以页为单位、擦除以块为单位,所以传送的地址位中不含A8)
AM30LV0064D通过片选引脚CE使能,先是CLE和WE信号有效,通过I/O口写入命令字;接着ALE和WE有效,写入数据存取的起始地址。最后根据命令要求,读数据或数据。由于具有多元的控制总线,对应AM30LV0064D的操作方式也是多样的。根据命令字的定义可进行以下操作。
3 应用电路设计
AM30LV0064D的外围电路设计简单。其控制总线包括CE(片选)、CLE(命令字锁存使能)、ALE(地址锁存使能)、WE(写使能)、RE(读使能)、SE(预留区使能)、WP(写保护)等。对于那些具有可编程的I/O口的微控制器或DSP来说,可以直接把引脚与控制线相连。如果没有可编程的I/O口,则需要加一些简单的逻辑控制。下面介绍AM30LV0064D与at89ls8252单片机接口时的一种应用设计电路。由于单片机缺少UltraNAND闪存所需的多元控制总线,在本设计中,采用地址译码的方法增加了控制端口,这部分逻辑可以用1片PLD(可编程逻辑器件)完成。具体接口电路。
以下是PLD内部逻辑设计的源代码:
PORT0=!A14!A13!A12!A11; /*读写数据端口*/
PORT1=!A14!A13!A12!A11; /*CLE写端口*/
PORT2=!A14!A13!A12!A11; /*设置ALE端口*/
PORT3=!A14!A13!A12!A11; /*清ALE端口*/
PORT4=!A14!A13!A12!A11; /*设置SE端口*/
PORT5=!A14!A13!A12!A11; /*清SE端口*/
PORT6=!A14!A13!A12!A11; /*设置WP端口*/
PORT7=!A14!A13!A12!A11; /*清除WP端口*/
PORT8=!A14!A13!A12!A11; /*设置CE1端口*/
PORT9=!A14!A13!A12!A11; /*清除CE1端口*/
PORTA=!A14!A13!A12!A11; /*读RY/BY状态端口*/
PORTB=!A14!A13!A12!A11; /*设置CE2端口*/
PORTC=!A14!A13!A12!A11; /*清除CE2端口*/
/*逻辑方程*/
READY.OE=PORTAREAD;/*Ready只通过PORTA读取*/
READY=RY_BY;
CLE=PORT1;
ALE=WRTIE PORT2#ALE!(WRITE PORT3)#ALE PORT2);
SE=WRITEPORT4#SE!(WRITE PORT5)#SE PORT4;
WP=WRITE
AM30LV0064D 单片机系统 闪速存储器 相关文章:
- 剩余电流保护器单片机系统的抗干扰设计(12-02)
- 单片机系统印刷电路板设计(11-28)
- 51单片机系统应用(11-26)
- 单片机系统硬件抗干扰的常用方法(11-24)
- 如何长进单片机系统的抗扰乱功能(11-24)
- 单片机系统中什么是数据、地址、指令(11-23)