SDIO | 您所在的位置:网站首页 › 数据线传数据和不传数据的区别 › SDIO |
1.简介 SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备。SDIO1.0标准定义了两种类型的SDIO卡: 全速的SDIO卡,传输率可以超过100Mbps。高速卡支持网卡,电视卡以及组合卡等。组合卡指的是存储器+SDIO,对组合卡来操作需要全速和4BIT的传输模式,这是SDIO1.0标准规定的; 低速的SDIO卡,支援的时脉速率在0至400KHz之间。低速卡的目标应用是以最小的硬件开支来支持低速I/O能力。低速卡支持类似调制解调器,条形码扫描仪和GPS接收器等。 SD/SDIO的传输模式SD传输模式有以下3种: • SPI mode(required) • 1-bit mode • 4-bit mode 备注:此文章只解析 1-bit/4-bit mode。 2.SD/MMC/SDIO概念区分概要 SD(Secure Digital)是一种flash memory card的标准,是一般常见的SD记忆卡。 MMC(Multimedia Card)则是较早的一种记忆卡标准,目前已经被SD标准所取代。在维基百科上有相当详细的SD/MMC规格说明:[http://zh.wikipedia.org/wiki/Secure_Digital]。 SDIO(Secure Digital I/O):就是SD的I/O接口(interface)的意思,更具体的说明,SD本来是记忆卡的标准,但是现在也可以把SD拿来插上一些外围接口使用,这样的技术便是SDIO。现在已经有非常多的手机或是手持装置都支持SDIO的功能(SD标准原本就是针对mobile device而制定),而且许多SDIO外围也都被开发出来,让手机外接外围更加容易,并且开发上更有弹性(不需要内建外围)。目前常见的SDIO外围(SDIO卡)有: • Wi-Fi card(无线网络卡) • CMOS sensor card(照相模块) • GPS card • GSM/GPRS modem card • Bluetooth card • Radio/TV card 3.总线协议(此文章只解析 1-bit/4-bit mode) SD总线上的通信基于命令和数据位流,数据流由起始位启动,由停止位终止。 • CMD:命令是启动操作的令牌。命令从主机发送到单个卡(寻址命令)或所有连接的卡(广播命令)。命令在命令行上串行传输。 • Response:响应是从寻址卡或(同步)从所有连接的卡发送到主机的令牌,作为对先前接收到的命令的应答。响应在命令行上串行传输。 • Data:数据可以从卡传输到主机,反之亦然。数据通过数据线传输。 3.1 总线传输类型
3.2 SD卡数据包传输格式 • 常用数据(8位宽度):在单个字节中,以MSB优先发送。 • 宽数据(SD内存寄存器):宽数据以MSB位优先发送。 3.3 CMD命令格式(1.92us@25MHz & 0.96us@50MHz) • Stuff Bits: 保留,0. • I/O OCR: Operation Conditions Register. 提供电压的最大/最小值范围。如下表。 • [19:16]voltage supplied(VHS):提供电压范围,如下所示: 3.3.3 CMD52 (IO_RW_DIRECT Command) • R/W Flag: 0:Read,数据在R5中返回; 1:Write. • Function Number:I/O卡中要读或写的功能编号. • RAW Flag: 写后读标志。 R/W为1,若该位为1,则该命令应在写入后读取寄存器的值。这对于允许写入控制寄存器并在同一地址读取状态非常有用。若该位为0,则R5响应中返回的值应与命令中的写入数据相同。 R/W为0,忽略此位。 • Register Address: 读写数据地址. • Write Data/Stuff Bits: 若R/W=1,写入数据,若R/W=0,读取命令,设置为0. • Stuff Bits: 保留,0. [39]R/W Flag[35]RAW Flag描述11主机写入数据,并在R5中返回寄存器值10主机写入数据,并在R5中返回此数据0x主机读取数据3.3.4 CMD53 (IO_RW_EXTENDED Command):提供了最高的传输速率 • R/W Flag: 该位决定I/O操作的方向。 该位为0,则该命令从SDIO卡读取由功能编号和寄存器地址指定的地址的数据到主机。读取的数据应返回DAT[x]行。 该位为1,则命令应将DAT[x]行的字节写入由功能编号和寄存器地址寻址的I/O位置。 • Function Number: I/O卡中要读或写的功能编号。 • Block Mode: 块模式 = 1时,使用的块大小和每个命令使用的最大字节数。 块模式 = 0时,从CIS元组中读取最大值。 • OP code: 读写操作码 操作码0用于从单个I/O寄存器地址读取或写入多个字节的数据。当使用I/O卡内部的FIFO传输I/O数据时,此命令非常有用。在这种情况下,多个字节的数据被传输到(从一个寄存器地址传输)。对于此操作,寄存器的地址被设置到寄存器地址字段中。数据在为SD存储卡定义的DAT[0]或DAT[3:0]行上传输。 操作码1用于在每次操作后递增1的I/O寄存器地址中读取或写入多个字节的数据。当I/O卡中存在大量I/O数据时,可使用此命令。在此操作中,起始地址加载到寄存器地址字段中。第一个操作发生在I/O卡中的那个地址。下一个操作将发生在地址+1,地址递增1,直到操作完成。与操作码0一样,字节数是在命令的字节计数字段中设置的。 • Register Address: 读写I/O寄存器的起始地址。范围为 [0x1FFFF:0]. 3.4 Responses 回应格式 Response与CMD对应关系如下表所示: 3.4.1 R1 R1b 3.4.3 R3: ACMD41的响应 3.4.5 R5: CMD52的响应 4 附录C - SD和SDIO的CMD区别 下图为SDIO解析参数设置 圆形绿点:帧起始。 方形红点:帧结束。 链接:https://pan.baidu.com/s/18gf_YuXnGqzx5nvQvxeAug 提取码:t8m8 或者: CSDN资源下载 |
CopyRight 2018-2019 实验室设备网 版权所有 |