USER GUIDE / MEMORY / SPI FLASH / OVERVIEW

概述

概述

该模块是一个用于控制 SPI 闪存器件的 SPI 主机,可以在 CPU 控制模式或者 DMA 模式传输数据。

SFC模块框图
图 1 SFC模块框图

特征

  • 支持仅发送或者仅接收操作

  • 在一个字节内传输中,MSB 始终在前(大端在前)。数据字节间的传输 LSB 在前,命令或地址字节间的传输则 MSB 在前。

  • FIFO 深度 64,FIFO 宽度 32bits

  • 可选择一个设备

  • 支持可配置的接收采样点

  • 支持可配置的时序参数:tSLCH,tCHSH,tSFSL

表 1 计时参数说明
名称说明Min.Typ.Max.Unit.
sfc.clk串行时钟至闪存1083.2ns
sfc.ce芯片选择至闪存
dev.do闪存中的数据
tSETUPce# 激活设置时间5ns
tHOLDce# 有效保持时间5ns
tSHce# 高电平时间20ns
tDO闪存输出数据延迟7ns
  • 支持可配置的 flash 地址宽度

  • 7 种传输模式:标准 SPI,Dual-Output/Dual-Input SPI,Quad-Output/Quad-Input SPI,Dual-I/O SPI,Quad-I/O SPI,Full Dual-I/O SPI,Full Quad-I/O SPI

  • 两种数据传输模式:CPU 模式和 DMA 模式

  • 最多可通过软件配置 6 个阶段

  • 支持软件使用命令描述符表(CDT)

  • 支持用于数据传输的 DMA 描述符链

  • SDR 传输模式

  • 支持 XIP 模式

模块框图

  • 包含一个 AHB 从机接口和一个 AHB 主机接口。从机接口用于寄存器配置和 CPU 模式传输。主机接口用于 DMA 模式传输;

  • 双端口的 FIFO 主要用作发送数据(通过 AHB 到 flash)和接收(从 flash 到 AHB)的数据缓冲区;

  • Flow control 模块主要控制最多 6 个阶段的操作;

  • Transfer mode Control 主要控制 CPU 模式和 DMA 模式的读写操作;

  • SPI Control 主要用作生成 flash 设备可识别的指令。image.png