接着上一篇文章,由于W25Q32芯片是一个存储器芯片,先对这个芯片有关存储器的一些概念进行解读。
一、存储器相关知识
1、存储器的三个单位:
存储器三个等级:页(Page),扇区(sector),块(block)
2、单位换算关系:
下面给出手册的截图,见图1-1,截图下面我做出总结
图1-1
对于W25Q32,容量为4MB(2的22次方字节)
1页=256字节,该芯片一共有16384(2的14次方)可编程页
1扇区=16页,该芯片一共有1024(2的10次方)可擦扇区
1块=16扇区,该芯片一共有64(2的6次方)可擦块
3、相关指令:
页(Page)程序指令:一次最多可编程256个字节。
扇区(sector)擦除指令:1扇区擦除,即16页一起擦除。
块(block)擦除指令:半块擦除,即128页一起擦除;1块擦除,即256页一起擦除。
整个芯片(Chip)全部擦除指令。
二、W25Q32的寄存器
W25Q32共有2个8位的寄存器,名字分别为Status Register-1,Status Register-2,其中只有10位有用,见图2-1,图2-2
图2-1
图2-2
下面对这10位进行解读
1、BUSY(忙位):
手册截图如图2-3
图2-3
只读位,当执行“页编程”,“扇区擦除” 、“块擦除”、 “芯片擦除”、 “写状态寄存器”指令时,这一位由硬件自动置1,此时除了“读状态寄存器”指令,其它指令都会被忽视。当上述操作结束以后,这一位由硬件自动置0,此时芯片可以接收其它指令。
2、WEL(写使能位):
手册截图如图2-4
图2-4
只读位,当执行写使能指令时,这一位由硬件自动置1。当芯片掉电重启,或者“写禁止“、”“页编程”、“扇区擦除” 、“块擦除”、 “芯片擦除”、 “写状态寄存器”指令后,这一位由硬件自动置0。
3、SEC、TB、BP2、BP1、BP0(块保护):
块保护这部分内容比较多,我先给出手册截图如图2-5
图2-5
对应这部分文字解说有个真值表,见图2-6
图2-6
还需要结合存储器地址分布图,如图2-7
图2-7
由于这个内容很多,我就解读一下怎么看这个表
1、前5列:这个是真值表,数电很熟悉了,不再赘述。
2、第6列表示的是块的编号,第7列表示块的地址范围,第8列表示块的容量大小,第9列表示的是该块在整个芯片的相对位置。
3、以图2-6第二行为例:前5列取值为0 0 0 0 1,表示的是第63块,对应的地址和块容量大小在图2-7对应的最上面,找到63的标号,就可以找到,最后一列Upper表示高位地址,Lower表示低位地址,Top是最顶层地址,Bottom表示最底层地址,分数表示该块容量占了整个芯片的1/64。
4、SRP1, SRP0(状态寄存器保护位):
手册截图如图2-7
图2-7
这部分是真值表的形式,这两位是控制5种状态寄存器的状态:
1、/WP无控制功能 ,状态寄存器可写。
2、/WP = 0,状态寄存器不可写。
3、/WP = 1,状态寄存器可写。
4、必须掉电-上电后,状态寄存器才可写(类似于冷启动)。
5、状态寄存器除了在出厂时被写,后面永久保护不可写,即为一次性编程。
5、QE(Quad SPI模式使能):
手册截图如图2-8
图2-8
QE位是使能之前说的Quad SPI模式。
QE = 0(出厂默认设置),写保护(/WP)和维持(/Hold)引脚才能工作,也就是工作在标准SPI模式或 Dual SPI模式。
QE = 1,表示写保护(/WP)和维持(/Hold)引脚复用为数据引脚,工作在Quad SPI模式。
最后一行有个警告:就是上一篇文章我最后放的PCB原理图,写保护(/WP)和维持(/Hold)引脚直接接VCC了,QE位不能设置为1,即不可编程写该位,只能工作在标准SPI模式或 Dual SPI模式。
3、总结
所有的知识点全部在手册里面,一定要耐心读完英文,牢牢结合手册,这样才能提高阅读文献的能力。
下一篇会讲芯片的指令,根据时序图写程序,并配上完整程序。
不足之处请批评指正,欢迎留言交流,需要完整文档私信我。