Zynq-7000系列Quad-SPI 闪存控制器详解
扫描二维码
随时随地手机看文章
1介绍
Quad-SPI 闪存控制器是位于 PS 内的输入/输出外设 (IOP) 的一部分,它用于访问多位串行闪存设备,以实现高吞吐量和低引脚数应用。
控制器以三种模式之一运行:
-
I/O 模式
-
线性寻址模式
-
传统 SPI 模式
在 I/O 模式下,软件与闪存设备协议密切交互,软件使用四个 TXD 寄存器将闪存命令和数据写入控制器,软件读取包含从闪存设备接收到的数据的 RXD 寄存器。
线性寻址模式使用设备操作的子集来消除 I/O 模式读取闪存所需的软件开销,线性模式利用硬件向闪存发出命令并控制从闪存总线到 AXI 接口的数据流,控制器响应 AXI 接口上的存储器请求,就像闪存是 ROM 存储器一样。
在传统模式下,QSPI 控制器充当普通 SPI 控制器。
控制器可以连接到一个或两个闪存设备,两个器件可以并联连接以实现 8 位性能,或者以堆叠的 4 位排列方式连接以最大限度地减少引脚数。
2有什么特点
-
用于线性寻址模式传输的 32 位 AXI 接口
-
用于 I/O 模式传输的 32 位 APB 接口
-
Micron 和 Spansion 闪存的可编程总线协议
-
传统 SPI 和可扩展性能:1x、2x、4x、8x I/O 宽度
-
灵活的 I/O
- Single SS 4-bit I/O flash 接口模式
- 双 SS 8 位并行 I/O 闪存接口模式
- 双 SS 4 位堆叠 I/O 闪存接口模式
- 单 SS,传统 SPI 接口
-
每台设备 16 MB 寻址(两台设备 32 MB)
-
对于 I/O 和线性模式,设备密度高达 128 Mb,I/O 模式支持大于 128 Mb 的密度。
-
I/O 模式(闪存命令和数据)
- 软件发出指令并管理闪存操作
- FIFO 控制中断
- 63 字 RxFIFO,63 字 TxFIFO
-
线性寻址模式(可执行读访问)
- 内存读取和写入由控制器解释
- AXI 端口最多可缓冲四个读取请求
- AXI 递增和环绕地址函数
3系统观点
Quad-SPI 闪存控制器是 IOP 的一部分,通过 MIO 连接到外部 SPI 闪存,如图 12-1 所示。控制器支持一到两个存储器。
线性地址模式的地址映射和设备匹配
当使用单个设备时,直接内存读取的地址映射从 FC00_0000 开始,最大为FCFF_FFFF (16 MB)。
双设备系统的地址映射取决于内存设备和 I/O 配置,在双设备系统中,Quad-SPI 设备需要来自同一供应商,因此它们具有相同的协议。
8 位并行 I/O 配置还要求设备具有相同的容量,并行 I/O 配置的地址映射从 FC00_0000 开始,一直到组合内存容量的地址,最大为FDFF_FFFF (32 MB)。
对于 4 位堆叠 I/O 配置,设备可以具有不同的容量,但必须具有相同的协议。
如果使用两个不同大小的器件,赛灵思建议在较低地址使用 128 Mb 器件,在此模式下,
-
QSPI 0 设备从 FC00_0000 开始,并达到最大值FCFF_FFFF (16 MB)。
-
QSPI 1 设备从 FD00_0000 开始,最大为FDFF_FFFF(16 MB)。
如果第一个设备的大小小于 16 MB,那么两个设备之间就会出现内存空间空洞。
4框图
框图如图所示。





