FPGA--FLASH(M25P16芯片)

FLASH(串行 用spi的00或者11模式)

16Mbit = 2M X 8bit    其中2M分为32个扇区,每个扇区有256页,每页有256byte 

addr[20:0] = A20-A0

例如21'h123456处于第18扇区52页86个地址

M25P16芯片

1.信号名称

2.封装(8/16引脚)

3.信号功能描述

serial data output (Q):输出

serial data input (D):输入

serial clock(C):串行时钟线,上升沿采样,下降沿输出。

chip select:片选。输入为高时,输出Q为高阻状态,芯片待机,输入为低时,Q正常输出,芯片处于激活状态。

hold:用来暂停串行通信, 只有在激活状态下,暂停端才能使用,暂停状态下,Q为高阻,D和C都不可用

write protect:写入保护,通过状态机寄存器中BP2,BP1,BP0来决定呗保护区域的值的大小

spi详细内容参考:https://blog.csdn.net/weixin_42509369/article/details/83096349

二、SPI协议

 1.SPI的四种模式

1)00:时钟初始值为0且在上升沿采样(CPOL=0,CPHA=0) 

2)01:时钟初始值为0且在下降沿采样(CPOL=0,CPHA=1)

3)10:时钟初始值为1且在下降沿采样(CPOL=1,CPHA=0)

4)11:时钟初始值为1且在上升沿采样(CPOL=1,CPHA=1)

上面说到flash需要上升沿采样,所以可以选择00和11模式

2.操作命令

1)PP命令(页编程):a. 只有写使能(一个字节)和页编程(四个字节)两条指令同时起作用才能进行编程。

                                       b. 页编程指令可以一次完成256个字节

                                       c. 为了优化时序,建议一个PP指令后面跟尽可能多的字节,而不是使用多个PP指令,每个PP指令后面                                              仅包含几个字节 

2)SE(扇区擦除)指令和BE(整片擦除)指令:页编程是将1变成0的过程,所以进行页编程前需要保证是白片(全为1),所以需要                                                                       擦除指令,擦除指令执行前,需要打开写使能指令。

3)WIP(一个byte) : 监视写循环、编程循环和擦除周期是否完成。WIP=1,还在擦除,WIP=0,擦除完成,无需等到13s。

4)DP指令:深度掉电模式(省电),同时发送RDP和RES会回到待机状态或激活状态。深度掉电模式下,写、编程、擦除指令                      都无效,起到软件保护作用。

5)保护机制:a. 上电复位

                        b. 脉冲数是8的倍数,写、编程、擦除等指令才会执行

3.状态寄存器

1)WEL=1表示打开了写使能

2)状态寄存器写使能失效(SRWD)= 1且写保护位(W杠)=0,进入硬件写保护模式。此时SRWD、BP2、BP1、BP0变为只读,此时写状态寄存器(WRSR)不能改变这四个比特的值。下图为SRWD和W杠的模式。

3)不能直接读WIP信息,但WIP在状态寄存器中,可以通过读状态寄存器(RDSR=0000_0101)指令来获取WIP信息,即下图D输入0000_0101,Q会输出状态寄存器信息,其中第0位是WIP。但第一次读取时,若WIP=1,则可以等待50us,直到WIP=0,说明操作已完成。

4)Read Data Bytes(READ):READ指令后需要跟三个byte的地址(A23-A0),通过拉高S杠来停止READ指令

m25p16仿真模型文件:https://download.csdn.net/download/weixin_42263208/12889963

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值