1.SD卡发展
SD卡的版本和性能如图所示。
目前的SD多是标准SD卡和micro SD卡,除了大小和管脚数量之外,没有什么不同。
2.工作模式
SPI模式、1bit SD、4bitSD、UHS-I模式等。
3.SPI模式
SD模式和SPI模式下管脚区别如下:
上电后,SD卡默认进入到SD模式下,进入SPI模式步骤:
(1)复位
1.拉高CS,发送至少74个clk周期来使SD卡达到正常工作电压和进行同步
2.选低CS,发送CMD0,需要收到回应0x01表示成功进入SPI模式IDLE状态
3.拉高CS,发送8个时钟。
(2)初始化
使用CMD55+ACMD41
发送CMD55,收到0x01;
发送ACMD41,收到0x00,表示成功。
Synopsys SD控制器IP手册里没有说明如何由SD模式切换至SPI模式,好像只支持1bit SD、4bit SD和UHS-I模式。网上资料多是关于如何使用STM32等配置I/O来模拟SPI时序操作SD卡。个人观点,如有错误,还请评论指正。
4.UHS-I模式
UHS-I模式下,只支持4bit传输方式。理论上,在主频为208MHz、单数据速率传输的情况,可以实现的最大总线速度是104MB/s。
高版本除外,可以以UHS-I模式工作的UHS卡,有UHS-50和UHS-104两种。
上电后,使用CMD0命令复位卡,使用CMD55+ACMD41命令查询卡是否支持1.8V下工作,若可以,代表支持UHS-I模式,再使用CMD11命令将电压切换合适范围,此时卡默认进入到SDR12模式下。此外还要配置卡控制器的CLKDIV、UHS_REG寄存器来选择其他工作模式。
5.UHS-II模式
为了能够支持UHS-II接口,SD和microSD卡现在启用了一个额外的插脚排。上部排处理默认速度、高速和UHS-I接口的信号。除UHS-I模式之外,UHS-II增加了两个额外的操作模式,即 FD156 (156 MB/s, 52 Mhz, 0.4 V) 和 HD312 (312 MB/s, 52 Mhz, 0.4 V)。
更高速的HD312模式运用两个低压数据通道实现,每个通道提供156MB/s的速度。然而,半双工模式下在指定时间内只允许一方发送数据。全双工模式下,双边可以使用一个数据通道同时发送数据。
不同于UHS-I,UHS-II只支持一种类型的卡—— UHS156。这种类型的卡既可以具备,也可以不具备HD312传输模式的支持。一个不具备HD312模式的UHS156卡只能达到156MB/s的总线速度。另外,主机设备必须于UHS-II模式兼容。