当前位置: 首页 > news >正文

【基础知识】QSPI的命令

这里写目录标题

      • 一、QSPI命令的基本特点
      • 二、QSPI典型命令集
        • 1. **读取类命令**
        • 2. **写入类命令**
        • 3. **配置与状态命令**
        • 4. **其他命令**
      • 三、QSPI命令时序示例
      • 四、命令使用注意事项
      • 五、应用场景
      • 六、总结

QSPI(Quad SPI)的命令集是其实现高速数据传输的核心,通过专用指令可激活多线模式、配置设备参数及执行数据操作。以下是QSPI的主要命令类型、格式及典型应用:

一、QSPI命令的基本特点

  1. 兼容SPI

    • QSPI设备通常支持标准SPI命令(如READWRITE),可在单线模式下与传统SPI主机通信。
    • 高速场景下使用扩展的QSPI命令集。
  2. 多线传输模式

    • 单线模式:使用IO0(MOSI)发送命令/地址,IO1(MISO)接收数据。
    • 双线模式:IO0和IO1同时传输数据,吞吐量翻倍。
    • 四线模式:IO0~IO3全部用于数据传输,速率最高。
  3. 命令格式

    • 典型QSPI命令帧包含:
      [命令字节] → [地址字节] → [可选模式字节] → [数据阶段]
      
      • 命令字节:指定操作类型(如读取、写入),始终通过单线传输。
      • 地址字节:指定数据存储位置,可选择单线、双线或四线传输。
      • 数据阶段:根据命令类型,支持不同的传输模式。

二、QSPI典型命令集

以下是QSPI设备常用的命令(以SPI Flash为例):

1. 读取类命令
命令缩写功能传输模式
Read Data03h标准SPI读取(单线)命令/地址/数据:单线
Fast Read0Bh高速读取(带空时钟周期以提高频率)命令:单线
地址:单线
数据:单线
Dual Output Fast Read3Bh双线输出快速读取(数据通过IO0和IO1并行传输)命令/地址:单线
数据:双线
Dual I/O Fast ReadBBh双线I/O快速读取(地址和数据均通过双线传输)命令:单线
地址/数据:双线
Quad Output Fast Read6Bh四线输出快速读取(数据通过IO0~IO3并行传输)命令/地址:单线
数据:四线
Quad I/O Fast ReadEBh四线I/O快速读取(地址和数据均通过四线传输)命令:单线
地址/数据:四线
2. 写入类命令
命令缩写功能传输模式
Write Enable06h使能写操作(必须先执行此命令)单线
Page Program02h标准SPI页编程(写入数据)命令/地址/数据:单线
Quad Page Program32h四线页编程(高速写入)命令:单线
地址/数据:四线
3. 配置与状态命令
命令缩写功能传输模式
Read Status Register05h读取状态寄存器(如写保护位、忙碌标志)单线
Write Status Register01h写入状态寄存器单线
Read Configuration Register35h读取配置寄存器(如QSPI模式使能位)单线
Write Configuration Register01h写入配置寄存器单线
Enter QSPI Mode38h使能QSPI模式(从标准SPI切换到四线模式)单线
Exit QSPI ModeF5h退出QSPI模式(回到标准SPI)单线
4. 其他命令
命令缩写功能传输模式
Erase Sector20h擦除指定扇区(通常4KB)单线
Erase BlockD8h擦除指定块(通常64KB)单线
Chip EraseC7h擦除整个芯片单线
Read ID9Fh读取设备ID(如制造商ID、设备类型)单线

三、QSPI命令时序示例

以**Quad I/O Fast Read(EBh)**命令为例,说明四线模式下的完整时序:

  1. 命令阶段

    • 主机通过IO0发送命令字节EBh(单线传输)。
  2. 地址阶段

    • 主机通过IO0~IO3四线并行发送24位地址(通常3字节)。
  3. 空周期(Dummy Cycles)

    • 主机发送若干空时钟周期(通常4~8个),让从设备准备数据。
  4. 数据阶段

    • 从设备通过IO0~IO3四线并行返回数据,直到主机终止传输。

时序图示例

[命令]  [地址]  [空周期]  [数据...]
EBh    AAAAAA  DDDDDD    DDDDDD...
(IO0)  (IO0~IO3)         (IO0~IO3)

四、命令使用注意事项

  1. 模式切换

    • 部分QSPI设备默认处于标准SPI模式,需先发送Enter QSPI Mode (38h)命令激活四线模式。
    • 退出时需发送Exit QSPI Mode (F5h)回到标准模式。
  2. 地址长度

    • 命令中的地址字节数取决于设备容量(如24位或32位地址)。
  3. 空周期配置

    • 不同设备的空周期数量可能不同,需参考datasheet设置。
  4. 写保护

    • 写入操作前必须先发送Write Enable (06h)命令,否则写操作会被拒绝。

五、应用场景

  1. 高速Flash读取

    • 嵌入式系统通过QSPI快速加载固件(如MCU启动时从Flash读取程序)。
  2. 图形数据传输

    • 显示屏控制器通过QSPI从Flash读取图像数据,四线模式可满足高分辨率显示需求。
  3. 数据缓存

    • 传感器数据通过QSPI快速写入外部缓存芯片,减少数据丢失风险。

六、总结

QSPI命令集通过灵活的单线/多线切换机制,在保持与SPI兼容性的同时,显著提升了数据传输效率。开发时需根据设备特性选择合适的命令,并严格遵循时序要求,以实现最优性能。

相关文章:

  • Oracle中如何解决LATCH:CACHE BUFFERS LRU CHAIN
  • Windows 上配置 Docker,Docker 的基本原理和用途,以及如何在 Docker 中运行程序
  • JVM 性能问题排查实战10连击
  • 静态代理有哪些优势
  • 第二届帕鲁杯时间循环的信使
  • Vortex GPGPU的github流程跑通与功能模块波形探索(三)
  • CAN总线
  • 开源情报搜集系统:科研创新的强大引擎
  • 电网中窃电分析:概念、算法与应用
  • 深度解析 HDFS与Hive的关系
  • HarmonyOS NEXT~鸿蒙系统与mPaaS三方框架集成指南
  • 电商虚拟户:重构资金管理逻辑,解锁高效归集与智能分账新范式
  • 基于springboot3 VUE3 火车订票系统前后端分离项目适合新手学习的项目包含 智能客服 换乘算法
  • Qt调用librdkafka
  • Android 中拖拽从一个组件到另外一个组件的写法(跨容器拖拽)
  • 封装POD与PinMap文件总结学习-20250516
  • 【AS32X601驱动系列教程】MCU启动详解
  • java接口自动化初识
  • 在 Azure OpenAI 上使用 Elastic 优化支出和内容审核
  • OpenCV 图像色彩空间转换
  • 联合国妇女署:超过2.8万名妇女和女童在加沙战火中丧生
  • 连续两个交易日涨停,华夏幸福:生产经营活动正常,不存在影响股价波动的重大事宜
  • 前4个月全国新建商品房销售面积降幅收窄,房地产库存和新开工有所改善
  • 专利申请全球领先!去年我国卫星导航与位置服务产值超5700亿元
  • 广西壮族自治区党委常委会:坚决拥护党中央对蓝天立进行审查调查的决定
  • 央视起底“字画竞拍”网络传销案:涉案44亿元,受害者众多