AT45DB161D 16Mbit,SPI接口DateFlash存储器
Density |
16M |
I/O Pins |
8 |
Interface Type |
SPI |
Page Size (Bytes) |
528 |
Vcc (V) |
2.5, 2.7 |
Pb-Free Packages |
TSOP 28 MLF (VDFN) 8 SOIC (208mil) 8 |
16M bit, 2.7-Volt Only Serial-Interface Flash with two SRAM Data Buffers
The AT45DB161D is a 2.5-volt or 2.7-volt, serial-interface sequential access Flash memory ideally suited for a wide variety of digital voice-, image-, program code- and data-storage applications. The AT45DB161D supports RapidS serial interface for applications requiring very high speed operations. RapidS serial interface is SPI com- patible for frequencies up to 66 MHz. Its 17,301,504 bits of memory are organized as 4,096 pages of 512 bytes or 528 bytes each. In addition to the main memory, the AT45DB161D also contains two SRAM buffers of 512/528 bytes each. The buffers allow the receiving of data while a page in the main Memory is being reprogrammed, as well as writing a continuous data stream. EEPROM emulation (bit or byte alterabil- ity) is easily handled with a self-contained three step read-modify-write operation. Unlike conventional Flash memories that are accessed randomly with multiple
在目前所有的非易失性存储器(PROM、EPROM、EEPROM和Flash)中,唯有Flash存储器几乎拥有现今讲究个性化的用户所需的所有特点,它具有掉电数据不丢失、快速数据存取速度、电可擦除、容量大、在线可编程、价格低廉以及足够多的擦除、容量大、在线可编程、价格低廉以及足够多的擦写次数(一百万次)和较高的可靠性等诸多优点,因而已为新一代嵌入式应用(如数字相机和MP3播放机)的首选存储器。现在FLASH的成本已低于PROM/EPROM,可以肯定,它将很快占邻PROM/EPROM市场,MASK(掩膜)ROM尽管在大指生产时具备一定的价格优势,但其升级不便的弱点将随着今后FLASH成本的进一步降低,而使得MASK ROM的前景并不乐观。爱特梅尔的高速, 低电压的串行Flash存储器系列提供兼容用于串行EEPROM的SPI接口。这就允许最终用户可以把他们的板子上的小容量的串行EEPRO灵活的更新为大容量的串行Flash,而不需要改动电路板的布局。串行Flash的应用非常多,包括个人计算机添加卡、图形卡, 和NIC 卡(网络接口卡) 。串行Flash也被许多卡驱动器制造厂商用来代替标准并行Flash,通过减少ASIC的引脚数以降低整体的成本。爱特梅尔的串行Flash的容量从512 Kbits到4Mbits 。
AT45DB161D 特性 :
- Single 2.5V - 3.6V or 2.7V - 3.6V Supply
- RapidS Serial Interface: 66 MHz Maximum Clock Frequency
– SPI Compatible Modes 0 and 3
- User Configurable Page Size
– 512 Bytes per Page
– 528 Bytes per Page
- Page Program Operation
– Intelligent Programming Operation
– 4,096 Pages (512/528 Bytes/Page) Main Memory
- Flexible Erase Options
– Page Erase (512 Bytes)
– Block Erase (4 Kbytes)
– Sector Erase (128 Kbytes)
– Chip Erase (16 Mbits)
- Two SRAM Data Buffers (512/528 Bytes)
– Allows Receiving of Data while Reprogramming the Flash Array
- Continuous Read Capability through Entire Array
– Ideal for Code Shadowing Applications
- Low-power Dissipation
– 7 mA Active Read Current Typical
– 25 μA Standby Current Typical
– 9 μA Deep Power Down Typical
- Hardware and Software Data Protection Features
– Individual Sector
- Sector Lockdown for Secure Code and Data Storage
– Individual Sector
- Security: 128-byte Security Register
– 64-byte User Programmable Space
– Unique 64-byte Device Identifier
- JEDEC Standard Manufacturer and Device ID Read
- 100,000 Program/Erase Cycles Per Page Minimum
- Data Retention – 20 Years
- Industrial Temperature Range
- Green (Pb/Halide-free/RoHS Compliant) Packaging Options
ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D 的内部结构如图所示。
ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D 有2048页(每页264字节)内存(Flash Memory,也叫主存Main Memory)和两具Buffer(每个Buffer为264字节的SRAM)组成。ATMEL 爱特梅尔串行FLASH 存储器 AT45DB16 1D 数据可以直接写入闪存,也可以选写入Buffer,然后再将Buffer的数据整个复制到闪存的某一天,也可以在闪存正处于编程时(页编程时间典型值7ms)将数据写入Buffer。
ATMEL 爱特梅尔串行FLASH 存储器AT45DB161D 操作命令介绍
对AT45DB161D的操作一共有18条命令,表1所列为AT45DB161D的操作命令集。其中:下表为 ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D 的操作命令集
读主存 |
52H |
rrr |
PA10~PA0 |
BA8~BA0 |
32个× |
读Buffer1 |
54H |
×××× |
11个× |
BFA8~BFA0 |
8个× |
读Buffer2 |
56H |
×××× |
11个× |
BFA8~BFA0 |
8个× |
主存传送到Buffer1 |
53H |
rrrr |
PA10~PA0 |
9个× |
主存传送到Buffer2 |
55H |
rrrr |
PA10~PA0 |
9个× |
主存与Buffer1比较 |
60H |
rrrr |
PA10~PA0 |
9个× |
主存与Buffer2比较 |
61H |
rrrr |
PA10~PA0 |
9个× |
写Buffer1 |
84H |
×××× |
11个× |
BFA8~BFA0 |
写Buffer2 |
87H |
×××× |
11个× |
BFA8~BFA0 |
带擦除的Buffer1传送到存 |
83H |
rrrr |
PA10~PA0 |
9个× |
带擦除的Buffer2传送到主存 |
86H |
rrrr |
PA10~PA0 |
9个× |
不带擦除的Buffer1传送到主存 |
88H |
rrrr |
PA10~PA0 |
9个× |
不带擦除的Buffer2传送到主存 |
89H |
rrrr |
PA10~PA0 |
9个× |
Buffer1为缓冲对主存编程 |
82H |
rrrr |
PA10~PA0 |
BA8~BA0 |
Buffer2为缓冲对主存编程 |
85H |
rrrr |
PA10~PA0 |
BA8~BA0 |
Buffer1为缓冲自动重编程 |
28H |
rrrr |
PA10~PA0 |
9个× |
Buffer2为缓冲自动重编程 |
59H |
rrrr |
PA10~PA0 |
9个× |
读状态寄存器 |
57H |
- r为保留位,AD45D041 用0代替,容量更大的器件一般可能会用到;
- ×为无关位(0或1均可,为了占时钟位);
- PA10~PA0用来指定页地址,对AD45D041 而言,一共有2048页,占11位;
- BA8~BA0用来指定内字节的起始地址,每页264字节,占9位;
- BFA8~BFA0用来指定缓冲区内字节的起始地址,缓冲区也是264字节;
- 52H~61H、82H-89H分别是用来区别不同操作的命令字。
执行命令时,AD45D041 首先通过SPI串口往Flash发送一连串的数据,然后以命令字开头,除了“读状态寄存器”外,后面还要跟上页地址和页内的字节地址发及一些无关位。“读主存”时,首先需要往Flash发送64bit的命令,即:命令字52(8bit)+4个“r”+页地址(11bit)+页内字节的起始地址(9bit)+32个无关位,发送完这64bit(通常是组合成8个字节)命令后,紧跟着从Flash读数据以可以了(即后面的SCK信号使得数据从SO脚移出),每读出一个字节,字节地址自动加1,如遇到该页的末尾,只要有SCK信号,系统再加到该页的开关处读数据。在整个操作过程中,CS脚始终为“0”;当CS脚回到“1”时,将终止此次操作,SO脚恢复到高阻状态。 主存传送到Bufferx是指将2048页主存中的任何一页(由PA10~PA0决定)的内容复制到缓冲区,发送完32bit命令后,当CS脚由“0”为“1”后,数据的复制才真正开始。 主存与Bufferx的比较主要是看主存中的某一页与缓冲区是否一样,当CS脚回到“1”后,比较才开始进行,比较的结果(是否一样)记录在状态寄存器的bit6中。 把带擦除的Bufferx传送到主存就是将缓冲区的内容复制到主存中的某一页,复制前应将缓冲区的内容复制到主存中的某一页,复制前应将主存中的该页数据全部擦掉,所有这些操作只有等到CS脚回到“1”后才能进行。对于不带擦除的Bufferx传送到主存的操作,在命令执行前,指定的主存页必须已被擦除过。 以Bufferx为缓冲为主存编程就是将“写Bufferx”与“带擦除的Bufferx传送到主存”进行组合。在发送完命令后,写入Flash的数据将被写入到缓冲区内,如果遇到缓冲区末尾,要继续写入的数据又从缓冲区开头写入,直到CS脚由“0”到“1”后,主存中被指定的页的数据被擦除后再将缓冲区的数据整个复制到主存的指定页中。
模式0的“读主存”时序图 4、 ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D 状态寄存器及操作完成指示
一般向Flash发送57H后以可读出状态寄存器(移出时,高位在前),状态寄存器的位定义如表2所列。其中Bit7为“0”表示器件忙,为“1”表示可以接收新的命令;Bit6是比较结果位,为“0”表示主存与缓冲区的数据一样,为“1”时表示最少有一个bit不同;Bit5~Bit3为该系列器件的容量指示位,一共种8种容量,对于AT45DB161D来说,该区域为“011”;Bit2~Bit0未使用。一共蛾6种操作会使器件处于“忙”状态,这6种操作是:
- 主存传送到Bufferx;
- 主存与Bufferx比较;
- 带擦除的Bufferx传送到主存;
- 不带擦除的Bufferx传送到主存;
- Bufferx为缓冲对主存编程;
- Bufferx为缓冲自动重编程。]
这6种操作均需要监视状态寄存器,以便知道操作是否完成。除了监视状态寄存器外,更好的方法是将芯片管脚RDY/BUSY与CPU的某个中断相连,并将中断设置为升沿触发,操作一完成即可触发中断,这样可能节省大量的CPU时间。 5、ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D SPI接口及应用 5.1 SPI接口
串行外围接口一共有4种操作模式,图3为其时序图。这些操作模式决定了传送与接收的时钟相位和极性,换句话说,也就是这些模式决定了利用时钟信号的哪个沿来控制数据传判断的方向。这些模式一般由主机(CPU)来设置。
当CPOL=0时,时钟信号SCK在空闲时为“0”,即模式0和1;
如果CPOL=1,则SCK在空闲时为“1”,即模式2和3;
当CPHA=CPOL时,数据总在时钟信号的上升沿移进Flash,下降沿移出Flash,即模式0和3。
模式3的“读主存”时序图
5.2 SPI接口应用
对于12位的数据采集系统,使用AD公司的Flash集成MCU芯片AduC812可使电路设计更加简单快捷。由于AduC812有一个与I2C兼容的SPI接口,所以与AT45系列的Flash接口只需将相应的管脚相连即可,只不过要将AduC812设为主机,而ATMEL 爱特梅尔串行FLASH 存储器AT45DB161D自然以是从机了。在AduC812中有SPI控制寄存器(SPICON)与SPI数据寄存器(SPIDAT),数据寄存器的使用如同使用RS232的Buffer一样简单,控制寄存器的位定义如表3所列。
现对其各个位定义进行说明:
- ISPI:SPI中断位,在每次传送过错SPIDAT中的数据后,置“1”;
- WCOL:写冲突错误标志位,在写保护状态下编程会导致该位置“1”;
- SPE:SPI允许控制位,为“0”时禁止;
- SPIM:主从模式选择位,为“1”时选择主机;
- CPOL:时钟极性选择,为“0”时,将使CLK在空闲时为低电平;
- CPHA:时钟相位选择,为“0”时,在时钟上升沿被锁存;
- SPR1、SPR0:SPI波特率选择位,BITRATE=Fose/[4,8,32,64]。“00”选择除以4。
5.3 SPI操作模式选择
AT45系列的Flash支持SPI模式0和3,并且在每个CS信号的下降沿,可通过采样时钟信号的状态自动选择操模式。由于在上电或复位时器件将自动进入缺省的模式3,所以使用械比较可靠。在AduC812的应用中,选择模式0和3对“写”Flash没有差别,但在“读”Flash时,选择模式0会使从Flash读出的数据总缺少一个bit,这可能是模式0中数据有效的时间比较靠后的缘故.上图分别是模式0和模式3的“读主存”时序图,由时序图可以看出:模式0中数据的有效时间明显比模式3的有效时间靠后半个时钟周期。 下表为 ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D 状态寄存器的位定义
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
RDY/BUSY |
COMP |
0 |
1 |
1 |
× |
× |
× |
下表为 ATMEL 爱特梅尔串行FLASH 存储器 AT45DB161D SPI控制寄存器的位定义
Bit7 |
Bit6 |
Bit5 |
Bit4 |
Bit3 |
Bit2 |
Bit1 |
Bit0 |
ISPI |
WOOL |
SPE |
SPIM |
CPOL |
CPHA |
SPR1 |
SPR0 |
6、AT45DB161D Pin Configurations管脚定义:
AT45DB161D 订货型号:
AT45DB161D 技术支持:
- ATMEL 爱特梅尔Flash 存储器AT45DB161D 数据手册DataSheet 下载. PDF(PDF 文件格式完整版)
- 串行Flash 产品选型指南( Excel 文档格式)
- ATMEL 爱特梅尔公司全线产品目录. pdf
- Programmer Support for Serial Flash Devices. pdf (Other, 8 pages, revision C, updated 4/08)
- MicroLeadFrame Packages Pad Landing Recommendations (15 pages, revision B, updated 09/06). pdf
This application note provides PCB designers with a set of guidelines for successful board mounting of Atmel's DataFlash memories housed in the MicroLeadFrame (MLF) package.
- AN-4: Using Atmel's DataFlash (30 pages, updated 11/02) . pdf
Atmel's DataFlash is a new Flash family designed specifically for data storage applications. This Application Note describes this family.
- DataFlash Binary Page Size (2 pages, revision A, updated 5/08) . pdf
Factory Configured DataFlash Binary Page Size options