一文搞懂SDIO

SDIO总线简介

SDIO(Secure Digital Input and Output),即安全数字输入输出接口。它是在SD卡接口的基础上发展而来,它可以兼容之前的SD卡,并可以连接SDIO接口设备,比如:蓝牙、WIFI、GPS等。

一文搞懂SDIO_第1张图片

什么是SDIO卡

SDIO卡,是使用SD总线以及SD指令的IO设备。SDIO卡的外形和接口和SD卡是兼容的,但是实现的不只是存储功能,还能实现其它的功能,如蓝牙、WIFI等。比如下面的就是一个实现了WIFI功能,而且外形和接口与SD卡兼容的SDIO卡。

一文搞懂SDIO_第2张图片

什么是组合卡

组合卡指带有memory(存储器)的SDIO卡(memory+SDIO)。

一文搞懂SDIO_第3张图片

SDIO卡类型

  1. 全速卡: 传输速率超过100Mbps,时钟范围0-25MHz。

  2. 低速卡:时钟范围0-400KHz。

低速卡支持类似调制解调器, 条形码扫描仪和GPS接收器等应用。高速卡支持网卡,组合卡等。

SDIO卡模式

SDIO卡有三种总线模式:

  • SPI模式

  • 1-bit SD传输模式

  • 4-bit SD传输模式

SDIO接口定义

一文搞懂SDIO_第4张图片

  • CLK: HOST给DEVICE的时钟信号

  • CMD: 双向的信号,用于传送命令和应答

  • DAT0-DAT3: 用于传输的数据线

不同模式下的引脚定义:

引脚

4bit模式

1bit模式

SPI模式

1

DAT3

数据线3

CD

卡侦测

CS

片选

2

CMD

命令/应答

CMD

命令/应答

DI

串行输入(MOSI)

3

VSS1

地线

VSS1

地线

VSS

地线

4

VDD

电源线

VDD

电源线

VDD

电源线

5

CLK

时钟线

CLK

时钟线

CLK

SPI时钟

6

VSS2

地线

VSS2

地线

VSS

地线

7

DAT0

数据线0

DAT0

数据线0

DO

串行输出(MISO)

8

DAT1

数据线1/中断

NC/IRQ

中断

NC/IRQ

中断

9

DAT2

数据线2

NC


NC


SDIO命令

SDIO总线上的设置和控制都是通过命令来实现,SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求,其中请求和应答中会包含数据信息:

  1. Command: 用于开始传输的命令,是由HOST端发往DEVICE端的,其中命令是通过CMD信号线传送的。

  2. Response: DEVICE返回的应答。也是通过CMD线传送的;

  3. Data: 数据是双向传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。

命令格式:

一文搞懂SDIO_第5张图片

  • 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

  • R1(正常应答命令)

一文搞懂SDIO_第6张图片

  • R2(CID,CSD寄存器)

一文搞懂SDIO_第7张图片

  • R3(OCR寄存器)

一文搞懂SDIO_第8张图片

  • R6(Published RCA应答)

一文搞懂SDIO_第9张图片

  • R7(卡接口条件)

一文搞懂SDIO_第10张图片

  • R4

图片

用来回复CMD5,该CMD是给SDIO card专用的,用来查询card中支持的电压域。

  • R5

图片

用来回复CMD52,该CMD是给SDIO card专用的。

不同的外设使用的命令会有差异,具体命令要查看Spec。

更多详细命令介绍请参考:

《Physical Layer Simplified Specification Version8.00》

《SDIO_Simplified_Specification_Ver3.00》

总结

SDIO卡和SD存储卡的命令上是有差异的,里面的寄存器也是有差异的。所以具体命令需要查看官方文档,对于初始化流程,哪条命令对应哪个应答等都有详细的描述。

你可能感兴趣的:(通信协议,单片机)