存档

文章标签 ‘SD’

[整理]SD协议概述

2012年3月29日 sigma 没有评论 6,046 views

这段时间折腾某芯片上的SDIO,在这里将相关知识整理下,以便备忘。需要注意的是,由于我们的SD只支持SD模式,不支持SPI模式,因此文中内容也是针对SD模式的,后面不再强调此点。

信号

CLK:时钟信号
CMD:双向命令和响应信号
DAT0-3:双向数据信号
VDD,VSS:电源和地信号
注:SD模式下可以选择总线宽度, 即选用几根DAT信号线(1或4根), 可以在主机初始化后设置.

比特流

SD协议规范的比特流类型有三类:

  • 命令: 是在CMD上传输的用于启动一个操作的比特流. 由主机发往从机, 可以是点对点也可以是广播的.
  • 响应: 是在CMD上传输的用于之前命令回答的比特流. 由从机发往主机.
  • 数据: 是在DAT上传输的比特流, 双向传输.

命令和数据流都有一个开始位和结束位.

命令

SD协议定义了两类命令,广播命令以及点对点命令,

  • 广播命令:给所有卡都发送, 某些命令需要响应.
  • 点对点命令:给指定地址的卡发送, 需要响应.

工作模式

  • 卡识别模式:主机上电复位后即处于此模式,它会在总线上等待卡. 卡复位后也处于此模式, 直到SEND_RCA(CMD3)命令到来.此模式下主机复位总线所有的卡, 验证工作电压, 询问卡的地址. 这个模式下所有数据的传输都是只通过CMD线来完成.
  • 数据传输模式:卡收到SEND_RCA(CMD3)命令后即进入此模式. 主机识别到卡后也进入此模式.CMD7命令用于使指定地址的卡进入传输模式, 任何指定时刻只能有一个卡处于传输模式.传输模式下所有的数据传输都是点对点的, 并且所有有地址的命令都需要有响应.
分类: 贝壳 标签: , ,

无觅相关文章插件,快速提升流量