Chinaunix首页 | 论坛 | 博客
  • 博客访问: 323797
  • 博文数量: 101
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 774
  • 用 户 组: 普通用户
  • 注册时间: 2018-10-15 14:13
个人简介

搭建一个和linux开发者知识共享和学习的平台

文章分类

全部博文(101)

文章存档

2024年(15)

2023年(24)

2022年(27)

2019年(8)

2018年(27)

分类: 嵌入式

2023-03-09 14:49:44

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

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

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

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

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

SDIO卡有三种总线模式:
    SPI模式
    1-bit SD传输模式
    4-bit SD传输模式

SDIO接口定义
    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信号线传输的。

命令格式:

    48bits的固定格式

  • 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(正常应答命令)



  • R2(CID,CSD寄存器)



  • R3(OCR寄存器)



  • R6(Published RCA应答)



  • R7(卡接口条件)



  • R4


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


  • R5


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


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



阅读(747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~