1. W25Qxx Flash芯片介绍
Page:256 Bytes
Sector:16 Pages(4KB)
Block:16 Sector(64KB)
1. 存储大小
W25Q80DV 容量为 8M-bit,16 Block,256 Sector,4096 Page
W25Q16 容量为 16M-Bit,32 Block,512 Sector,8192 Page
W25Q32 容量为 32M-Bit,64 Block,1024 Sector,16384 Page
W25Q64 容量为 64M-Bit,128 Block,2048 Sector,32768 Page
W25Q128 容量为 128M-Bit,256 Block,4096 Sector,65536 Page
(以W25Q80DV 为例: 8M-bit = 8 *1024 * 1024 = 4096 * 256 * 8 )
2. 通讯方式
SPI通讯
3. 存储特点
Flash芯片内的数据只能由1变0,不能由0变1。擦除大小最小为4K。
在Flash中,是按照Page进行写数据的,Page(256字节)是写的最小单位,写的起始地址也必须永远是Page的倍数。
4. 引脚
CS:CS为片选管脚,低电平有效。上电之后,在执行一条新的指令之前,必须让/CS管脚先有一个下降沿。
DO(MISO):DO为串行数据输出引脚,在CLK(串行时钟)管脚的下降沿输出数据。
WP:WP为写保护管脚,有效电平为低电平。高电平可读可写,低电平仅仅可读。
DI(MOSI):DI为串行数据输入引脚,数据、地址和命令从DI引脚输入到芯片内部,在CLK(串行时钟)管脚的上升沿捕获捕获数据。
CLK(SLCK):CLK为串行时钟引脚。SPI时钟引脚,为输入输出提供时钟脉冲。
HOLD:HOLD为保持管脚,低电平有效。当CS为低电平,并且把HOLD拉低时,数据输出管脚将保持高阻态,并且会忽略数据输入管脚和时钟管脚上的信号。把HOLD管脚拉高,器件恢复正常工作。
VCC:电源2.7V~3.6V。
GND:地。
5. 工作方式
5.1 SPI数据传输时序
支持SPI数据传输时序模式0(CPOL = 0、CPHA = 0)和模式3(CPOL = 1、CPHA = 1),模式0和模式3主要区别是当SPI主机硬件接口处于空闲状态时,SCLK的电平状态是高电平或者是低电平。对于模式0来说,SCLK处于低电平;对于模式3来说,SCLK处于高电平。不过,在这两种模式下,芯片都是在SCLK的上升沿采集输入数据,下降沿输出数据。
5.2 数据格式
数据格式为数据长度8位大小,先发高位,再发低位
5.3 W25Q64传输速度
在标准模式下支持80M bit/s速度,快速模式下支持160M bit/s速度,高速模式下支持320M bit/s速度。
6. 控制和状态寄存器
通过对“读状态寄存器”指令读出的状态数据可以知道芯片存储器阵列是否可以写入或不可写,或是否处于写保护状态。
通过“写状态寄存器”指令可以配置芯片写保护特征。
7. 工作原理
7.1 操作原理
通过SPI接口,用标准的SPI协议发送相应指令给flash,然后flash根据命令进行各种相关操作。
7.2 常用操作命令
指令名称 | 字节1(CODE) | 字节2 | 字节3 | 字节4 | 字节5 | 字节6 |
写使能 | 06h |
| ||||
写禁能 | 04h |
| ||||
读状态寄存器1 | 05h | (S7~S0) |
| |||
读状态寄存器2 | 35h | (S15~S8) |
| |||
读数据 | 03h | A23~A16 | A15~A8 | A7~A0 | D7~D0 | 直至读完所有 |
写状态寄存器 | 01h | (S7~S0) | (S15~S8) |
| ||
页编程 | 02h | A23~A16 | A15~A8 | A7~A0 | D7~D0 | 直至255个字节 |
块擦除(64K) | D8h | A23~A16 | A15~A8 | A7~A0 |
| |
半块擦除(32K) | 52h | A23~A16 | A15~A8 | A7~A0 |
| |
扇区擦除(4K) | 20h | A23~A16 | A15~A8 | A7~A0 |
| |
芯片擦除 | C7/60h |
| ||||
芯片掉电 | B9h |
| ||||
释放掉电/器件ID | ABh | 伪字节 | 伪字节 | 伪字节 | ID7~ID0 |
|
制造/器件ID | 90h | 伪字节 | 伪字节 | 00h | MF7~MF0 | ID7~ID0 |
JEDEC ID | 9Fh | MF7~MF0 | ID15~ID8 | ID7~ID0 |
|