1.0 简介
安全数字卡(简称SD卡),最初引进应用于手持式可携带电子产品,在一个小尺寸产品上可靠的存储数据,如移动电话,数码相机等。近来,SD卡也被应用于工业级环境中。
传统的工业级存储接口是ATA,要么是2.5"驱动器要么是TureIDE模式的PC卡,CF卡或者DOM。SD接口与ATA有很大区别。这份简介是为了帮助那些刚开始用SD接口的客户更好的懂得它的特征与用法。
2.0 规格
官方的SD卡规格由SD卡协会发布(www.sdcard.org)。官方的规格仅能从SD卡协会成员获得。尽管如此,SD卡协会会免费提供一个简单的物理层版本,对帮助终端用户在他们的系统里设计SD卡是有用的。任何人在他们的系统里设计
SD卡都可以下载这个文档,因为它包含物理层接口与命令协议等一些有价值的信息。
3.0 基础知识
与CF卡或者PC卡一样,SD卡内部包含一个控制器,能控制内部所有的闪存操作。根据串行时钟数据在主机与卡之间传输,速度为512字节块。目前定义FAT12/16的文件系统的卡容量在2G字节或以下,FAT32的卡的容量在4G字节或者以上。
3.1 引脚说明
与CF或者PC卡不同,SD卡没有使用PIN针,取而代之的是使用9个接触焊盘,如下图所示。
注意焊盘9的特殊性,他的宽度与焊盘8不同,这是为了与MMC卡兼容。
3.2电平
标准SD卡操作电压范围是2.7-3.3V。专用的低电压版本SD卡能工作在1.6V。仙人掌科技的SD卡工作电压范围在标准的SD卡电压范围内。
3.3总线协议
SD卡有定义2套总线协议。默认是本地SD模式,但是能配置成较慢SPI模式。在上电后第一次复位命令期间选择协议。SD卡工作在SD模式。若将卡切换到SPI模式,当主机发送复位命令给卡时CS信号必须生效。一旦配置了专用的协议,在供电期间都不能改变。切换协议的唯一方法就是重新上电。
剩下章节信息主要是说明一般SD模式操作。SD模式与SPI模式之间的区别的摘要在第5节。
3.4 总线宽度
SD卡工作于时钟串行模式的位宽度是1-4位。在SPI模式,仅仅工作于1位的模式。
3.5 时钟频率
SD工作于2种速度模式,默认模式时钟频率是0-25MHz,高速模式是0-50MHz。
3.6 卡寄存器
所有SD卡包含一套寄存器信息,用来描述与控制多种特征卡的支持性。类似卡配置寄存器与PC或CF卡的CIS结构(或者识别IDE驱动器的驱动结构)。如下表格列出了卡的信息寄存器与他们的描述:
名称 | 宽度 | 描述 |
CID | 128 | 卡序列号 |
RCA | 16 | 卡的相对地址,仅用于SD模式 |
DSR | 16 | 驱动寄存器,这个选项用于控制卡的输出驱动器 |
CSD | 128 | 卡专用数据,类似CIS或者识别驱动器结构 |
SCR | 64 | SD配置寄存器 |
OCR | 32 | 工作条件寄存器 |
4.0 协议基本技术
SD卡协议由主机与SD卡之间的命令交换或者反馈标号组成。数据通过数据包进行传输。一个包由数据块与CRC检验位组成。数据可以通过单个块与多个块模式进行传递,类似ATA读/写扇区与读/写多重命令。
所有的传输在CMD/DAT引脚进行前首先使用MSB(最高有效位)。当数据在DAT引脚上传输时,CMD引脚发送命令与反馈信号。
4.1 命令标识
命令标号格式如下:
0 | 0 | 反馈内容 | 1 |
48位反馈标识格式
0 | 0 | 反馈内容 | 1 |
136位反馈标识格式
4.2 数据包
有2中类型数据包格式。一种是一般字节宽的数据,与其他使用512位数据块较宽的宽度数据。2种类型数据都被CRC16保护。
对于一般512字节数据传输,首先传输最小的重要字节,但是在个别字节,数据首先传送MSB。
数据传输在1位模式(只使用DAT0)或者4位模式(如果被使能,使用DAT0-3)。当使用4位模式,字节格式的数据例如在DAT[3:0]数据线上,bit[7:4]在bit[3:0]后面传送。在简易SD规格书中有详细的格式图解。可以从SD卡协会网站下载。
5.0 SPI工作模式
大部分SD卡的工作是相同的,要么是SD模式要么SPI模式,但是有一些不同需要指出。
SPI模式总线宽度只有1位。
SPI传输是字节式的,所有命令与数据传输有一系列字节组成。
SPI有定义2个新的反馈标记。
如果卡在读取数据时遇到错误条件,SPI模式将反馈一个ERROR标记相当于SD模式的超时。
SPI模式写入块,卡会在收到每个数据块后返回一个数据反馈标记。
SPI模式写入块,数据块优先于开始块标记。
SPI模式CRC保护是可选择的,即使如此,当卡在SD模式会发送复位命令,因此,这个命令必须用一个有效的CRC发送。
命令等级1,3,9不支持SPI模式。专门的等级才有支持命令,这也是SPI与SD模式之间的区别。
6.0 深入阅读
这个白皮书仅仅是SD卡接口的简单介绍,更详细的SD协议,命令设置,反馈,寄存器描述等等,我们强烈鼓励读者从SD卡协会网站下载简易SD卡物理层规格书,或者通过签名LAMS有效协议获得官方完整规格书。
7.0 附录
下面是SD接口数据传输顺序的一些图示
SD模式单个块读取传输
SD模式多个块读取传输
SD模式单个块写入传输
SD模式多个块写入传输
SPI模式单个块读取
SPI模式多个块读取
SPI模式,块读取错误反馈
SPI模式,单个块写入
SPI模式,多个块写入
8.0支持信息
如果您希望获得一些关于数据控制的额外信息,可随时联系仙人掌科技
我们希望本白皮书能帮助我们的客户能更好的理解,读者有更深入的问题,随时欢迎联系我们的销售部门.
邮箱:daniel.zhao@cactus-tech.cn
文章原创:工业级闪存专家仙人掌科技