SD总线通信是基于指令和数据比特流,起始位開始和停止位结束。

SD总线通信有三个元素:
1.Command:由host发送到卡设备。使用CMD线发送。

2.Response:从card端发送到host端,作为对前一个CMD的对应,通过CMD线发送;

3.Data:即能从host传输到card,也能从card传输到host。通过data线传输。

一、Commands
下面是四种用于控制卡设备的指令类型,每一个command都是固定的48位长度:
1、broadcast commands(bc)。 no response:广播类型的指令。不须要有响应;
2、broadcast commands with response(bcr):广播类型的指令且须要响应;
3、addressed(point-to-point) commands(ac):由HOST发送到指定的卡设备,没有数据的传输;
4、address(point-to-point) data transfercommands(adtc):由HOST发送到指定的卡设备且伴随有传输数据。

Command format例如以下:

Byte1:0 1 x x x x x x(命令号。由指令标志定义CMD39为100111即16进制0x27。那么完整的CMD39第一字节为01100111,即0x27+0x40)。
Byte2-5:Command Arguments,命令參数,有些命令没有參数。

Byte6:前7位为CRC(Cyclic Redundacy Check。循环冗余校验)校验位,最后一位为停止位0。

当中bit[45:40]共6bit组成了Command index,换句话说。总共同拥有2^6次方(64)个CMD,这些CMD伴随在卡的初始化、识别、读写、擦除数据都会用到。

关于命令的具体描写叙述參考《Part_1_Physical_Layer_Specification_Ver3.00_Final_090416》的4.7.4 Detailed Command Description。在P88能够找到对应的CMD的具体介绍。

二、Responses
全部的response都通过CMD线发送到host端。R4和R5响应类型是SDIO中特有的:
1、R1(normal response command):用来响应经常使用指令;
2、R2(CID,CSD register):用来响应CMD2和CMD10或CMD9。并把CID或CSD寄存器作为响应数据。
3、R3(OCR register):用来响应ACMD41指令,并把OCR寄存器作为响应数据;
4、R6(published RCA response):分配相对卡地址的响应。
5、R7(card interface condition):响应CMD8,返回卡支持的电压信息;
6、R4(CMD5):响应CMD5,并把OCR寄存器作为响应数据;
7、R5(CMD52):CMD52是一个读写寄存器的指令,R5用于CMD52的响应。

Response的格式例如以下:

关于响应的具体描写叙述參考《Part_1_Physical_Layer_Specification_Ver3.00_Final_090416》的4.9 Responses 在P98能够找到对应的Responses的具体介绍。

SD/MMC的Commands和Responses的总结的更多相关文章

  1. Smart210学习记录-----SD/MMC/SDIO驱动

    转自:http://jingpin.jikexueyuan.com/article/23369.html http://blog.csdn.net/evilcode/article/details/7 ...

  2. Linux SD/MMC/SDIO驱动分析

    一.SD/MMC/SDIO概念区分 SD(SecureDigital)与 MMC(MultimediaCard) SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆 ...

  3. Linux SD/MMC/SDIO驱动分析_转

    转自:Linux SD/MMC/SDIO驱动分析    https://www.cnblogs.com/cslunatic/p/3678045.html#3053341 一.SD/MMC/SDIO概念 ...

  4. 在SD/MMC卡上实现hive (Implement WinCE HIVE&ROM system on NAND or SD system )

    本是个很简单的topic,但无奈的是很多客户都没有实现.所以只能写一个guide给客户,让他们依葫芦画瓢. 在SD卡上实现hive以及实现binfs最精髓的思想是,在boot stage 1依次加载s ...

  5. SD/MMC相关寄存器的介绍

    1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一.OCR,CI ...

  6. SD/MMC异同

    该文章转自:http://www.imhan.com/archives/12/ 经常看到SD/MMC这样的写法,在这里稍微总结一下SD卡和MMC卡的异同点吧. 首先,两者在外型的规格上是几乎一致的.而 ...

  7. SD/MMC卡初始化及读写流程

    二.MMC/SD卡的模型和工作原理 PIN脚.SD卡总线.SD卡结构.SD卡寄存器.上电过程 SD卡寄存器:  OCR:操作电压寄存器: 只读,32位 第31位: 表示卡上电的状态位   CID: 卡 ...

  8. sdio/sd/mmc architecture

    三个驱动mmc_core.ko mmc_block.ko omap_hsmmc.ko 读懂一个协议的架构有利于学习源码 参考了 http://processors.wiki.ti.com/index. ...

  9. 对freescale的mfgtool的ucl2.xml的理解

    转载于此:http://blog.csdn.net/bugouyonggan/article/details/8664898 对于Freescale MFG编程工具控制文件ucl2.xml的分析 为了 ...

随机推荐

  1. Using URL Schemes to Communicate with Apps

    要素:1)通信双方:2)协议:3)支持机制(系统,进行协议注册):4)数据 https://developer.apple.com/library/content/documentation/iPho ...

  2. vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容

    vue文件模板 模板变量 https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables vue.json { // ...

  3. Vsphere中ESXi主机ssh开启的三种方法

    ESXi 5.5是直接安装在物理主机上的一个虚拟机系统,本质上是一个Linux系统. 平时可以通过VMware Client端或者VMware vCenter进行管理,但对于一些特殊的VMware命令 ...

  4. PHP04 HTTP协议入门(转)

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...

  5. jquery实现密码强度检测

    jquery实现密码强度验证   jquery实现密码强度验证 JS代码:   $('#pass').keyup(function(e) { var strongRegex = new RegExp( ...

  6. 【简●解】[ZJOI2005]午餐

    [简●解][ZJOI2005]午餐 [关键词] \(DP\) 排序/贪心 [分析] 首先,一个很明显的贪心思路,就是吃的慢的人先打饭.所以把数据按吃饭时间从大到小排一遍序. 根据\(dp\)的尿性,比 ...

  7. PHP基于phpqrcode类生成二维码的方法详解

    前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/2.PHP环境必须开启支持GD2扩展库支持(一般情况下都是 ...

  8. 02-Mysql中的运算符

    Mysql中运算符 1.算术运算符运算符 作用+   加法-    减法*    乘法/,DIV     除法,返回商%,MOD       除法,返回余数 mysql root@localhost: ...

  9. 高可用技术之keepalived原理简单了解

    Keepalived 工作原理 keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议. 虚拟路由冗余协 ...

  10. 【HIHOCODER 1105】题外话·堆

    描述 小Ho有一个糖果盒子,每过一段时间小Ho都会将新买来的糖果放进去,同时他也会不断的从其中挑选出最大的糖果出来吃掉,但是寻找最大的糖果不是一件非常简单的事情,所以小Ho希望能够用计算机来他帮忙计算 ...