目录
W25QXX简介
W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景
存储介质:Nor Flash(闪存)
时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)
SPI模式:支持SPI模式0和模式3
存储容量(24位地址):
W25Q40: 4Mbit / 512KByte
W25Q80: 8Mbit / 1MByte
W25Q16: 16Mbit / 2MByte
W25Q32: 32Mbit / 4MByte
W25Q64: 64Mbit / 8MByte
W25Q128: 128Mbit / 16MByte
W25Q256: 256Mbit / 32MByte
注意:W25Q256分为三字节地址模式和四字节地址模式,三字节寻址只能前16M,1大于16M的内存读写需要使用四字节寻址
硬件电路
引脚 | 功能 |
VCC、GND | 电源(2.7~3.6V) |
CS(SS) | SPI片选 |
CLK(SCK) | SPI时钟 |
DI(MOSI) | SPI主机输出从机输入 |
DO(MISO) | SPI主机输入从机输出 |
WP | 写保护 |
HOLD | 数据保持 |
W25Q128框图
W25Q128(W25Q64)将16M(8M)的容量分为256(128)个块(Block),每个块大小为64K(64*1024=65536)字节,每个块又分为16个扇区(Sector),每个扇区4K(4096)个字节。W25Qxx的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。这样我们需要给W25Qxx开辟一个至少4K的缓存区,这样对SRAM要求比较高,要求芯片必须有4K以上SRAM才能很好的操作。
Flash操作注意事项
写入操作时:
- 写入操作前,必须先进行写使能
- 每个数据位只能由1改写为0,不能由0改写为1
- 写入数据前必须先擦除(擦除必须按最小擦除单元进行),擦除后,所有数据位变为1
- 连续写入多字节时,最多写入一页的数据,超过页尾位置的数据&