1. QSPI Flash概述

1.1 什么是QSPI Flash

QSPI Flash,说白了就是「四线 SPI Flash」。

传统 SPI 只有一根数据输入线(MOSI)和一根数据输出线(MISO),一次只能传 1 位数据。QSPI 把数据线扩展到了四根——我习惯叫它 IO0 到 IO3,这样一次就能传 4 位数据。

嗯,这里要注意:QSPI 不光能当普通 SPI 用,还能在某些模式下同时读写四根线。速率一下就上去了。

我在项目中遇到过一块 FPGA 板子,用普通 SPI Flash 加载固件,每次都要等好几秒。后来换成 QSPI Flash,启动时间缩短到 500 毫秒以内。老板当时就问了一句:「你动了什么魔法?」

1.2 核心特点

我总结了几个关键特点,你记住这几点就够了:

  • 四线数据通道:IO0~IO3 四根双向数据线,支持 1-bit、2-bit、4-bit 模式切换
  • 双倍速率:DDR 模式下时钟上升沿和下降沿都采样,带宽直接翻倍
  • 指令精简:读、写、擦除指令比 NAND Flash 简单得多,没有坏块管理
  • 内存映射:支持 XIP(就地执行),CPU 可以直接从 Flash 里取指令跑
  • 多 I/O 模式:从标准 SPI → Dual SPI → Quad SPI,向下兼容

我的一个小经验:你设计 PCB 时,QSPI 的四个数据线最好等长布线。我曾经遇到过信号歪到没法用的案例,最后发现是 IO2 比 IO0 长了 15mm 导致的。

1.3 应用场景

QSPI Flash 到底用在哪儿?说实话,几乎所有需要「快速启动 + 代码存储」的地方,都是它的主场。

应用领域 典型场景 为什么选 QSPI
FPGA 配置 Xilinx、Intel FPGA 上电加载比特流 容量够大、速度够快、引脚少
嵌入式系统 ARM Cortex-M/R/A 系列 BootROM 支持 XIP,直接执行代码
汽车电子 ECU 固件存储、ADAS 启动镜像 工业级温度范围、高可靠性
物联网设备 Wi-Fi/BLE 模组固件升级 低功耗、小封装、引脚少
消费电子 路由器、电视盒子、智能音箱 成本低、容量可从 8MB 到 256MB

你想想看:一个四层 PCB 上,用 6 个引脚就能搞定 100MB/s 以上的读取带宽,这性价比确实很难替代。

1.4 发展现状

QSPI Flash 不是横空出世的。它的发展路径很有意思:

  1. SPI 时代:单线传输,最高 50MHz 时钟,读速约 50Mbps
  2. Dual SPI:两根数据线,读速翻倍到 100Mbps
  3. QSPI 时代:四根数据线,加上 DDR 模式,爆发到 400Mbps 以上
  4. Octal SPI / XSPI:八根数据线,已经到 1.6Gbps 了

如今主流厂商——旺宏、华邦、兆易创新、美光——都在推 QSPI 产品。容量从 4MB 到 512MB,封装从 SOIC-8 到 WSON-8,选择很多。

但我得提醒你一句:不是所有芯片都支持 QSPI 的全部模式。有些便宜货只支持标准 SPI,你得上电后发一条「使能 Quad 模式」的命令才行。我曾经被一块假 QSPI Flash 坑过,买回来发现走不了四线,查了一整天才找到原因。

避坑指南:我曾经在一个量产项目里用了一款号称「QSPI」的 Flash,结果发现它的 Quad 模式只在 80MHz 以下才稳定。项目已经投产了,最后只能降频运行。选型时一定要看 Datasheet 里 Quad Read 的时序参数,不要只看标题。

1.5 为什么系统启动偏爱 QSPI

嵌入式系统启动时,BootROM 通常要做三件事:

  • 从存储介质读取启动代码
  • 把代码搬到 SRAM 或 DDR 里
  • 跳转到入口地址执行

如果用普通 SPI,这个过程慢得像蜗牛爬。而 QSPI 的突发读取(Burst Read)加上内存映射(Memory Mapped)模式,能让 CPU 感觉「几乎跟本地内存一样快」。

为什么会这样?因为 QSPI 控制器一般会内置一个读缓存(Cache),你连续读数据时,控制器会自动预取下一段,减少等待时间。

我记得有一次调试一个 i.MX RT 系列的芯片,系统从 QSPI Flash 启动,整个上电到进 main() 只用了 80 毫秒。我当时就感叹:难怪现在各种 MCU 都内置 QSPI 控制器了。

1.6 本章知识结构

下面这张图是我自己画的结构图,帮你把 QSPI Flash 的整个知识体系理清楚:

QSPI Flash 知识体系总览 QSPI Flash 概述 核心特点 应用场景 发展现状 四线数据通道 DDR 双倍速率 XIP 内存映射 向下兼容 FPGA 配置 嵌入式启动 汽车电子 物联网设备 SPI → Dual SPI QSPI Octal SPI XSPI 学习路径建议 先理解核心特点和硬件引脚 → 再学 QSPI 控制器的工作原理 → 最后深入启动时序细节

这张图把本章拆成三块:特点、场景、现状。后面的章节会逐一展开每个分支的技术细节。