[芯片笔记] W25Qx芯片的标准SPI读写

目录

1. W25Q16

1.W25Q16功能简介:

2.标准SPI读写W25Q16开发步骤

3. 标准SPI读写详细步骤

     3.1 W25Q16芯片硬件说明

     3.2 通过标准SPI读取开发商的ID和设备ID

     3.3 通过标准SPI擦除-写入-读取

4. W25Qx芯片的实操


1. W25Q16

1.W25Q16功能简介:

       属于nor flash,擦除操作需要的实现较久;

       在写入时,需要先擦除,再写入;

       支持标准SPI、双通道SPI、四通道SPI操作;

       在nor flash内部可以进行程序执行,无需移入单片机的SRAM中。

       分为32块(64KB),每个块又分为16个扇区(4KB);

       一共存储量:32*64K-Byte=2M-Byte;

2.标准SPI读写W25Q16开发步骤

       2.1 W25Q16芯片硬件说明;

       2.2 通过标准SPI读取开发商的ID和设备ID;

       2.3 通过标准SPI擦除-写入-读取;

3. 标准SPI读写详细步骤

     3.1 W25Q16芯片硬件说明

[芯片笔记] W25Qx芯片的标准SPI读写

       CS - 片选

       DO - 数据输出引脚

       WP - 保护引脚,低电平有效

       DI - 数据输入引脚

       CLK – 时钟引脚

       HOLD – 保持或复位引脚,低电平有效

[芯片笔记] W25Qx芯片的标准SPI读写

 

     3.2 通过标准SPI读取开发商的ID和设备ID

[芯片笔记] W25Qx芯片的标准SPI读写

        如上图所示,W25Q16JV的制造商ID为EFH,设备ID为14H。若读取正确,则可以开始下阶段的存储和读数据操作了。

       读取制造商ID和设备ID的命令为90H,如下图所示。

       1.首先将CS引脚拉低

       2.发送90H命令

       3.发送0x000000地址

       4.W25Qx就会返回制造商ID和设备ID

       5.将CS引脚拉高。        

[芯片笔记] W25Qx芯片的标准SPI读写

 

     3.3 通过标准SPI擦除-写入-读取

1. SPI擦除:(在芯片手册9.2章节中)

       SPI的擦除一共有三个:4K扇区擦除(20H)、32K块擦除(52H)、64K块擦除(D8H)、片擦除(C7/60H)

       注意:在擦除操作前,需要使能写使能。

       写使能(60H)

              CS拉低

              发送命令(60H)

              CS拉高

[芯片笔记] W25Qx芯片的标准SPI读写

       4K扇区擦除(20H)

              写使能

              CS拉低

              发送命令(20H)

              发送擦除块地址(24Bit)

              CS拉高

              等待BUSY位

[芯片笔记] W25Qx芯片的标准SPI读写

       32K块擦除(52H)

              写使能

              CS拉低

              发送命令(52H)

              发送擦除块地址(24Bit)

              CS拉高

              等待BUSY位

[芯片笔记] W25Qx芯片的标准SPI读写

       64K块擦除(D8H)

              写使能

              CS拉低

              发送命令(D8H)

              发送擦除块地址(24Bit)

              CS拉高

              等待BUSY位

[芯片笔记] W25Qx芯片的标准SPI读写

       片擦除(C7h / 60h)

              写使能

              CS拉低

              发送命令(C7H/60H)

              CS拉高

              等待BUSY位

[芯片笔记] W25Qx芯片的标准SPI读写

2. 忙(BUSY)位读取:(在芯片手册9.2章节中)

       BUSY位在状态寄存器1中的第1位,在编程、擦除、写状态/安全寄存器时,该位都会置1,直至操作完成后被清0。

[芯片笔记] W25Qx芯片的标准SPI读写

       读状态寄存器1时序图如下图所示

              CS拉低

              发送命令(05H)

              读取Byte(寄存器1的值)

              CS拉高

[芯片笔记] W25Qx芯片的标准SPI读写

3. 写入:(在芯片手册9.2章节中)

       写操作也称编程,其操作命令为02H,时序图如下所示。

              写使能

              CS拉低

              写入操作命令(02H)

              写入编程的起始地址(24Bit)

              存储的8位数据(连续n个)

              CS拉高

              等待BUSY位

       注意:W25Qx的写操作只能一次性连续写256个位置,超过256个位置后,就会从1开始重新覆盖,这种写256操作成为页操作。

[芯片笔记] W25Qx芯片的标准SPI读写

4. 读取:(在芯片手册9.2章节中)

       在使用标准SPI的读操作中,有两种读操作,分别如下图所示。分别为普通读(03H)和快速读(0BH),他们之前的唯一区别为读取速度,普通读最大读取频率可以达到50MHZ;快速读的最大读取频率可以达到133MHZ。

[芯片笔记] W25Qx芯片的标准SPI读写

       普通读操作:

       普通读操作的命令为03H,其读取时序图如下所示

              CS拉低

              发送普通读操作(03H)

              发送读取地址(24Bit)

              读取8位数据(n个)

              CS拉高

[芯片笔记] W25Qx芯片的标准SPI读写

       快速读操作:

       普通读操作的命令为0BH,其读取时序图如下所示

              CS拉低

              发送命令(0BH)

              发送读取地址(24Bit)

              发送8个空时钟

              读取8位数据(n个)

              CS拉高

[芯片笔记] W25Qx芯片的标准SPI读写

4. W25Qx芯片的实操

        见本博客中的        [学习笔记]软件SPI读写W25Qx

上一篇:信息系统建设和服务能力评估CS认证现场审核的新变化


下一篇:Matplotlib Day01 Introduce it