sdio卡识别与sd的异同

对于SD I/O卡而言,卡识别过程如下:
1. 总线被激活
2. SDIO卡主机发送IO_SEND_OP_COND(CMD5)命令
3. 得到的响应是卡的操作条件寄存器的内容;
-如果有响应,并且响应中的MP位为0,说明对应卡槽中的卡为SDIO卡,进而开始SDIO卡的初始化流


–如果发送CMD5命令没有响应,则说明对应卡槽的卡为SD或MMC卡,进而开始SD/MMC卡的初始化流程

–如果发送CMD5命令,有响应,且响应中的MP位为1,说明这个卡不但是SDIO卡,同时也时SD卡,也

就是所谓的combo卡,则进行combo卡的初始化流程

SD卡与SDIO卡的异同
1.SD卡使用的是SD卡协议,而SDIO卡使用的是SDIO协议;协议不一样,初始化/读写方式都不一样
2.SDIO mode 同样也有1bit和4bit 总线模式
3.SD与SDIO卡的引脚的一个最大的区别是:SDIO有个中断引脚DAT[1],在4bit模式下,DAT[1]既做数据线,又

做中断线,因此是分时复用的,在总线发送命令期间,DAT[1]用作中断线。
SDIO协议
–相对于SD协议,SDIO协议特有的命令有:cmd5,cmd52,cmd53
–cmd5命令相当于SD卡协议中的acmd41,用于匹配SDIO卡的电压
–对于SDIO卡中的单个寄存器的读写一般都使用cmd52命令,而对于多字节数据的读写则用cmd53命令。
–cmd53分字节和块传输模式
对于字节传输模式相当于SD协议的单块读写(cmd17,cmd24)
对于块传输模式相当于SD协议的块读写(cmd18,cmd25)

Cmd53
–对于字节传输模式,它可以是1~512之间的任意长度的传输,而不是固定长度
–对于块传输模式,首先它的块长度可以人为设定,但不能超过规定的最大块长度
–相对于SD卡中的块传输模式,在最后一个块传输末尾,是不需要发送块停止命令的(cmd12)

时间: 10-29

sdio卡识别与sd的异同的相关文章

[mmc]Linux下MMC/SD/SDIO的识别与操作

转自:http://blog.csdn.net/skdkjzz/article/details/38927943 我们知道host在扫描卡的过程中,其识别的顺序为SDIO  SD MMC,并且从它的注释可以看出,这个顺序是很重要的.那这篇文章,我们就看看SDIO的识别过程,它对应的函数就是mmc_attach_sdio(host) (函数位于文件drivers/mmc/core/sdio.c), 那么同一个控制器是如何区分mmc/sd/sdio设备的,软件会不停的轮训设备,发不同的指令,然后不同

U-Boot 不能识别FAT32 SD分区

/********************************************************************* * U-Boot 不能识别FAT32 SD分区 * 说明: * 武馆在使用SD进行配置系统的时候,无法完成配置,主要原因是U-Boot * 没有识别FAT32格式的SD分区导致无法读取到分区中的配置文件. * * 2017-8-18 深圳 龙华樟坑村 曾剑锋 *************************************************

关于手机的内置SD卡与外置SD卡

对于安卓2.3的系统来说,Environment.getExternalStorageDirectory()获取的目录是内置SD卡还是外置SD卡是无法保证的, 和手机厂商的修改有关,只能通过Environment.isExternalStorageRemovable()来判断,如果返回true就是外置的,因为外置的才能卸载.(但是我目前只遇到过安卓4.4系统才有内置SD卡,所以Environment.getExternalStorageDirectory()在2.3系统上当外置的用吧,遇到特殊机

机器学习进阶-案例实战-答题卡识别判

1.H = cv2.getPerspectiveTransform(rect, transform_axes) 获得投射变化后的H矩阵 参数说明:rect表示原始的位置左上,右上,右下,左下, transform_axes表示变换后四个角的位置 2.cv2.warpPerspective(gray, H, (width, height)) 根据H获得变化后的图像 参数说明: gray表示输入的灰度图像, H表示变化矩阵,(width, height)表示变换后的图像大小3. cv2.approx

无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.demo1" /> 上面targetPackage指定的包要和应用的package相同. (2)在清单文件中ap

解剖嵌入式设备开发时以SD卡启动时SD卡的存储结构(以三星exynos4412为例)

目前面对高性能产品的嵌入式开发中,用SD卡来代替以往的JLINK显得备受大家喜欢,而且MCU厂家也对以SD卡启动的支持度越来越大,反而对JLINK不在那么重视(不过依旧保留着).一些以开发开发板的公司在提供他们自身的bootloader(只是其中一部分是他们自身的代码而已,下面我会讲到这一点)时其原码并不对外公开,不过大家喜欢的u-boot的原码是开源的,可是像友善之臂他们的那样,还得通过他们的superboot来把u-boot二进制代码载入到LAND FLASH,EMMC等这类外部rom设备中

SD卡容量等级-SD/SDHC/SDXC

SD联盟根据存储卡容量,推出了不同的标准,包括SD(secrue)标准.SDHC标准.SDXC标准,规定了不同容量等级对应使用的文件系统,并且规定了在SD卡上必须使用规定的logo标明容量等级. SD standard - Up to 2GB SD memory card using FAT 12 and 16 file systems SDHC standard - over 2GB-32GB SDHC memory card using FAT32 file system SDXC stan

USB/GPIO/SDIO

通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范.它只有4根线,两个电源(5V,地线),两个数据线(D+,D-).,故信号是串行传输的,即按照传输时钟脉冲的节奏一位一位的传输.usb接口也称为串行口. usb接口的4根线一般是下面这样分配的,需要注意的是千万不要把正负极弄反了,否则会烧掉usb设备或者电脑的南桥芯片:黑线:gnd 红线:vcc 绿线:data+(DP) 白线:data-(DM)

SylixOS基于Nuc970平台的SD驱动移植

1. 适用范围 本文档为实现Nuc970平台的SD驱动总结,提供一些SylixOS SD驱动移植方法的参考. 2. 原理概述 2.1 控制器类型 SD控制器有两种类型,分为SD标准控制器(SDHCI)和SD非标准控制器. SylixOS Base代码中实现了SDHCI的驱动,但Nuc970的SD控制器是非标准控制器,其功能都需要在BSP中单独实现. 2.2  命令.应答.数据 SD传输过程中会有命令.应答和数据三个概念存在. 命令和应答都是在CMD线上传输的,数据在DAT线上进行传输. 2.2.