第4章 常见QSPI Flash型号介绍
市面上能看到的QSPI Flash,型号多得让人眼花。但说实话,真正在工业产品和消费电子里大量铺货的,翻来覆去就那么几个系列。
我个人习惯,选型时先看两个指标:容量和电压。然后才是速度、封装。这里介绍几个我打交道最多的型号,也是你迟早会遇到的。
4.1 W25Q系列——绕不开的“国民级”芯片
华邦的W25Q系列,基本上是QSPI Flash的代名词。我做过的项目里,十个有七八个用的它。为什么?性价比高,资料全,而且兼容性极好。
常用的型号有:
- W25Q64FV:64Mbit(8MB),3.3V供电,最常见。
- W25Q128JV:128Mbit(16MB),目前主流容量。
- W25Q256JV:256Mbit(32MB),注意这个型号进入4字节地址模式。
它的指令集几乎成了行业标准。你想想看,后来出的很多Flash,指令集都和W25Q系列高度相似。我建议你先把W25Q系列的指令集吃透,其他型号上手会快很多。
4.2 MX25L系列——万能的“替代选项”
旺宏的MX25L系列,市场份额也很大。它的特色是:和W25Q系列的引脚基本兼容,但某些时序参数略有不同。我在项目中遇到过这种事,板子画好了,W25Q缺货,临时换成MX25L,改几行初始化代码就能跑。
几个核心型号:
- MX25L6436F:64Mbit,3.3V,和W25Q64FV基本对标。
- MX25L12835F:128Mbit,注意有些批次支持1.8V供电。
- MX25L25645G:256Mbit,支持DTR模式。
两者的区别主要在ID寄存器的值和状态寄存器的某些位定义。移植时,我习惯把ID读取和状态寄存器配置做成宏定义,换型号只用改头文件。
4.3 其他常见型号一览
除了上面两个大家族,还有一些型号在特定领域很常见:
| 型号 | 厂商 | 容量 | 特点 |
|---|---|---|---|
| GD25Q64C | 兆易创新 | 64Mbit | 国产物料,和W25Q高度兼容,近年用的多 |
| S25FL128S | Cypress(英飞凌) | 128Mbit | 支持1.8V/3.3V双电压,车规级应用常见 |
| N25Q128A | 美光 | 128Mbit | 老型号,但部分工控存量项目还在用 |
| MT25QL128ABA | 美光 | 128Mbit | 新系列,支持DTR,性能更强 |
GD25系列现在是国产替代的主力。我去年有个项目就全部换成了GD25Q64C,代码几乎没改,成本降了一截。
4.4 核心参数对比——别被“兼容”两个字骗了
厂家都说自己的Flash“兼容W25Q”,可实际用起来,坑都在细节里。我给你列一张对比表,初始化配置时重点关注这些:
| 参数 | W25Q64FV | MX25L6436F | GD25Q64C |
|---|---|---|---|
| JEDEC ID | 0xEF4017 | 0xC22017 | 0xC86017 |
| 状态寄存器1复位值 | 0x00 | 0x00 | 0x00 |
| Quad使能位(QE) | 状态寄存器2的bit1 | 状态寄存器2的bit6 | 状态寄存器2的bit1 |
| 读ID指令 | 0x9F | 0x9F | 0x9F |
| 写使能指令 | 0x06 | 0x06 | 0x06 |
| 快速读Quad指令 | 0xEB | 0xEB | 0xEB |
你看,ID肯定不同。QE位位置居然不一样!这意味什么?如果你在MX25L上用W25Q的QE配置代码,Quad模式根本使能不了。我曾经因为这个问题查了一整天,最后发现是寄存器位搞混了。
4.5 选型时我给新人的建议
说白了,选哪个型号,主要看你的产品定位和供应链情况:
- 原型验证阶段:无脑用W25Q64JV或W25Q128JV。资料最多,遇到问题网上都能搜到。
- 国产化需求:优先看GD25Q64C/GD25Q128C,兼容性好,原厂支持也不错。
- 高可靠性/车规:考虑Cypress的S25FL系列,或者旺宏的车规级MX25L系列。
- 大容量(256Mbit以上):注意地址模式切换,W25Q256和MX25L256都需要在初始化时进入4字节地址模式。
最后提一点:不管选什么型号,初始化代码的第一件事,一定是读JEDEC ID。确认ID正确了,才进行后面的配置。这是防止硬件和软件不匹配的最笨、也最有效的方法。