赞
踩
16Mbit = 2M X 8bit 其中2M分为32个扇区,每个扇区有256页,每页有256byte
addr[20:0] = A20-A0
例如21'h123456处于第18扇区52页86个地址
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
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指令
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。