STM32-W25Q64

一、W25Q64简介:

参考数据手册;

W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景(非易失性存储器(E2PROM ,FLASH),数据掉电不丢失,在掉电后,数据保持不变(XIP就地执行)

存储介质:Nor Flash(闪存)(存储介质:Nor Flash和(Nand Flash);

时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)((双重SPI和四重SPI,MOSI用于发送,MISO用于与接收,MOSI和MISO同时兼具发送和接收的功能,一个时钟下同时发送俩位数据,四重SPI即一个时钟同时发送四位,WP和HOLD不需要时,可以充当数据传输引脚,四个数据同时收发,类似并行模式(串行为一位一位的发送)

存储容量(24位地址):   

W25Q40:   4Mbit / 512KByte;    

W25Q80:   8Mbit / 1MByte ;    

W25Q16:   16Mbit / 2MByte;     

W25Q32:   32Mbit / 4MByte;     

W25Q64:   64Mbit / 8MByte ;   

W25Q128: 128Mbit / 16MByte   

W25Q256: 256Mbit / 32MByte;

使用的SPI串行通信;

使用的是24位地址(2*24/1024/1024最大寻址空间是16MB),三个字节;

二、W225Q64硬件电路:

STM32-W25Q64_第1张图片

引脚定义: cs,片选,CLK时钟线,DI(MOSI),DO(MISO),VCC供电,HOLD就是当需要中断去操作其他设备时候,CS需要会高电平,那么时序就终止了,此时将HOLD置低电平,但是此时CS虽然终止了,但是芯片的时序不会终止,会保持在该状态,当中断结束后,从当前时序继续执行;WP为写保护,GND接地;

*引脚上加横向——,表示低电平有效;

STM32-W25Q64_第2张图片STM32-W25Q64_第3张图片

IO1,IO2,IO3,IO4当作为双重SPI(主从同时输出输入)和四重SPI(将写保护和HOLD中断不使用时,可以当作输出引脚复用)时;

UI是芯片,J1是六口排针;

VCC经过排针标号接到排针6号脚,GND通过标号接到排针3号脚,4个通信线通过排针引出即可;

WP和HOLD直接接电源正极默认高电平,表示不使用(低电平有效);(需要用接到GPIO即可)

C1接在VCC和GND为滤波电容;

D1和R1接在VCC和GND为电源指示器;

三、结构图;

24位地址对应2*24(次方)*1024*1024=16M的寻址空间;

一个地址由三个字节组成;

将16M的寻址空间划分为128块Block,每块是64kb(可以参考STM32基础知识的-存储器映像),这里实际只有8M的空间原因是该型号是8M的;又将每一块分为16个扇区Sector,每个扇区是4kb;之后又将每个扇区划分为16给页page,每页是256Byte;

控制逻辑芯片自动实现,主控芯片把

数据通过SPI协议发送给控制逻辑,控制逻辑自动操作内部电路实现我们需要的功能;

STM32-W25Q64_第4张图片

状态寄存器,获取当前状态;
重要的两位,

BUSY:设备正在执行页编程,页擦除,块擦除,扇区擦除,整个擦除,或者写状态寄存器置1的时候,BUSY位置1,设备忙,会忽略其他指令(除了挂起和读);

WEL:写使能锁存位,执行位写使能后,WEL置1,即在任何时候要写入的时候,都要进行写使能;

配合WP实现硬件写保护;

高电压发生器:配合FLash进行编程,因为Flash的掉电不丢失;

STM32-W25Q64_第5张图片

页地址锁存/计数器

STM32-W25Q64_第6张图片

行字节锁存/计数器

STM32-W25Q64_第7张图片

过程分析:通过SPI发送3个字节地址,一页是256字节,一页内的地址取决于最低的一个字节,其他俩个高字节,对应的是页地址;

前俩个进入的字节会进入到地址锁存计数器,最后一个会进入地址锁存计数器;

前俩个字节通过行解码和写保护确定对哪一页进行操作,最后一个字节通过列解码和256字节页缓存(RAM缓存区),通过指定字节进行对相应地址读写;

RAM缓存器,写入数据时,先将数据放在缓存区中,在时序结束后,芯片将缓存区的数据放在FLASH中永久保存;(因为SPI写入速度很快,Flash写入太慢,而RAM存放速率也很快,但是同一时间写入不能超过256kb,所以缓存区有一条写通过状态寄存器中,给状态寄存器BUSY位置1,表示芯片忙,芯片不会响应新的时序;读取也从缓存区经过)

STM32-W25Q64_第8张图片

四、FLASH读写规则;

写操作时:

每次写入操作前,都要进行写使能;

数据只能由1改成0,不能由0改成1;

每次写入数据前,需要先擦除,擦除后,所有数据变为1;

擦除必须按照最小单元进行擦除;

连续写入多个字节时,一次写入最多不能超过一页的最大值256个字节,否则超出的部分就会从页首进行覆盖;

写入操作结束后,芯片会进入忙状态,不响应新的读写操作;

读取时;直接调用读取时序,无需使能,无需额外操作,没有页限制,读取操作结束后,芯片不会处于忙状态,但是芯片处于忙状态时,不能读取;

五、总结:

1.什么是W25QXX芯片;

2.W25Q64重要参数是(存储介质,时钟频率,存储容量);

3.常见非易失性的存储器有哪些;

4.常见的存储介质有哪些;

5.存储的寻址空间和地址是多少;

6.W25Q64的硬件电路各个引脚的定义;

7.可以理解W25Q64电路图,各部分作用;

8.W25Q64结构图,如何进行地址分配的,如何划分的,每一块有多大;

9.W25Q64结构体各部分都是什么作用;

10.如何实现对FLASH的读写的;

11.FLASH操作注意事项;

你可能感兴趣的:(stm32,嵌入式硬件,单片机)