SD卡有两种模式:SD模式(也称为SDIO模式)和SPI(Serial Peripheral Interface)模式,这两种模式的引脚定义是不同的。
在SD模式下,通常可以使用四根数据线进行传输(4-bits Data),传输速度非常快。四位数据传输要使用引脚1、7、8和9(DAT0~DAT3);在某些不支持四线数据的场合,也可以使用单根线进行数据传输(1-bit Data),此时使用引脚7(DAT0)。
SD 卡物理引脚 | SD/MMC 总线模式信号 | SPI 模式信号 | 说明 |
---|---|---|---|
1 | DAT2 | 未使用 | 在 SPI 模式下通常悬空(NC)。有些模块会接 CD (卡检测)到这里,但这不是标准 SPI 定义。 |
2 | DAT3 / CS | CS | 共用引脚! 在 SD 模式下是双向数据线 DAT3 (同时在上电初始化阶段也作为卡选择信号)。在 SPI 模式下是片选输入 CS (低电平有效)。 |
3 | CMD | MOSI/DI | 共用引脚! 在 SD 模式下是双向命令/响应线 CMD 。在 SPI 模式下是主机输出从机输入数据线 MOSI (Master Out Slave In) 或 DI (Data In)。 |
4 | VDD | VDD | 电源正极 (3.3V)。共用。 |
5 | CLK | SCLK | 共用引脚! 在 SD 模式下是主机输出的时钟 CLK 。在 SPI 模式下是主机输出的串行时钟 SCLK 。 |
6 | VSS | VSS | 电源地 (GND)。共用。 |
7 | DAT0 | MISO/DO | 共用引脚! 在 SD 模式下是双向数据线 DAT0 (1-bit 模式下的主要数据线)。在 SPI 模式下是主机输入从机输出数据线 MISO (Master In Slave Out) 或 DO (Data Out)。 |
8 | DAT1 | 未使用 | 在 SPI 模式下通常悬空(NC)。有些模块会接 WP (写保护)到这里,但这不是标准 SPI 定义。 |
9 | (DAT4-7, CD, WP) | (CD, WP) |
对于 MicroSD/TF 卡,只有 8 个引脚。DAT4-DAT7 存在于全尺寸 SD 卡的 4-bit/8-bit 模式。CD (卡检测) 和 WP (写保护) 是可选的机械开关信号,与协议无关。 |
为什么可以共用?如何切换?
卡内部的多路复用器: SD 卡内部包含逻辑电路,可以根据上电初始化序列或特定引脚状态来判断主机想要使用哪种通信模式。
SPI 模式的激活:
关键在 CS
(DAT3
): 在卡上电期间或复位后,如果主机将 CS
信号 (即 DAT3
引脚) 拉低,卡就会认为自己处于 SPI 模式。随后,主机必须按照 SPI 协议发送初始化命令。
SD 模式的激活: 如果上电后 CS
(DAT3
) 保持高电平,卡会等待主机按照 SD 总线协议发送初始化命令 (CMD0
需要在 CMD
线上发送,且 DAT3
作为 CMD0
的参数之一用于选择卡)。
模式一旦选定,不可动态切换: 一旦卡成功初始化进入其中一种模式(SD 或 SPI),在掉电或收到复位命令之前,它就会一直使用该模式进行通信。不能在一个会话中动态切换。
友情链接:
全部评论