以下是SD NAND在SDIO和SPI模式下的详细接线对比及连接方式:
连接7根信号线 + 电源地:

SDIO模式特点:
最高传输速度:50MHz(理论100MB/s)
需要ESP32的SDMMC控制器支持
所有数据线必须连接
适合高速读写(视频/大文件)
连接4根信号线 + 电源地:

SPI模式特点:
最高传输速度:20MHz(实测约6MB/s)
使用标准SPI接口
只需4根信号线
适合低速应用(日志存储/配置存储)

#include "driver/sdmmc_host.h"#include "sdmmc_cmd.h"void init_sdio() {
sdmmc_host_t host = SDMMC_HOST_DEFAULT();
sdmmc_slot_config_t slot = SDMMC_SLOT_CONFIG_DEFAULT();
// 配置引脚
slot.width = 4; // 4-bit模式
slot.clk = GPIO_NUM_14;
slot.cmd = GPIO_NUM_15;
slot.d0 = GPIO_NUM_2;
slot.d1 = GPIO_NUM_4;
slot.d2 = GPIO_NUM_12;
slot.d3 = GPIO_NUM_13;
sdmmc_card_t* card;
esp_err_t ret = sdmmc_card_init(&host, &slot, &card);
if (ret != ESP_OK) {
printf("SDIO初始化失败");
}}#include <SPI.h>#include <SD.h>#define CS_PIN 5void setup() {
SPI.begin(18, 19, 23, CS_PIN); // SCK, MISO, MOSI, CS
if (!SD.begin(CS_PIN)) {
Serial.println("初始化失败");
}}优先选SDIO模式当:
需要高速读写(>10MB/s)
使用ESP32-S3等支持50MHz SDIO的芯片
硬件引脚充足
选SPI模式当:
项目需要跨平台兼容
硬件引脚受限
速度要求不高(<2MB/s)
使用ESP8266等无SDIO控制器的芯片
关键注意:
两种模式不可热切换,需硬件固定接线方式
SD卡需格式化为FAT32文件系统
上电时保持CS为高电平(SPI模式)
电源必须稳定3.3V(最大电流200mA)
电话:176-6539-0767
Q Q:135-0379-986
邮箱:1350379986@qq.com
地址:深圳市南山区后海大道1021号C座