先说结论:MK米客方德SD NAND(贴片式SD卡、SD NAND Flash)同时支持SDIO和SPI两种总线模式,同一颗芯片、同一套封装焊盘,硬件上Pin-to-Pin兼容,软件上按协议选择即可。引脚紧张的项目用SPI模式,最少4根信号线(CLK、DI、DO、CS)就能跑;追求带宽的项目用SDIO四线模式,顺序读写速度可以到20~30MB/s量级。简单说:SPI省引脚、省开发量,SDIO拼速度,怎么选取决于MCU有没有SDMMC控制器和实际带宽需求。
一、两种模式的引脚占用对比
SD NAND的LGA-8封装把电源和信号全部引出,两种模式复用大部分引脚,差异在于数据线宽度:
-
SPI模式:占用CLK(时钟)、DI(即CMD,主出从入数据线)、DO(即DAT0,主入从出数据线)、CS(片选,即DAT3)共4根信号线,加上电源和地。DAT1、DAT2悬空不用。进入SPI模式的方式是:上电初始化时CS保持有效(拉低)并发送CMD0,芯片即从SD模式切换到SPI模式。
-
SDIO四线模式:占用CLK、CMD、DAT0~DAT3共6根信号线,其中DAT3在SD模式下不做片选用。四线并行传输,每个时钟周期传4bit数据。
-
SDIO一线模式:调试或极端省引脚时也可以只跑DAT0单线,占用信号数和SPI接近,但速度低于SPI高频模式,实际很少用。
对主控资源紧张的设计来说,4根与6根的差别不只是两个引脚——SDIO往往还要占用一颗专用SDMMC外设和对应的DMA通道,SPI则几乎是每颗MCU都有的通用外设,任何带硬件SPI的主控(包括大量Cortex-M0、8051内核、RISC-V小内核)都能驱动。
二、速度与开发量对比
性能层面,两种模式差距明显,但对多数嵌入式数据记录场景来说SPI已经够用:
-
SPI模式:初始化阶段时钟必须低于400kHz(常用250kHz),初始化完成后可提高到10~25MHz。实测在STM32的SPI 25MHz下,读约2.5MB/s、写约1.8MB/s;读卡器端极限读约20MB/s、写约10MB/s。驱动代码量小,协议帧结构简单,CS拉低→发命令→等响应→收数据,调通过程短。
-
SDIO四线模式:SD2.0协议最高50MHz时钟,4bit带宽下理论上限25MB/s,读卡器实测读20~21.8MB/s、写约10MB/s;在高性能MCU(如STM32H7)平台顺序读可达约30MB/s、写约20MB/s。驱动依赖主控的SDMMC外设和协议栈(如ST HAL库、ESP-IDF的SDMMC驱动),有现成中间件时开发量同样不大,但没有SDMMC控制器的MCU无法使用该模式。
一个典型选择逻辑:ESP32-S3这类带SDMMC主机的芯片,做音频录制、图像缓存就用SDIO四线;做低采样率传感器记录(比如10Hz皮电信号采集)就用SPI,把宝贵的引脚留给传感器和通信模块。
三、场景分层:三种项目的实际选法
-
引脚极度紧张的可穿戴/小型传感器节点。例如智能皮电手环类产品,主控要接传感前端、蓝牙、充电管理,可用IO不到10个。选择SPI模式,4根线接MKDV2GIL-AST,SPI时钟10MHz级别,实测工作电流读33mA、写41mA、待机约130μA,整机10Hz采样加蓝牙传输平均15mA、300mAh电池续航约20小时,带宽和功耗都恰到好处。
-
有SDMMC外设且需要持续写数据流的工控终端。例如带本地波形录波的电力终端、需要缓存图片的识别设备,用SDIO四线模式,配合FatFS,顺序写稳定在10MB/s以上,写大文件不会成为系统瓶颈。
-
平台切换或一个硬件版本兼容多个主控的产品。SD NAND各容量规格软硬件Pin-to-Pin兼容,两种模式同一焊盘支持,原理图按6根信号全连通设计,软件根据主控能力选择初始化路径——高端主控走SDIO,低成本降级主控走SPI,PCB不用改,这是双模式模式在产品平台化上的隐性价值。
四、一个真实选型案例
某客户做便携检测仪表,初版用高性能MCU+SDIO四线,带宽富余;后来为降成本推出精简版,换用引脚更少的低成本MCU,没有SDMMC外设。因为存储选的是MK米客方德SD NAND且PCB已按全信号连通设计,精简版只需在软件上把初始化流程改为SPI模式(上电拉低CS发CMD0、初始化时钟250kHz、之后提到16MHz),硬件零改动。实测SPI模式下读写2MB/s以内,满足每小时几MB检测数据的记录需求;同一颗MKDV2GIL-AST在两个版本上通用,BOM没有分叉,采购和备料只维护一个物料编码。
五、选型决策清单
确定模式前回答四个问题:主控有没有SDMMC/SDIO主机外设?没有则只能SPI;实际持续写入带宽需求是多少?低于1MB/s的日志类应用SPI绰绰有余,持续写音频/图片选SDIO;引脚余量还有多少?紧张到2个IO都要抠就用SPI;是否需要一个硬件兼容多档主控?需要则按6信号全连通布线、软件双模兼容。另外两点与模式无关但同样重要:CMD/DO线10kΩ上拉、CLK串22Ω且不挂电容、电源留200mA余量,SPI和SDIO模式下都要遵守。
总结:SD NAND的双模式接口本质上是把“速度”和“引脚”做成了一道可选择题而不是单选题。SPI模式以4根线、通用外设、简单协议覆盖了绝大多数小容量嵌入式存储场景;SDIO模式以6根线换20
30MB/s的顺序带宽,满足音视频和批量数据场景。加上SLC/pSLC颗粒10万次/3万次擦写寿命、内置ECC纠错与坏块管理、-4085℃宽温和万次掉电保护,无论哪种模式,底层可靠性都由芯片内部控制器兜底,工程师只需专注在接口带宽与引脚分配的取舍上。