Serial Nor Flash

本文以旺宏 MX25L6433F 芯片为例加以说明,该芯片为64Mb serial Nor flash。理解本文时可能需要对照其datasheet,

一、名词解释

Serial: 相对parallel而言,只有#CE、SCLK、DI、DO、#WP、#HOLD等信号线。

Nor: Not or,或非,与Nand相对的flash的架构,基本结构如下图所示。

二、器件操作

在SCLK上升沿采数据SI,在SCLK下降沿推数据SO。

mode 0:idle时SCLK低电平。mode 3:idle时SCLK高电平。

备注:SPI有4中mode,0~3。 

三、地址映射

另外,1 page = 256 Byte

四、操作命令

1、Read Operation(读)

A、Read Data Bytes (READ)(03h)

操作步骤: #CS拉低,SI上在SCLK的上升沿送进24 bit的任意地址后,SO在CLK的下降沿推出以Byte为单位的data,地址自动增加,只要#CS一直为低,地址直到结束后仍会回到地址0继续推出data。

B、Read at Higher Speed (FAST_READ) Sequence (Command 0Bh)

与Read Data Bytes(03h)的区别在于,在24 bit address之后需要1 byte的dummy cycle,03h的最高速率是fR=50MHz,0Bh的最高速率是fC=133MHz。

C、Dual Read Mode (Command 3Bh)和Quad Read Mode (Command 6Bh)

与FAST_READ(0Bh)的区别在于,3Bh的data从SIO1和SIO0同时推出来,而6Bh的data从SIO0~3同时推出来。下图为DREAD时序图。

D、2 x I/O Read Mode (Command BBh)和4 x I/O Read Mode(Command EBh)

与Dual Read Mode (3Bh)和Quad Read Mode (6Bh)的区别在于,BBh和EBh的24 bit address从SIO0~1或SIO0~3同时送进。另外,EBh支持Performance Enhance Mode。下图为2 x I/O Read时序图。

E、Burst Read

在burst read之前需要设置burst长度,Set Burst Length(C0h或77h)来设置burst长度wrap depth,wrap around指的是到了结束地址后会从开始的地址重新开始。一旦设置了burst长度,今后的read命令都将遵守burst read mode,取消burst read只要重新下Set Burst Length,将data写入1xh即可。

Set Burst Length(C0h或77h)时序图如下:

2、Program Operation(写)

写操作需要WRITE ENABLE (06h)命令将WEL bit置起来,然后PAGE PROGRAM (02h) 将data经过SI信号线写入。由于写的速度是比较慢的,所以在一次写入之后,必须等待,通过WIP bit可以查看写入完成与否。

A、Page Program (PP) (Command 02h)

针对同一个page(256 byte)操作,

情况1: 超出256 byte写入的话,只取最后的256 byte data写入,前面的丢弃。

情况2:24 bit address的[7:0]是page地址,当[7:0]都为0的话,可以写入整个page的data,即256 byte的data;当[7:0]不为0的话,超过该page的data将会回到该page的起始地址写入。

情况3:可以写入小于page边界的data,data最少为1 byte,那就是byte写入了。

B、4 x I/O Page Program (4PP)  (Command 38h)

与Page Program的区别在于,38h的地址和数据通过SIO0~3送入和推出,与4 x I/O Read Mode(Command EBh)相对应。

3、Erase(擦)

在Erase之前必须WREN,SE、BE、BE32K和CE全部需要WREN。

A、Sector Erase (20h)、Block Erase (D8h)和Block Erase 32KB (52h)

sector、Block 64KB和Block 32KB参见地址映射。

B、Chip Erase (CE) (Command 60h or C7h)

五、常见封装

  • SOP8 150mil:150mil指的是body的宽度
  • SOP8 208mil:208mil指的是body的宽度,GigaDevice(兆易创新)喜欢这种描述
  • SOP8 200mil:与SOP8 208mil完全相同,MXIC(旺宏)喜欢这种描述
  • SOIC8 208mil:与SOP8 208mil完全相同,Microchip(微芯)/ Winbond(华邦)喜欢这种描述
  • SOIC8 200mil:与SOP8 208mil完全相同,不常见
  • SOP16 300mil:300mil指的是body的宽度

总结:在SPI Nor Flash中,SOP封装和SOIC封装是一个概念;200MIL和208MIL也是一个概念。

SOP8 200MIL

MXIC(旺宏) MX25V4035F:

SOIC8 200MIL

SOP8 208MIL

GigaDevice(兆易创新) GD25Q16C:

SOIC8 208MIL

Winbond(华邦) W25Q128JV:

3-Byte地址模式和4-Byte地址模式

3-Byte和4-Byte模式,其实就是地址空间不同,对应的空间大小不同

  • 3-Byte空间最大只达到128Mbit(2^{24}\times 8=128Mbit
  • 4-Byte空间最大只达到128Mb(2^{32}\times 8=32Gbit

4-Byte模式的Nor Flash默认兼容3-Byte模式:

https://atta.szlcsc.com/upload/public/pdf/source/20220124/59704EC0BBDC083E3250AF1408E8DD95.pdf

 

总结:

1、Nor flash的read和write(program)的操作都要比Nand flash的操作要简单,对Nor flash的读写操作可以做到byte级别。
2、Nor flash本身还有很多其他操作,本文没有涉及到,需要查看其datasheet。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值