sdio总线
sdio总线 和 usb总线 类似,sdio也有两端,其中一端是host端,另一端是device端。所有的通信都是由host端 发送 命令 开始的,device端只要能解析命令,就可以相互通信。
clk信号:host给device的 时钟信号,每个时钟周期传输一个命令。
cmd信号:双向 的信号,用于传送 命令 和 反应。
dat0-dat3 信号:四条用于传送的数据线。
vdd信号:电源信号。
vss1,vss2:电源地信号。
sdio热插拔原理
方法:设置一个 定时器检查 或 插拔中断检测
硬件:假如gpg10(eint18)用于sd卡检测
gpg10 为高电平 即没有插入sd卡
gpg10为低电平 即插入了sd卡
sdio命令
sdio总线上都是host端发起请求,然后device端回应请求。sdio命令由6个字节组成。
a -- command:用于开始传输的命令,是由host端发往device端的。其中命令是通过cmd信号线传送的。
b -- response:回应是device返回的host的命令,作为command的回应。也是通过cmd线传送的。
c -- data:数据是双向的传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过dat0-dat3信号线传输的。
sdio的每次操作都是由host在cmd线上发起一个cmd,对于有的cmd,device需要返回response,有的则不需要。
对于读命令,首先host会向device发送命令,紧接着device会返回一个握手信号,此时,当host收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着crc校验码。当整个读传送完毕后,host会再次发送一个命令,通知device操作完毕,device同时会返回一个响应。
对于写命令,首先host会向device发送命令,紧接着device会返回一个握手信号,此时,当host收到回应的握手信号后,会将数据放在4位的数据线上,在传送数据的同时会跟随着crc校验码。当整个写传送完毕后,host会再次发送一个命令,通知device操作完毕,device同时会返回一个响应。
阅读(363) | 评论(0) | 转发(0) |