(完整word版)SDIO协议简介_第1页
(完整word版)SDIO协议简介_第2页
(完整word版)SDIO协议简介_第3页
(完整word版)SDIO协议简介_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SDIO 卡SDIO 卡是在 SD 内存卡接口的基础上发展起来的接口,SDIO 接口兼容以前的SD 内存卡,并且可以连接 SDIO 接口的设备, 目前根据 SDIO 协议的 SPEC,SDIO 接口支持的设备总类有蓝牙,网卡,电视卡等。SDIO 协议是由 SD 卡的协议演化升级而来的, 很多地方保留了SD 卡的读写协议, 同时 SDIO协议又在 SD 卡协议之上添加了CMD52 和 CMD53 命令。由于这个, SDIO 和 SD 卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开始来支持低速I/O 能力。 低速卡支持类似调制解调器,条形码扫描仪和 GPS 接收器等应用。

2、 高速卡支持网卡, 电视卡还有 “组合”卡等,组合卡指的是存储器+SDIO 。SDIO 和 SD 卡的 SPEC 间的又一个重要区别是增加了低速标准。SDIO 卡只需要 SPI 和 1 位SD 传输模式。低速卡的目标应用是以最小的硬件开支来支持低速I/O 能力,低速卡支持类似MODEM ,条形扫描仪和GPS 接收器等应用。对组合卡来说,全速和4BIT 操作对卡内存储器和SDIO 部分都是强制要求的。在非组合卡的 SDIO 设备里,其最高速度要只有达到25M ,而组合卡的最高速度同SD 卡的最高速度一样,要高于25M 。SDIO 总线SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是

3、主机(HOST )端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解溪HOST的命令,就可以同HOST进行通信了。SDIO 的 HOST 可以连接多个DEVICE ,如下图所示:这个是同SD 的总线一样的,其中有如下的几种信号1. CLK 信号 :HOST 给 DEVICE 的时钟信号 .2. CMD 信号:双向的信号,用于传送命令和反应。3. DAT0-DAT3 信号 :四条用于传送的数据线。4. VDD 信号 :电源信号。5. VSS1, VSS2: 电源地信号。在 SD

4、IO 总线定义中 ,DAT1 信号线复用为中断线。在SDIO 的 1BIT 模式下 DAT0 用来传输数据, DAT1用作中断线。 在SDIO的4BIT模式下DAT0-DAT3用来传输数据, 其中DAT1复用作中断线。SDIO 命令:SDIO 总线上都是HOST 端发起请求,然后DEVICE端回应请求。其中请求和回应中会数据信息。1. Command: 用于开始传输的命令,是由HOST 端发往 DEVICE 端的。其中命令是通过CMD 信号线传送的。2. Response:回应是 DEVICE 返回的 HOST 的命令,作为 Command 的回应。也是通过CMD 线传送的。3.Data:数据

5、是双向的传送的。可以设置为1 线模式,也可以设置为4 线模式。数据是通过 DAT0-DAT3 信号线传输的。SDIO 的每次操作都是由HOST 在 CMD 线上发起一个CMD ,对于有的CMD , DEVICE 需要返回 Response,有的则不需要。对于读命令,首先HOST 会向 DEVICE发送命令,紧接着DEVICE 会返回一个握手信号,此时,当HOST 收到回应的握手信号后,会将数据放在4 位的数据线上,在传送数据的同时会跟随着 CRC 校验码。当整个读传送完毕后,HOST 会再次发送一个命令,通知DEVICE操作完毕, DEVICE同时会返回一个响应。对于写命令,首先HOST 会向

6、 DEVICE发送命令,紧接着DEVICE 会返回一个握手信号,此时,当HOST 收到回应的握手信号后,会将数据放在4 位的数据线上,在传送数据的同时会跟随着 CRC 校验码。当整个写传送完毕后,HOST 会再次发送一个命令,通知DEVICE操作完毕, DEVICE同时会返回一个响应。SDIO 的寄存器:SDIO 卡的设备驱动 80% 的任务就是操作SDIO 卡上的有关寄存器。SDIO 卡最多允许有 7个功能( function ) ,这个同其功能号是对应的(0 7) ,每个功能都对应一个128K 字节大小的寄存器,这个见下面的图。功能号之所以取值范围是17,而没有包含0,是因为功能 0 并不

7、代表真正的功能,而代表CIA 寄存器,即 Common I/O Area ,这个纪录着SDIO 卡的一些基本信息和特性,并且可以改写这些寄存器。其中地址 0x10000x17fff 是 SDIO 卡的 CIS 区域, 就是基本信息区域, Common Information Structure 。初始化的时候读取并配对SDIO 设备。这些寄存器的详细分区已经其对应的功能,在开发过程中都是需要仔细研读的,这些都在协议的 SPEC 中都有详细说明,这里就不在罗索了。CMD52 命令:SDIO 设备为了和SD 内存卡兼容, SD 卡所有 Command 和 Response 完全兼容, 同时加入了一

8、些新的Command和Response。例如,初始化SD内存卡使用ACMD41,而 SDIO 卡设备则用CMD5通知DEVICE进行初始化。但二者最重要的区别是,SDIO卡比SD 内存卡多了CMD52和 CMD53命令,这两个命令可以方便的访问某个功能的某个地址寄存器。CMD52 命令是IO_RW_DIRECT命令的简称,其命令格式如下首先第一位为0,表明是起始位, 第二位为传输方向,这里为 1,代表方向为HOST 向 DEVICE设备传送,其后6 位为命令号,这里是110100b ,用十进制表示为52 , CMD52 的名字也由此而来。紧接着是读写标志位。然后是操作的功能号。也就是funct

9、ionnumber 。如果为0 则指示为CCCR寄存器组。紧接着是寄存器地址,用17 指示,由于功能寄存器有128K 地址, 17 位正好能寻址。再下来8 位 Write data or Staff Bits的意思是说,如果当前为写操作,则为数据,否则填充位。无意义。最后 7 位为 CRC 校验码。最后一位为结束位0。对于 CMD52 的 Response 是 48 位,命令格式如下:8 位为总结下, CMD52Response。 CMD52是由 HOST 发往 DEVICE的,它必须有不需要占用DAT 线,读写的数据是通过DEVICE返回来的CMD52 或者 Response来传送。 每次

10、CMD52 只能读或者写一个 byteCMD53 命令:CMD52 每次只能读写一个字节,因为有了CMD53 对读写进行了扩展,CMD53 允许每次读写多个字节或者多个块(BLOCK) 。 CMD53 的命令格式如下:第一位是1,为开始位, 然后是一位方向位,总是 1,代表方向为HOST 向 DEVICE设备传送,其后 6 位为命令号,这里是110101b ,用十进制表示为53 , CMD53 的名字也由此而来。然后是1 位的读写标志。接着是3 位功能号,这个同CMD52 都是相同的。BlockMode 如果 1 代表是块传输模式,否则为字节传输模式。OP Code 例如,对地址为操作位,如果是0,代表数据往固定的位置读写,如果1 代表是地质增量读写。0 固定读写16 个字节,相当于16 次读写的地址0,而对地址0 增量读写16 个字节,相当于读写015地址的数据。然后是17 位的地址寄存器,可以寻址到128K字节的地址,然后是9 位的读写的计数,对于字节读取,读写大小就是这个计数,而对于块读写,读写的大小是计数乘以块的大小。随后的7 位为CRC 校验码。最后一位为1。当读写操作是块操作的时候,块的大小是可以通过设置FBR中的相关寄存器来设置。同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论