w25n01g 代码_STM32F405驱动华邦W25N01G简介与demo

关于STM32F405驱动华邦W25N01GVZE1G的简介与驱动代码

W25N01G简介

常用flash可分为NOR flash和NAND flash等。比如华邦(winbond)的W25Qxx系列的flash就是NOR系列的,本篇所讲述的W25N01G就是NAND flash系列的。

通过上图可以看到该flash的驱动方式和最高clk频率。这篇文章主要是基于标准SPI的驱动方式,下面就是此次教程的芯片封装和引脚分配。

引脚分配的说明:

1、/CS(Clip Select) :片选线

2、DO(Serial Data Output(Data Input Output 1)) :串行数据输出线

3、/WP(Write Protect Input (Data Input Output 2)) :写数据保护线

4、GND :地线

5、DI(Serial Data Input(Data Input Output 0)) :串行数据输入线

6、CLK(Serial Clock) :时钟线

7、/Hold(Hold Input (Data Input Output 3)) :数据输入保持线

8、VCC :电源输入

~~下面介绍W25N01G的架构和寻址~~

这部分是重点也是难点!!!

从上面两图可以看出,W25N01G的寻址方式是页地址+列地址(Page Add + Column Add),即下图红框中的部分:

它的列地址大小为2112Byte,由2048Byte的数据缓冲区和64Byte的备用区域(Spare Area)组成。

它的页地址大小1024 x 64 x 2KB,即该flash共有1024个块(Block),每个块包含64页(Page),每页大小为2KB。(对应flash的大小,1024x64x2/1024=128M)

由于NAND Flash在设定上存在坏块,所以就有Spare Area,它被用于标记坏块(bad block)和保存对MainArray中main区的ECC码(Error Checking and Correcting,纠错码)。

W25N01G读写前的必要配置

上图是设备操作流程,其中BUF、ECC-E的状态会影响选择哪种读取数据的方式Continuous Read或是Buffer Read,这在后面的指令码选择会有用。注意上图紫色方框,读写缓冲区是需要一定的时间的!!

W25N01GV为读取操作提供了两种不同的模式,缓冲读取模式(BUF=1)和连续读取模式(BUF

你可能感兴趣的:(w25n01g,代码)