Edit online

Quad Serial Peripheral Interface (QSPI)

14 Sep 2024
Read time: 1 minute(s)

Serial Peripheral Interface (SPI),即串行外围设备接口,是一种高速、全双工、同步的串行时钟接口。SPI 可允许微控制器 (MCU) 与各种外围设备之间以串行方式和特定的传输速率进行高效的信息交换。

Quad Serial Peripheral Interface (QSPI) 作为 SPI 的扩展版本,提供了更高速的数据传输能力。标准 SPI 最大支持两线数据传输,而 QSPI 最大支持四线数据传输。与此同时,QSPI 控制器配备了一个 64 字节的接收缓存 (RX FIFO) 和一个 64 字节的发送缓存 (TX FIFO),并通过 AHB 总线进行高效的数据访问,适用于需要快速数据处理和传输的典型场景。通过中断或 DMA 方式,QSPI 控制器可以实现快速的数据传输,无需 CPU 过多干预,来增强系统的运行效率。

SoC 集成多套 QSPI 控制器,常用的使用场景如下:
  • 快速读写访问串行 Flash 设备:

    QSPI0/ 1 为 QSPI 接口

  • LCD 显示控制等其他 SPI 接口设备的访问:

    QSPI2/ 3 为标准 SPI 接口,用于其他 SPI 接口设备的访问。

功能特性

  • 全双工同步串行接口
  • 支持主机和从机模式,从机模式支持 1/ 2/ 4 线数据传输
  • 具有 64 字节的 FIFO 缓存用于发送和接收数据
  • 片选信号和时钟的相位和极性可配
  • 支持中断模式或 DMA 模式
  • 支持以下传输模式:
    • mode0
    • mode2
  • 支持可编程串行数据流长度配置:从 1 bit 到 32 bits
  • 支持非标准 SPI 接口:MOSI 和 MISO 引脚复用
  • 支持标准 SPI 接口,双路输出/双路输入 SPI 接口,双路 I/O SPI 接口,四路输出/四路输入 SPI 接口,QIO 和 QPI 接口
  • QSPI0 支持双片选 CS0 和 CS1
  • 支持使用控制器内部 DMA。
  • QSPI0 和 QSPI1 支持引脚重映射,支持 12 种线序调整方式。
  • QSPI0 支持 XiP 模式,通过 AXI 直接读取 SPI NOR Flash

原理框图



1. QSPI 原理框图