天天看点

笔记18:SPI之 芯片W25Q128简介

一.芯片介绍

1.STM32F407中的W25Q128与MCU连接原理图

笔记18:SPI之 芯片W25Q128简介

2.基本参数介绍

工作电源: 2.7V to 3.6V

存储型矩阵: 一共有65,536页,每页256字节。每次只能写入一页,也就是每次只能写入256个字节。擦除时,只能以16页为最小单位,也就是一个扇区:16*256bits,一次就要擦8KB。

写入时可以以字节为单位写入,但是擦除时只能以扇区为单位擦除。

芯片支持标准的串行外设接口,比如SPI,也支持双IO-SPI或者四IO-SPI。

时钟:SPI clock frequencies of up to 104MHz–标准SPI的时钟高达104MHz。

引脚介绍:

笔记18:SPI之 芯片W25Q128简介

/CS:片选引脚

DO:数据输出引脚

/WP:写保护引脚

DI:数据输出引脚

CLK:时钟输入引脚

/HOLD or /RESET:“暂停引脚”,也就是如果一个从机正在和主机通讯,当另外一个从机需要紧急处理时,当前从机就会保持当前的通讯状态,待另外一个从机紧急任务结束后再继续被中断的工作。

笔记18:SPI之 芯片W25Q128简介

支持 SPI 总线操作模式 0 (0,0) 和 3 (1,1)。当 SPI 总线主机处于待机状态且数据未传输到串行闪存时,模式 0 和模式 3 之间的主要区别与 CLK 信号的正常状态有关。对于模式 0,CLK 信号在 /CS 的下降和上升边缘通常较低。对于模式 3,CLK 信号通常位于 /CS 的下降和上升边缘。

二. FLASH控制指令

FLASH总共有三个状态寄存器

下图是状态寄存器1的标志位介绍:

笔记18:SPI之 芯片W25Q128简介

我们主要关注BUSY位,这个标志位是只读的,当这个标志位为1时,说明FLASH正在进行写入或者擦除操作,此时只会响应读取状态寄存器指令和中断指令,其他的指令会被忽略。

SPI总共有45个指令集,这些指令都有SPI总线控制,这些指令是由片选引脚的下降沿开始,通过SPI总线发出的第一个字节就是我们的指令代码,这个指令代码就是用来揭示进行的操作是读,还是写,还是擦除等等。数据会在时钟的上升沿被采样,采用的是高位MSB先行模式。这些指令的长度不是唯一的,可以是1个字节,也可以是多个字节。这些指令可能也会包含地址,数据,或者一些没有用的无效位。这些指令则会在片选引脚的上升沿结束。所有的读指令会在片选引脚变高后结束,但是读指令或者写入,擦除等指令会在在被锁之后的一段时间后才结束,在这个过程中其他指令会被忽略掉。

具体的指令参考W25Q128芯片资料。

笔记18:SPI之 芯片W25Q128简介
笔记18:SPI之 芯片W25Q128简介