美光、飞梭、winbond:
1)支持20years、100000次擦写
2)spi clock polarity and phase modes 0 and 3
3)操作流程大致相同,命令有区别
1、spi
大于512Mbit基本是stacked形式的package。
擦除
命令 | 操作码 | 范围 | 时间(典型) |
---|---|---|---|
4KB SUBSECTOR ERASE | 20h | 4KB 子扇区 | 50ms |
32KB SUBSECTOR ERASE | 52h | 32KB 子扇区 | 100ms |
SECTOR ERASE | D8h | 64KB 扇区 | 150ms |
DIE ERASE | C4h | 整片(512Mb/Die) | 153s(512Mb) |
编程一个扇区:
- WRITE ENABLE (
06h
) → 设置 WEL=1。 - SECTOR ERASE (
D8h
+ 地址) → 擦除目标扇区(等待 FSR.7=1)。 - WRITE ENABLE (
06h
) → 重新使能写操作。 - ENTER 4-BYTE ADDRESS MODE(B7h),切换到 4 字节地址模式(访问 >128Mb 空间)。
- PAGE PROGRAM (
02h
+ 地址 + 数据) → 写入数据(最多 256 字节)。 - 轮询 FSR.7 直至操作完成(=1)。
读取数据:
- QUAD I/O FAST READ (
EBh
+ 地址 + Dummy Cycles) → 启用四线高速读取。 - 连续读取数据(时钟驱动输出)
模式切换:(无需写使能,复位失效)
- ENTER QUAD INPUT/OUTPUT MODE (35h)
- RESET QUAD INPUT/OUTPUT MODE (F5h)
1.1 micro
sector大小为64Kbytes;
支持DTR/STR对应90M/166M时钟
page program buffer 256bytes;
1.2 spansion
sector大小为256Kbytes;
支持66M时钟;
page program buffer 512bytes;
1.3 winbond
2、bpi
2.1 micro
2.2 spansion
x16bpi-256Mb的flash,sector erase时间为0.5s,page progran时间为15us,
单次支持64Bytes的突发写入;
sector大小为1Mbit
3、qspi操作流程
1;上位机发送开始固化使能,使能拉高时清空所有信号量,状态机处于IDLE状态
2;检测到固化使能的下降沿,开始读芯片的ID,命令码为9F,数据长度3字节(manfacturer_id,jedec_id_hi,jedec_id_lo),并发送qspi_start驱动产生QSPI时序,(9FH)
3; 当读芯片的QSPI时序产生完成,qspi_driver驱动层会产生一个qspi_done信号反馈,检测到qspi_done后开始跳转下一个状态,打开写使能(06H)
4;打开写使能的QSPI时序产生完成,检测到qspi_done后开始跳转下一个状态,打开4地址字节模式(B7H)
5; 4字节模式时序发送完成,检测到qspi_done后开始跳转下一个状态,64K数据擦除,因为数据是按页写入,256次page_program才可以完成64K的数据写入,所以无需在每次page_program前都进行一次擦除操作,只需要再开始时擦除一次即可。
6;64K的数据擦除(d8h)需要一定的时间[150us],在此期间我们不能进行写操作,但是读芯片的状态寄存器确是可以随时进行,所以在擦除状态时,我们要一直轮询的去读芯片的状态寄存器(35H,05H)
7; 只有当05H的bit0为0时,才表明擦除状态完成,可以进行写page_program,在page_program前需要再拉高一次写使能(06H)
8; 写使能拉高后,进行page_program。
9;page_program完成后,地址计数器(current_addr)加0x100,因为写入的数据时256字节,然后跳转到下一页数据写入。
10;轮询上述过程,知道地址大于CPU配置的字节长度。
11;补充:查看状态寄存器是一个只读命令,在命令码发送完成后返回回读数据(qspi_read_data)和使能(qspi_read_valid),该使能的产生在qspi_done之前
12;补充:
开始固化 -----> 读芯片ID(9FH) -----> 打开写使能1(06H) -----> 打开4字节模式(B7H) ----->
芯片擦除(D8H) -----> 读擦除状态(35H/05H) -----> 页写入(02H) -----> 查询页写入是否完成(05H) -----> …(轮询)
原文链接:https://blog.youkuaiyun.com/universaldata/article/details/147781984