安全数字输入输出 (SDIO)

[English]


SDIO 最高速度能支持到多少?

  • ESP32 SDIO 时钟最高 50 MHz,最高支持 4 线模式。

  • ESP32-S3 SDIO 时钟最高 80 MHz,最高支持 8 线模式。

  • 实际应用速率,同时受到存储媒介读写速率影响。


ESP8266 的 SDIO 是否支持连接 SD 卡?

ESP8266 仅有 SDIO 从机接口,因此不支持连接 SD 卡。如需要 ESP 芯片连接 SD 卡,请选择支持 SD/MMC 主机接口的 ESP 芯片如 ESP32-S3。


ESP32 SD 卡支持的最大容量是多少?

  • SD3.01 规范中 SDXC 的卡最大支持 2 TB (2048 GB) 容量。

  • ESP32 的 SDMMC 主机符合 SD3.01 协议,通过该外设可以访问最多 2 TB 的区域;使用 SDSPI 驱动通过 SPI 总线访问卡时,硬件也支持访问 2 TB 的区域。

  • 在软件层面上,卡能使用的空间还受文件系统的影响。


ESP32 SD 卡是否可以与 flash & PSRAM 共同使用?

  • 在引脚互不占用的情况下是可以共同使用

  • 需注意,当 ESP32 采用 SDMMC 主机驱动时,ESP32-WROOM 和 ESP32-WROVER 模组的 SDMMC Slot0 引脚与 flash 冲突。


使用 ESP-WROOM-S2 模组,是否支持 SDIO 作从机?

ESP-WROOM-S2 支持 SDIO 作从机。


ESP32-S2 取消了 SDIO 接口,是否还支持外接 TF 卡?

ESP32-S2 可使用 SPI2 或 SPI3 接口外接 TF 卡,此时使用 TF 卡的 SPI 模式。


ESP32-S2 支持 eMMC 吗?

不支持。


ESP32-S2 是否支持 SDIO 作从机?

ESP32-S2 没有 SDIO 接口,不支持 SDIO 作从机。


ESP32 如何开启和关闭 SDIO 从机接收数据的中断?

SDIO 从机数据接收与挂载的 buffer 状态有关,接收完之后需要调用 sdio_slave_recv_load_buf 释放 buffer,否则 SDIO 主机将无法继续向 SDIO 从机发送数据。


如何设置 ESP32-C6 SDIO 时钟?

ESP32-C6 仅支持 SDIO 从机模式,SDIO 从机 CLK 取决于 SDIO 主机设置。


ESP32-P4 的 SDIO 主机是否支持同时挂载两个 SDIO 从机(如 ESP32-C5)?

SDIO 主机驱动已支持同时挂载两个 SDIO 从机。可参考 ESP-IDF 中的 SDMMC 驱动资源分配测试,其中包括 TEST_CASE("SDMMC slot exhausted allocation", "[sdmmc]") 测试用例。


ESP32-P4 与 ESP32-C5 通过 SDIO 通信时,ESP32-P4 能否控制 ESP32-C5 的 GPIO?

可以。ESP-Hosted-MCU 从 esp_hosted v2.10.0 起提供 GPIO Expander 功能,ESP32-P4 可通过 SDIO 和 RPC 控制 ESP32-C5 协处理器上的 GPIO,无需自行新增 custom_rpc。

配置并烧录对应的主机和协处理器固件后,可在 ESP32-P4 侧调用 esp_hosted_cp_gpio_* 系列 API,配置 GPIO 方向和上下拉、设置或读取电平,以及复位管脚。具体实现可参考 ESP-Hosted-MCU GPIO Expander 示例。

该功能通过 ESP-Hosted RPC 控制远端 GPIO,不等同于直接操作本地 GPIO。对于高频切换或对时延敏感的场景,应结合实际调用频率和 Wi-Fi 负载进行测试。

选择 ESP32-C5 管脚时,还需避开 SDIO 和其他已占用的管脚。