资讯详情

SD卡的详细资料(开发文档)

1、简介

是基于flash的存储卡 SD卡和MMC卡的区别在于初始化过程不同。 SD卡的通信协议包括SD总线和 I两类。 SD卡使用卡内智能控制模块进行FL 操作控制,包括协议、安全算法、数据存取、ECC算法、缺陷处理和分析、 、时钟管理。 通信电压范围:2.0-3.6V;工作电压范围:2.0-3.6V 最大读写速率:10Mbyte/s 最大10 个堆叠的卡(20MHz,Vcc=2.7-3.6V) 2:卡类型 MMC卡: MultiMedia card,有 7 个触点( 引脚),分为两种操作模式,分别为 MMC模式与SPI 模式,两种模式对引脚的定义是不同的。SPI 模式只有 Host 具有SPI 时才能使用。MMC只具有存储功能,不像SD卡还具有加密功能。 SD卡: Security Digtial card,共有9 个触点( 引脚),多余的 2 个引脚为数据线,但使用与 MMC卡兼容的模式时,这两个多余的引脚没有起到作用。SD卡除了存储功能外,还有一种加密功能,但加密功能是收费的(所以开源的linux中只包含mmc的驱动目录),因为当初SD卡联盟中( )就是发明这种卡就是用来存储音乐(淘汰卡带),并使用加密特性,防止拷贝。 TF卡:软件上SD卡一致,只是在硬件的体积上比SD卡西小,所以市场上很多的的SD外形卡套 SDIO卡:这种卡并不是存储卡,可以理解为一个SDIO接口卡,如WIFI(SDIO接口);并非memory卡,故名思意, 就是输入/ 输出卡,这种卡有用于 LAN的、也有用于蓝牙的。

3、SD卡协议

1.x:小于2GB的卡(但通过相关的软件,可以模拟实现大于2GB)

2.0: 2<SD卡<32 GB

3.0: >32GB

4、SD卡通信接口

SD卡有9个pin:1个VDD,2个VSS(GND),CLK,CMD,DATA0-DATA3, 【DATA3可以作为卡检测脚】

SD卡可以使用SD总线接口,也可以使用SPI通信接口;

SD总线接口描述:

CMD:Command is a bi-directional signal. (Host and card drivers are operating in push pull mode.) 【命令与响应都是走这条线】

DAT0-3:Data lines are bi-directional signals. (Host and card drivers are operating in push pullmode.) 【真正的数据走这几条线,数据位是可以配置:1~4】

CLK:Clock is a host to cards signal. (CLK operates in push pull mode.)

VDD:VDD is the power supply line for all cards.

VSS[1:2]:VSS are two ground lines.

SPI接口描述:

CS:Host to card Chip Select signal.

CLK:Host to card clock signal.

DataIn:Host to card data signal.

DataOut:Card to host data signal.

5、SD卡内部结构

Each card has a set of information registers The RCA register is not available in SPI Mode. OCR: 卡操作电压寄存器 32位, 只读,每隔0.1V占1位, 第31位卡上电过程是否完成 CID: 卡身份识别寄存器 128bit,只读, 厂家号,产品号,串号,生产日期 SCR: 卡配置寄存器, 可写的 64bit 是否用Security特性(LINUX不支持),以及数据位宽(1bit或4bit) : 卡地址寄存器: 可写的 16bit SD host和卡进行协商的一个地址,内核中会在代码里面记录这个地址,卡这 边则写到RCA寄存器 CSD: 卡专有数据寄存器 部分可读写 128bit, 卡容量,最大传输速率,读写操作的最大电流、电压,读写擦出块的最大长度等 The host may reset the cards by switching the power supply off and on again. The card has its own power-on detection circuitry which puts the card into an idle state after the power-on. The card can also be reset by sending the GO_IDLE (CMD0) command. 5、SD卡上电过程

SD卡的电压上到2.0V,SD卡开始工作,此时支持的命令非常有限(其中最主要支持ACMD41命令,sd host问卡的操作电压时多少? 卡就会从它的OCR寄存器里面读出SD卡出厂就烧录在里面的卡的操作电压值返回给sd host),当电压调整到它要求的VDD时候(SD卡的工作电压在2.7~3.6V,常见3.3V),同时SD的CLK从400KHZ调整到更高频率(比如25MHZ),这时卡就完全正常的工作了。接下来可以去获取卡的生产厂家,容量等信息。

6、SD卡的命令和响应以及数据传送的格式 MMC/SD通过发命令的方式来实现卡的初始化和数据访问 卡寻址通过会话地址方式实现,地址在初始化的时候分配给卡。SD 总线上 的基本操作是command/response。 数据传送采用块方式,数据块后接CRC 校验位,操作包括单数据块和多数据 块。多数据块更适合快速写操作,多数据块传输当在 CMD 线出现停止命令时结束。 数据传输可以在主机端设置采用单数据线或多数据线方式。 块写操作在DAT0 数据线写操作期间使用忙信号,无论用来传输的信号线数 目是多少。 命令:通过CMD线 响应:通过CMD线 数据:通过4条数据线

最多支持64个命令: CMD0~CMD63,(其中CMD57~63是保留的) ACMD: Application Sepcific command: ACMD41 =cmd55 + cmd41,组合命令,CMD55是前导命令,提醒卡后面的CMD41是一个特殊的命令 命令的类型

广播命令(bc,bcr)——广播命令发送给所有SD卡,有些命令需要响应。

寻址(点对点)命令

(ac,adtc)

——

寻址命令只发送给具有相应地址的卡,并

需要从卡返回一个响应。

Broadcast Commands ( bc), no response The broadcast feature is applicable only if all the CMD lines are connected together in the host. If they are separated then each card will accept it separately on his turn. response from all cards simultaneously. Since there is no Open Drain mode in SD Card, this type of command is used only if all the CMD lines are separated. The command will be accepted and responded to by every card separately. no data transfer on DAT. data transfer on DAT . 响应: R1 (standard response): response length 48 bit R1b is identical to R1 with an optional transmitted on the data line R2 (CID, CSD register): response length 136 bits. The content of the CID register is sent as a response to . The content of the CSD register is sent as a response to . R3 (OCR register): response length 48 bits. The co
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台