一文搞懂SDIO
2022-10-18
作者:young
来源:嵌入式软件开发交流
SDIO总线简介
SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、GPS等。
网络图片
什么是SDIO卡
SDIO卡,是使用SD总线以及SD指令的IO设备。SDIO卡的外形和接口和SD卡是兼容的,但是实现的不只是存储功能,还能实现其它的功能,如蓝牙、WIFI等。比如下面的就是一个实现了WIFI功能,而且外形和接口与SD卡兼容的SDIO卡。
网络图片
什么是组合卡
组合卡指带有memory(存储器)的SDIO卡(memory+SDIO)。
SDIO卡类型
全速卡: 传输速率超过100Mbps,时钟范围0-25MHz。
低速卡:时钟范围0-400KHz。
低速卡支持类似调制解调器, 条形码扫描仪和GPS接收器等应用。高速卡支持网卡,组合卡等。
SDIO卡模式
SDIO卡有三种总线模式:
SPI模式
1-bit SD传输模式
4-bit SD传输模式
SDIO接口定义
CLK: HOST给DEVICE的时钟信号
CMD: 双向的信号,用于传送命令和应答
DAT0-DAT3: 用于传输的数据线
不同模式下的引脚定义:
SDIO命令
SDIO总线上的设置和控制都是通过命令来实现,SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求,其中请求和应答中会包含数据信息:
1.Command: 用于开始传输的命令,是由HOST端发往DEVICE端的,其中命令是通过CMD信号线传送的。
2.Response: DEVICE返回的应答。也是通过CMD线传送的;
3.Data: 数据是双向传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。
命令格式:
Start: 起始位,值固定为0。
Transmission:传输方向,值为1表示host发出, 0则表示device发出。
Command Index: 代表命令索引,例如CMD0 这项值为0 ,CMD5则这项值为5,它的范围是0-63。
Argument:CMD所附带的一些参数,不同的CMD,这32bit每一位所代表的含义是不一样的。
CRC7:7位CRC校验值
End:结束位,值固定为1
应答格式:
SD内存卡支持五种response type:R1,R1b,R2,R3,R6
SDIO卡额外支持2种response type:R4,R5
用来回复CMD52,该CMD是给SDIO card专用的。
不同的外设使用的命令会有差异,具体命令要查看Spec。
更多详细命令介绍请参考:
《Physical Layer Simplified Specification Version8.00》
《SDIO_Simplified_Specification_Ver3.00》
总结
SDIO卡和SD存储卡的命令上是有差异的,里面的寄存器也是有差异的。所以具体命令需要查看官方文档,对于初始化流程,哪条命令对应哪个应答等都有详细的描述。
更多信息可以来这里获取==>>电子技术应用-AET<<