硬件知识储备01_一文看懂W25Qxx系列芯片(W25Q16、W25Q32、W25Q64...)

1、说明

我只是以一个硬件工程师的身份,站在使用者和应用层的角度,来把自己使用这个FLASH芯片过程遇到的问题、以及在这些过程中看其他博主写的资料遇到的困惑,在自己花了一点时间学习整理了这个记录下来,如果有什么纰漏和错误之处,请各位指出,如果有帮助到你,也不要吝啬你的点赞。另外我的知识面有限,以目前的水准写的东西,如果后面发现有不妥的地方,我会及时来更正。
以下内容数据来自华邦的数据手册和自己的总结,对W25Q80、W25Q16、W25Q32、W25Q64、W25Q128、W25Q256、W25Q512均适用。

2、FLASH芯片的厂家有哪些

目前我就接触到了华邦的flash芯片,包括(W25Q80、W25Q16、W25Q32、W25Q64、W25Q128、W25Q256、W25Q512等)。其他的厂家暂时不说明。

3、我在使用这些FLASH芯片时遇到的困惑

3.1、W25QXX系列FLASH的块儿、扇区、页、字节之间的关系到底是啥?

  • 所有W25QXX系列FLASH相同点
    • 不同型号的flash有不同数量的块儿,W25Q16有32块儿,W25Q32有64块儿,以此类推;详细见本文“ 3.2、W25QXX系列FLASH芯片不同型号的相同点和区别是啥?”
    • 1块儿 = 16扇区
      • 1块儿 = 16 * 16 * 256字节(Byte)= 65536Byte = 64KB(65536Byte/1024=64KB)
    • 1扇区 = 16页
      • 1扇区 = 16 * 256(Byte)= 4096Byte = 4KB
    • 1页 = 256字节

3.2、W25QXX系列FLASH芯片不同型号的相同点和区别是啥?

所有芯片相同点:
1、1块=16扇区;1扇区=16页;1页=256字节;
2、 FLASH芯片只能按扇区、块为单位擦除,或者是全片擦除。写可以1~256字节写,一次最多写256字节 。
不同点:
1、W25Q16有32块儿、W25Q32有64块儿、W25Q64有128块儿、W25Q128有256块儿、W25Q256有512块儿、W25Q512有1024块儿;
2、W25Q16、W25Q32、W25Q64、W25Q128的内存地址为3字节(3x8=24bit);但是W25Q256和W25Q512的内存空间地址为4字节(4x8=32bit);需要注意:因为这个内存空间地址字节数不同,我们在写W25Q256和W25Q512的驱动时,前面的几种型号芯片程序就无法和这两个芯片的驱动直接兼容,需要修改指令后跟的地址(由原来的三字节改为四字节)才行。

3.3、W25QXX系列FLASH芯片的容量到底是个啥情况?

  • 不同型号的块儿数量、内存容量、内存空间地址
    • W25Q80有16个块儿,共16*65536 = 1048576 Byte;1048576/1024/1024 = 1MB,寻址空间:0x000000~0x0FFFFF;
    • W25Q16有32个块儿,共32*65536 = 2097152 Byte;2097152/1024/1024 = 2MB,寻址空间:0x000000~0x1FFFFF;
    • W25Q32有64个块儿,共64*65536 = 4194304 Byte;4194304/1024/1024 = 4MB,寻址空间:0x000000~0x3FFFFF;
    • W25Q64有128个块儿,共128*65536 = 8388608 Byte;8388608/1024/1024 = 8MB,寻址空间:0x000000~0x7FFFFF;
    • W25Q128有256块儿,共256*65536 = 16777216 Byte;1677216/1024/1024 = 16MB,寻址空间:0x000000~0xFFFFFF;
    • W25Q256有512块儿,共512*65536 = 33554432 Byte;33554432/1024/1024 = 32MB,寻址空间:0x00000000~0x01FFFFFF;
    • W25Q512有1024块儿,共1024*65536 = 67108864 Byte;67108864/1024/1024 = 64MB,寻址空间:0x00000000~0x03FFFFFF;

3.4、W25QXX系列FLASH芯片不同型号的ID是啥?

  • 特性3
    • W25Q80的芯片ID为:0XEF13
    • W25Q16 的芯片ID为:0XEF14
    • W25Q32 的芯片ID为:0XEF15
    • W25Q64 的芯片ID为:0XEF16
    • W25Q128的芯片ID为:0XEF17
    • W25Q256的芯片ID为:0XEF18
    • W25Q512的芯片ID为:0XEF19

3.5、W25QXX系列FLASH芯片读写操作到底怎么操作?

这里我先留个坑吧,我还没想好怎么把这以系列的写出来还不会显得乱七八糟的。毕竟这篇文章只是说明FLASH芯片的相关只是的对吧哈哈哈。

  • 55
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
1. W25Q80 (8M-bit)、W25Q16 (16M-bit)和W25Q32 (32M-bit)串行闪存为空间、引脚和电源有限的系统提供了存储解决方案。25Q系列提供的灵活性和性能远远超过普通的串行闪存设备。他们是理想的代码隐藏到RAM,执行代码直接从双/四SPI (XIP)和存储声音,文本和数据。设备运行在单一2.7V至3.6V的电源上,电流消耗低至5mA有源,断电1a。所有的设备都提供节省空间的包装。W25Q80/16/32数组被组织成4,096/8,192/16,384个可编程页,每个页有256个字节。多达256字节可以被编程一次使用页程序指令。页面可以按16组(扇区擦除)、128组(32KB块擦除)、256组(64KB块擦除)或整个芯片(芯片擦除)擦除。W25Q80/16/32分别有256/512/1024个可擦除扇区和16/32/64个可擦除块。小的4KB扇区为需要数据和参数存储的应用程序提供了更大的灵活性。(见图2)。W25Q80/16/32支持标准串行外围接口(SPI),和高性能双/四输出以及双/四I/O SPI使用SPI引脚:串行时钟,芯片选择,串行数据I/O0 (DI), I/O1 (DO), I/O2 (/WP),和I/O3 (/HOLD)。SPI时钟频率高达80MHz的支持允许等效时钟率160MHz的双输出和320MHz的四次输出时,使用快速读双/四次输出指令。这些传输速率可与8位和16位并行闪存存储器相媲美。一个保持针,写保护针和可编程写保护,顶部或底部阵列控制,提供进一步的控制灵活性。此外,该设备支持JEDEC标准制造商和设备识别64位唯一序列号。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mi_Story

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值