一、定义
SD卡按尺寸分类可分为三类:标准 SD 卡、Mini SD 卡和 Micro SD 卡。其中Mini SD 卡比较少见,标准 SD 卡因为体积较大主要用在数码相机等对体积要求不严格的地方,我们最常用的是 Micro SD 卡,原名Trans-flash Card (TF 卡)。
Micro SD 作用:一般用于存储芯片的 BOOT 程序,Linux 操作系统内核,件系统以及其它的用户数据文件。
二、引脚说明
SDIO模式数据传输速度比SPI模式要快,采用单片机对SD卡进行读写时一般都采用SPI模式。采用不同的初始化方式可以使SD卡工作于SDIO模式或SPI模式。
SD卡接口定义以及各引脚功能说明如表
|------|-----------|------------|-----------|
| 引脚编号 | 引脚名称 | 功能(SDIO模式) | 功能(SPI模式) |
| Pin1 | DATA3/CS | 数据线3 | 片选信号 |
| Pin2 | CMD/MODI | 命令线 | 主机输出,从机输入 |
| Pin3 | VSS1 | 电源地 | 电源地 |
| Pin4 | VDD | 电源 | 电源 |
| Pin5 | CLK | 时钟 | 时钟 |
| Pin6 | VSS2 | 电源地 | 电源地 |
| Pin7 | DAT0/MISO | 数据线0 | 主机输入,从机输出 |
| Pin8 | DAT1 | 数据线1 | 保留 |
| Pin9 | DAT2 | 数据线2 | 保留 |
MicroSD卡接口定义以及各引脚功能说明如表
|------|-----------|------------|-----------|
| 引脚编号 | 引脚名称 | 功能(SDIO模式) | 功能(SPI模式) |
| Pin1 | DATA2 | 数据线2 | 保留 |
| Pin2 | DAT3/CS | 数据线3 | 片选信号 |
| Pin3 | CMD/MODI | 命令线 | 主机输出,从机输入 |
| Pin4 | VDD | 电源 | 电源 |
| Pin5 | CLK | 时钟 | 时钟 |
| Pin6 | VSS2 | 电源地 | 电源地 |
| Pin7 | DAT0/MISO | 数据线0 | 主机输入,从机输出 |
| Pin8 | DAT1 | 数据线1 | 保留 |
| Pin9 | CD | 插入检测 | 保留 |
标准SD 卡 2.0 版本中,工作时钟频率可以达到 50Mhz,在SDIO 模式下采用4 位数据位宽,理论上可以达到200Mbps (50Mx4bit) 的传输速率;在 SPI 模式下采用1 位数位宽,理论上可以达到 50Mbps 的传输速率。因此 SD 卡在 SDIO 模式下的传输速率更快,同时其操作时序也更复杂。
SD卡热插拔检测原理:SD 卡的插拔检测与 SD 卡座结构相关,插入 SD 卡前后,SDC_CD 引脚电平发生翻转,从而触发中断。电路设计中SD 卡插入前 SDC_CD 引脚引脚悬空或外接上拉电阻,SD 卡插入后,SDC_CD 引脚接地,SDC_CD从高电平变为低电平代表 SD 卡插入。
三、电路设计参考
1、SDIO模式
TF card 电路兼容 SD2.0/3.0,模块供电为输出可调的 VCCIO_SD,默认为 3.3V供电,TF 卡供电 VCC SD 为 3.3V 供电。当插入 SD2.0 存储卡时,模块供电与卡供电均为 3.3V,SD 卡正常工作。当插入 SD 3.0 存储卡时,主控芯片识别其为 SD 3.0 存储卡调节 VCC_SD 供电为 1.8v,以满足高速卡信号要求:同时 TF 卡供电 VCC_SD 通过卡片内部LDO,生成 1.8V 为T卡提供电源当使用 SD 3.0 的存储卡时,建议增加上拉电阻上拉到电源 VCCIO SD,以提高数据稳定性。如果需要支持 SD 3.0 的存储卡,ESD 器件请选择结电容小于 10pF 的。上拉电阻作用:提高驱动能力,使得电路更加稳定。
2、SPI模式
四、PCB设计
- SD 接口电源线走线 VCC 宽度大于 0.5mm。
- SDIO 需要控制等长。DATA线之间的长度差小于 0.5mm,CMD、CLK 与 DATA线之间的长度差小于 0.5mm。
- DATA 线之间的距离大于 2 倍线宽。
- SDIO 接口需要做阻抗控制,控制单线阻抗为 50Ω。
- SD 卡是经常拔插的接口器件,原理设计的时候需要考虑静电器件的添加。