搭建一个和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。