提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一、W25QXX
1、基本概念
- W25QXX系列FLASH芯片的容量:
1块=16扇区;1扇区=16页;1页=256字节;
W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的操作。
- W25QXX系列FLASH芯片不同型号的ID
型号 | ID |
---|---|
W25Q80 | 0XEF13 |
W25Q16 | 0XEF14 |
W25Q32 | 0XEF15 |
W25Q64 | 0XEF16 |
W25Q128 | 0XEF17 |
W25Q256 | 0XEF18 |
W25Q512 | 0XEF19 |
- FLASH芯片只能按扇区、块为单位擦除,或者是全片擦除。写可以1~256字节写,一次最多写256字节 。
- W25Q16、W25Q32、W25Q64、W25Q128的内存地址为3字节(3x8=24bit);但是W25Q256和W25Q512的内存空间地址为4字节(4x8=32bit);需要注意:因为这个内存空间地址字节数不同,我们在写W25Q256和W25Q512的驱动时,前面的几种型号芯片程序就无法和这两个芯片的驱动直接兼容,需要修改指令后跟的地址(由原来的三字节改为四字节)才行。
2、芯片引脚介绍与原理图
编号 | 标识 | 功能 |
---|---|---|
1 | /CS | 片选 |
2 | DO | |
3 | /WP | 写保护(低电平有效) |
4 | GND | |
5 | VCC | |
6 | /HOLD | 保持端输入,允许芯片暂停工作(低电平有效) |
7 | CLK | |
8 | DI |
3、SPI工作原理
- 硬件上为4根线。
- 主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。
- 串行移位寄存器通过MOSI信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过 - MISO信号线返回给主机。这样,两个移位寄存器中的内容就被交换。
- 外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。
待更新。。。。。。