什么是 W25Q128 ?
W25Q128是一款由Winbond(威邦电子)公司生产的闪存存储器芯片,属于串行闪存系列。具体来说,W25Q128是一颗128Mb(兆位)容量的串行闪存芯片,其中"W"代表Winbond,"25"表示该系列产品的家族编号,"Q"表示是串行闪存,而"128"表示存储容量为128Mb。
以下是W25Q128的一些基本特性:
- 容量: 128Mb,即16MB(兆字节)。
- 接口: 串行外围接口(SPI)。
- 工作电压: 2.7V至3.6V。
- 时钟频率: 支持高达104MHz的串行时钟。
- 扇区结构: 分为若干个扇区,每个扇区可擦写和读取。
这种类型的闪存通常用于存储程序代码、数据以及其他需要在系统断电时保持的信息。SPI闪存广泛应用于嵌入式系统、单片机、存储卡、电子设备等领域,因为它具有高速、低功耗、易于集成等优点。
- Flash 是常用的用于储存数据的半导体器件,它具有容量大,可重复擦写、按“扇区/块”擦除、掉电后数据可继续保存的特性。
- Flash 是有一个物理特性:只能写 0 ,不能写 1 ,写 1 靠擦除。
- 不同类型的Flash存储器包括 NOR Flash 和 NAND Flash,它们在结构和应用方面有一些区别。 NOR Flash 通常用于存储代码,而 NAND Flash 更适用于大容量数据存储。
W25Q128 存储架构
-
扇区(Sector): W25Q128通常将存储空间划分为多个扇区,每个扇区的大小通常为4KB。每个扇区都有一个唯一的地址,可以单独进行擦写和擦除操作。
-
块(Block): 扇区可以组合成块,具体块的大小可能是多个扇区的整数倍。擦写和擦除操作通常以块为单位执行。
-
页(Page): 每个扇区通常分为多个页,每页的大小通常为256字节。写入操作通常以页为单位进行,即每次写入的数据不可超过一页的大小。
这种存储架构的分层设计使得存储器在擦写和擦除时可以更加灵活,而不必对整个存储器进行操作。这是为了减少擦写和擦除操作对存储器的寿命产生的影响,因为这两种操作通常是有限次数的。
一般按扇区(
4k
)进行擦除。
可以按 章
--
节
--
页
--
字 进行理解。
W25Q128
常用指令
W25Q128
全部指令非常多,但常用的如下几个指令:
写使能
(06H)
执行页写,扇区擦除,块擦除,片擦除,写状态寄存器等指令前,需要写使能。
拉低
CS
片选
→
发送
06H →
拉高
CS
片选
读状态寄存器(
05H
)
拉低
CS
片选
→
发送
05H→
返回
SR1
的值
→
拉高
CS
片选
读时序(
03H
)
拉低
CS
片选
→
发送
03H→
发送
24
位地址
→
读取数据(
1~n
)
→
拉高
CS
片选
页写时序
(02H)
页写命令最多可以向
FLASH
传输
256
个字节的数据。
拉低
CS
片选
→
发送
02H→
发送
24
位地址
→
发送数据(
1~n
)
→
拉高
CS
片选
扇区擦除时序(
20H
)
写入数据前,检查内存空间是否全部都是
0XFF
,不满足需擦除。
拉低
CS
片选
→
发送
20H→
发送
24
位地址
→
拉高
CS
片选
W25Q128 状态寄存器
W25Q128
一共有
3
个状态寄存器,它们的作用是跟踪芯片的状态。
其中,状态寄存器
1
较为常用。
BUSY
:指示当前的状态,
0
表示空闲,
1
表示忙碌
WEL
:写使能锁定,为
1
时,可以操作页
/
扇
区
/
块。为
0
时,写禁止。
W25Q128
常见操作流程
以下流程省略了拉低
/
拉高片选信号
CS
。
读操作:
擦除扇区:
写操作