搭建一个和linux开发者知识共享和学习的平台
分类: 嵌入式
2023-03-09 14:49:44
全速卡: 传输速率超过100Mbps,时钟范围0-25MHz。
低速卡:时钟范围0-400KHz。
低速卡支持类似调制解调器, 条形码扫描仪和GPS接收器等应用。高速卡支持网卡,组合卡等。
SDIO卡有三种总线模式:
SPI模式
1-bit SD传输模式
4-bit SD传输模式
SDIO接口定义
CLK:host给device的时钟信号
CMD:双向的信号,用于传送命令和应答
DAT0-DAT3:用于数据的传送
不太模式下,引脚的定义也不同
SDIO总线上的设置和控制都是通过命令来实现,SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求,其中请求和应答中会包含数据信息:
Command: 用于开始传输的命令,是由HOST端发往DEVICE端的,其中命令是通过CMD信号线传送的。
Response: DEVICE返回的应答。也是通过CMD线传送的;
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。