SD 和 SDIO
SD 和 SDIO
SD(Secure Digital)是一种关于 Flash 存储卡的标准,也就是一般常见的 SD 记忆卡,在设计上与 MMC(Multi-Media Card)保持了兼容。SDHC(SD High Capacity)是大容量 SD 卡,支持的最大容量为 32GB。2009 年发布的 SDXC(SD eXtended Capacity)则支持最大 2TB 大
小的容量。
SDIO(Secure Digital Input and Output Card,安全数字输入输出卡)在 SD 标准的基础上,
定义了除存储卡以外的外设接口。SDIO 主要有两类应用——可移动和不可移动。不可移动
设备遵循相同的电气标准,但不要求符合物理标准。现在已经有非常多的手机或者手持装置
都支持 SDIO 的功能,以连接 WiFi、蓝牙、GPS 等模块。
一般情况下,芯片内部集成的 SD 控制器同时支持 MMC、SD 卡,又支持 SDIO 卡,但
是 SD 和 SDIO 的协议还是有不一样的地方,支持的命令也会有不同。
SD/SDIO 的传输模式有:
● SPI 模式
● 1 位模式
● 4 位模式
表 2.1 显示了 SDIO 接口的引脚定义。其中 CLK 为时钟引脚,每个时钟周期传输一个命令或数据位;CMD 是命令引脚,命令在 CMD 线上串行传输,是双向半双工的(命令从主机到从卡,而命令的响应是从卡发送到主机);DAT[0]~DAT[3] 为数据线引脚;在 SPI 模式中,第 8 脚位被当成中断信号。图 2.18 给出了一个 SDIO 单模块读、写的典型时序。
eMMC(Embedded Multi Media Card)是当前移动设备本地存储的主流解决方案,目的在于简化手机存储器的设计。eMMC 就是 NAND Flash、闪存控制芯片和标准接口封装的集合,它把 NAND 和控制芯片直接封装在一起成为一个多芯片封装(Multi-Chip Package,MCP)芯片。eMMC 支持 DAT[0]~DAT[7] 8 位的数据线。上电或者复位后,默认处于 1 位模式,只使用 DAT[0],后续可以配置为 4 位或者 8 位模式。
上文摘抄自《Linux设备驱动开发详解:基于最新的Linux 4.0内核》