- 4 种模式的 SPI 传输格式,模式取决于 SPI 时钟的极性 (CPOL) 和相位 (CPHA);
- 最高支持到 80 MHz(实际可支持频率还受限于所用 pad、PCB 走线、外接器件规格等);
- 最高支持 64 byte 的 FIFO ;
- 所有 SPI 接口都可以连接外部 flash/SRAM 和 LCD。每一个 SPI 控制器都可连接到 DMA 通道。
3. 编程指南说明:
应用分类
1 SPI Flash/PSRAM
1.1 内置 SPI Flash/PSRAM
- SPI0:被 Flash 占用,内置 Flash 端口与芯片管脚对应关系如下,一般是 GPIO6 ~ GPIO11 ,且这几个管脚不可用于其他功能。但不同型号的模组默认的 Flash 接口可能不同,可使用 esptool 工具通过
espefuse.py summary
命令来查询默认的配置。
SPI_PAD_CONFIG_CLK (BLOCK0): Override SD_CLK pad (GPIO6/SPICLK) = 0 R/W (0b00000)
SPI_PAD_CONFIG_Q (BLOCK0): Override SD_DATA_0 pad (GPIO7/SPIQ) = 0 R/W (0b00000)
SPI_PAD_CONFIG_D (BLOCK0): Override SD_DATA_1 pad (GPIO8/SPID) = 0 R/W (0b00000)
SPI_PAD_CONFIG_HD (BLOCK0): Override SD_DATA_2 pad (GPIO9/SPIHD) = 0 R/W (0b00000)
SPI_PAD_CONFIG_CS0 (BLOCK0): Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000)
- ESP32 系列的模组,目前默认最大支持 16MB 的 Flash 。
- ESP32 系列的模组,除 ESP32-WROVER 模组为 1.8V Flash 以外,其他型号的模组均为 3.3V Flash。
- 带有内置 Flash 的芯片型号需要注意上电时的 MTDI(GPIO12) 电平。例如 ESP32-U4WDH 的