logo资料库

SD2.0协议中文版.pdf

第1页 / 共81页
第2页 / 共81页
第3页 / 共81页
第4页 / 共81页
第5页 / 共81页
第6页 / 共81页
第7页 / 共81页
第8页 / 共81页
资料共81页,剩余部分请下载后查看
1、总体描述
2、系统特征
3、SD卡系统概念
3.1 读写属性
3.2 支持电压
3.3 卡容量
3.4 速度等级
3.5 总线拓扑
3.5.1 SD总线
3.5.2 SPI总线
3.6 总线协议
3.6.1 SD总线
3.6.2 SPI总线
3.7 SD卡管脚和寄存器
4、SD卡功能描述
4.1 简介
4.2 卡识别模式
4.2.1 卡复位
4.2.2 操作条件确认
4.2.3 卡初始化和识别过程
4.3 数据传输模式
4.3.1 宽总线选择/取消
4.3.2 2GB卡
4.3.3 读数据
4.3.4 写数据
4.3.5 擦除
4.3.6 写保护管理
4.3.7 卡锁定/解锁操作[CMD42]
4.3.7.1 概述
4.3.7.2 参数和CMD42的结果
4.3.7.3 强制擦除
4.3.7.3.1 锁定卡的强制擦除功能
4.3.7.4 ACMD6和锁定/解锁状态的关系
4.3.7.5 锁定卡接受的命令
4.3.7.6 锁定/解锁卡的两种类型
4.3.8 内容保护
4.3.9 特定应用命令
4.3.9.1 特定应用命令—APP_CMD(CMD55)
4.3.9.2 通用命令—GEN_CMD(CMD56)
4.3.10 切换功能命令[CMD6]
4.3.10.1 概述
4.3.10.2 模式0运行—查询功能
4.3.10.3 模式1运行—设置功能
4.3.10.4 切换功能状态
4.3.10.4.1 Busy 状态指示功能
4.3.10.4.2 数据结构版本
4.3.10.4.3切换命令的功能列表
4.3.10.5 CMD6数据和其他命令之间的关系
4.3.10.6 切换功能流程实例
4.3.10.7 查询实例
4.3.10.8 切换实例
4.3.11 高速模式(25M/s接口速度)
4.3.12 命令系统
4.3.13 发送接口条件命令(CMD8)
4.3.14 高容量SD卡的命令功能区别
4.4 时钟控制
4.5 循环冗余码(CRC)
4.6 错误条件
4.6.1 CRC和非法命令
4.6.2 读,写和擦除超时情况
4.6.2.1 读
4.6.2.2 写
4.6.2.3 擦除
4.7 命令
4.7.1 命令类型
4.7.2 命令格式
4.7.3 命令类
4.7.4 详细命令描述
4.8 卡状态转换表
4.9 响应
4.9.1 R1(正常响应命令)
4.9.2 R1b
4.9.3 R2(CID,CSD寄存器)
4.9.4 R3(OCR寄存器)
4.9.5 R6(发布的RCA寄存器响应)
4.9.6 R7(卡接口条件)
4.10 SD卡的两种状态信息
4.10.1 卡状态
4.10.2 SD状态
4.11 存储阵列分区
4.12 时序
4.12.1 命令和响应
4.12.2 读数据
4.12.3 写数据
4.12.4 时序值
4.13 速度等级规范
4.13.1 分配单元(AU)
4.13.2 记录单元(RU)
4.13.3 写性能
4.13.4 读性能
4.13.5 性能曲线定义
4.13.6 速度等级定义
4.13.7 记录期间插入FAT更新的考量
4.13.7.1 确定条件来结束平均TFw
4.13.7.2 最大FAT写时间
4.13.8 速度等级的测量条件和需求
4.13.8.1 测量条件
4.13.8.2 每个速度等级的性能参数需求
4.13.8.3 SD文件系统的需求
4.14 擦除超时计算
4.14.1 擦除单元
4.14.2 擦除时间特性的案例分析
4.14.3 大面积擦除的方法
4.14.4 使用参数寄存器计算擦除超时值
5、SD卡寄存器
5.1 OCR寄存器
5.2 CID寄存器
5.3 CSD寄存器
5.3.1 CSD_STRUCTURE
5.3.2 CSD 寄存器(1.0)
5.3.3 CSD 寄存器(2.0)
5.4 RCA寄存器
5.5 DSR寄存器(可选)
5.6 SCR寄存器
6、SD卡硬件接口
6.1 热插拔
6.2 卡检测(插入/拔出)
6.3 电源保护(插入/拔出)
6.4 电源方案
6.4.1 上电
6.4.2 下电和电源周期
6.5 可编程卡输出驱动(可选)
6.6 总线操作条件
6.6.1 高电压范围的阀值
6.6.2 低电压范围的阀值
6.6.3 通用
6.6.4 电流消耗
6.6.5 总线信号线加载
6.6.6 总线信号电平
6.7 总线时序(默认)
6.8 总线时序(高速模式)
7、SPI模式
8、SD卡电气规格
附录A
附录B
SD2.0协议标准完整版【翻译:沙贝@中科创达2014.11】1、总体描述Sd存储卡,是为了满足安全、容量、性能、和环境需求的新型音视频电子存储卡。Sd卡包含一个内容保护机制,符合SDMI标准,并且有更快的速度和更高的容量。Sd卡的安全系统采用双向认证和“新密码算法”来防止卡的内容被非法使用。也可以对用户自己的数据进行非安全访问。SD卡也支持基于常用标准的第二安全系统,比如ISO-7816,这样就可以用于将SD卡连接到共用网络和其他系统,来支持移动电子商务和数字签名的应用。除了SD卡外,还有SDIO卡。SDIO卡规范在一个单独的规范中定义,命名为“SDIO卡规范”(可以从SD协会得到)。SDIO规范定义了一个SD卡可能包含不同的IO单元同SDhost之间的接口。SDIO卡可以包含存储功能,以及IO功能。SDIO卡的存储部分应该完全兼容SD卡规范。SDIO卡基于并兼容SD卡。这种兼容包括机械、电气、电源、信号和软件。Sdio卡的意图是为移动电子设备在低功耗情况下提供高速数据读写。一个主要目标是一个IO卡插到非SDIO主机中,不会引起物理损坏或者设备和软件的中断。这种情况下IO卡应该被简单的忽略掉。一旦插入一个SDIO主控,卡的检测将以常规的方法描述,即带有SDIO规范扩展的SD卡规范SD卡通信是基于9-pin接口(时钟,命令,数据x4,电源x3),设计在最大50M频率以及低电下工作。通信协议是本规范的一部分。SD规范分为几个文件:SD规范安全规格SDspecificationsSecuritySpec音频规范(Audio)其他应用文档文件系统规范Sd规范物理层规范Mc-EX接口规范SDIO卡规范●音频规范这个规范,以及其他应用规范,描述了一个特殊应用的规范(本文档是音频应用),以及实施需求●文件系统规范这个规范描述了存储在sd卡上的数据的文件格式化结构的规范(保护和非保护区域)●安全规范这个规范描述了内容保护机制和支持的特殊应用命令●物理层规范(本文档)这个规范描述了sd卡使用的物理接口和命令协议。这个文档的目的是定义sd卡以及它的环境和处理。这篇文档被分为了几个部分:第3章是关于系统概念的概述第4章描述了常见SD卡特点。这种描述定义了卡的整体性能,我们建议看产品文档第5章描述了sd卡寄存器第6章定义了sd卡的硬件接口的电气参数第8章描述了sd卡的物理和机械性能,以及卡槽或者盒子的最小建议。
这个文档中,“shall”和“will”表示一个标准的强制性规定。“should”表示一个条款,建议但不强制。“may”是指一个特征(feature),可能存在或不存在(看使用者选择),它的存在并不影响依存性●Mc-EX接口规范SD卡规范的A1部分作为SD卡物理层规范的扩展,提供了所有传输移动商务扩展(MC-EX)命令包所需要的定义。(从Mc-EXhost到Mc-EX使能SD卡,或者反向传输)2、系统特征●针对便携式和固定式应用●存储容量:标准容量SD卡:最高达到2GB高容量SD卡:大于2GB(本版本规格最高32GB)●电压范围:高电压SD卡-工作电压范围:2.7-3.6V双电压SD卡-工作电压范围:低电范围(T.B.D)和2.7-3.6V●专为只读和读/写卡●默认模式:可变时钟频率0-50MHz,最高25MB/s的接口速度(使用4条并行数据线)●切换功能命令支持高速,电子商务和未来的功能●存储区域错误改正●读取操作过程卡被移除,不会损坏内容●内容保护机制-符合SDMI标准的最高安全标准●卡密码保护(CMD42-LOCK_UNLOCK)●机械开关的写保护功能●内置写保护功能(临时和永久)●卡检测(插入/拔出)●应用特殊命令●轻松擦写机制●通信信道的协议属性SD卡通信信道6线通信信道(时钟,命令,数据x4)错误保护数据传输单块或多块的定向数据传输●SD卡形状标准尺寸的SD卡:见本规格的第6、8章MiniSD卡:见“miniSDMemoryCardSpecification”MicroSD卡:见“microSDMemoryCardSpecification”●SD卡标准尺寸2.1mm和1.4mm本规范的所有特征都是基于标准尺寸的SD卡3、SD卡系统概念SD卡提供给应用设计者一个低成本的存储设备(支持高安全级别的内容保护的可插拔卡),以及一个简洁,易实现的接口。
SD卡可以分为几个等级(class),他们提供的功能不同(功过D卡系统命令的子集提供)一个SD卡系统包含SD卡,总线,以及主机/应用。不过主机及应用的说明不在本文档中。接下来的各节提供了卡的概述,总线拓扑,SD卡系统的通信协议。内容保护系统描述在文档“SDMemoryCardSecuritySpecification”中。3.1读写属性以读写属性来说,有两种SD卡:●读写卡(闪存,一次可编程-OTP,多次可编程-MTP)这些卡一般是空白媒体卡卖出,用于存储含量数据,终端用户视频,音频或者数字图像●只读卡(ROM)这些卡是用固定内容制作的卡。他们通常用软件,音频视频的分发媒体。3.2支持电压以电压来说,有两种SD卡:●高电压SD卡,可以工作在2.7-3.6V●双电压SD卡,可以工作在低电范围(T.B.D)以及2.7-3.6V3.3卡容量以容量来说,有两种SD卡:●标准容量SD卡,支持最大2GB的容量。所有的物理规格文档都会定义这种●高容量SD卡,支持超过2GB的容量。本文档解释的规格最大为32GB容量。只有Host支持2.0协议才能够识别这种高容量SD卡。注释:1“Part1物理层规格V2.0”以及“Part2文件系统规格V2.0”允许标准容量SD卡最大2GB,高容量SD卡最大32GB。大于32GB的容量将在未来的版本中说明。2Host如果可以读写2GB到32GB的SD卡,那么它应该也可以读取2GB或更小的卡。如果Host只支持标准容量SD卡,则不能识别超过2GB的卡。即向下兼容。●高容量的SD卡有两种类型。类型A(单状态卡)有一个单独的高容量存储区域。细节参考“PhysicalLayerSpecificationversion22.00”。类型B(多状态卡)有一个高容量存储区和标准容量存储区。在B类卡中,每次只能有一个存储区域能够使用。可以通过电气开关来切换哪个区域被使用。详细信息见未来的文档。主机端不一定要区别两种类型。3.4速度等级我们定义了4个速度等级,来表示卡的最小速率:(实际上目前最高Class10)●Class0–这种卡不定义具体性能,代表了这个规范出来之前的所有卡●Class2–最小2MB/s的性能●Class4–最小4MB/s的性能●Class6–最小6MB/s的性能●Class8–最小8MB/s的性能●Class10–最小10MB/s的性能
高容量SD卡应该支持速度等级规格,并且最小要到Class2。注意:性能单位表示的是1000x1000[字节/秒],而数据大小的MB单元指的是1024x1024字节。这是因为最大SD总线速度是由最大SD时钟频率决定的,而数据大小是基于存储范围。3.5总线拓扑SD卡系统定义了两种通信协议:SD和SPI主机系统可以选择任意一种。当收到reset命令的时候,SD卡通过主机的信息来决定使用何种模式,并且之后的通讯都会使用相同的模式。不推荐多卡槽用共同的总线信号。一个单独的SD总线应该连接一个单独的SD卡。在主机支持高速模式的情况下,单独的SD总线应该连接单独的SD卡。3.5.1SD总线图3-2SD卡总线拓扑SD总线包含下面的信号:CLK:时钟信号CMD:双向命令/响应信号DAT0-DAT3:双向数据信号Vdd,Vss1,Vss2:电源和地信号SD卡总线有一个主(应用),多个从(卡),同步的星型拓扑结构(图3-2)。时钟,电源和地信号是所有卡都有的。命令(CMD)和数据(DAT0-3)信号是根据每张卡的,提供连续地点对点连接到所有卡。在初始化时,处理命令会单独发送到每个卡,允许应用程序检测卡以及分配逻辑地址给物理卡槽。数据总是单独发送(接收)到(从)每张卡。但是,为了简化卡的堆栈操作,在初始化过程结束后,所有的命令都是同时发送到所有卡。地址信息包含在命令包中。SD总线允许数据线的动态配置。上电后,SD卡默认只使用DAT0来传输数据。初始化之后,主机可以改变总线宽度(使用的数据线数目)。这个功能允许硬件成本和系统性能之间的简单交换。
注意:当DAT1-DAT3没有使用的时候,相关的主机DAT先应该被设置为输入模式。SDIO卡DAT1和DAT2用于信令。3.5.2SPI总线SD卡的SPI兼容通信模式是用来同SPI信道通信,主要是用在市场是哪个的各种微处理器。模式选择是在上电后的第一次reset命令期间,并且只要不断电就不能改变。SPI标准只是定义了物理连接,没有完成数据传输协议。SD卡的SPI实现使用了SD模式相同的命令。从应用的角度来说,SPI模式的优点是使用现成主机的能力,从而减小设计压力。相对于使能宽总线选项的SD卡来说,缺点是性能的损失。SD卡SPI接口同市场上现有的SPI主机兼容。同其他SPI设备一样,SD卡的SPI信道有以下4个信号:CS:主机到卡的片选(chipselect)信号CLK:主机到卡的时钟信号DataIn:主机到卡的数据信号DataOut:卡到主机的数据信号另一个SPI的通用特点是字节传输,这也是卡的实现。所有的数据都是字节(8bit)的整数倍,并且直接总是对齐CS信号。表格3-3SD卡系统(SPI模式)总线拓扑卡片的识别和寻址方法由一个硬件片选信号代替。没有广播命令。每一个命令,都会有一个从卡通过拉低片选信号来被选择(表格3-3)。在SPI活动(命令,响应,数据)期间片选信号应该是连续被拉低的。唯一的例外是在卡编程期间,此时主机能在不影响编程过程的情况下断定CS信号。SPI接口使用SD总线的9线里面的7根(DAT1和DAT2不用,DAT3作为CS信号)
3.6总线协议3.6.1SD总线SD总线的通信是基于命令和数据流的。由一个起始位开始,由一个停止位终止。●命令(Command):命令就是一个标记,用于发起一个操作。由主机发送到单个卡(寻址命令)或者所有卡(广播命令)。命令在CMD线上是连续传输的。●响应(Response):响应是一个标记,从寻址的卡或者所有卡(同步)发送给主机,作为向前接收到的命令的回答。响应也是在CMD线上连续传输的。●数据(Data):数据可以从主机到卡,也可以从卡到主机。通过数据线传输。卡片寻址通过使用会话地址来实现,会话地址会在初始化阶段分配给卡。命令,响应和数据块的结构在第4章中描述。SD总线上的基本交互是命令/响应交互(表格3-4)。这种总线交互直接在命令或者响应的结构里面传输他们的信息。此外,一些操作还有数据内容。SD卡发送或接收的数据在块(block)中完成。数据块以CRC位来保证成功。目前有单块或多块操作。注意:多块操作模式在快速写操作时更好一点。多块传输以命令线上的结束命令为结束标志。主机端可以配置单线还是多线传输。块写操作使用简单的busy来表示DAT0数据线上的持续写操作,不管使用几线传输。
命令符号是以下的编码方案:注:命令内容:命令+地址信息/参数+7位CRC校验(48bit)每一个命令标记都是以起始位bit(0)在最开始,以结束位bit(1)表示成功。总长度是48Bit。每个命令都使用CRC位来保护,这样可以检测到传输错误,并且再次发送命令。响应标记以内容分,有4种编码方式。编码的长度可以是48Bit或者136bit,详细的命令和响应见4.7章。数据块的CRC保护算法是一个16bit的CCITT多项式。所有允许的CRC类型见4.5章注:●R1response:方向位[1Bit]+命令[8Bit]+状态信息[32Bit]+CRC[7Bit]=[48Bit]●R2response:方向位+命令+CID/CSD寄存器+CRC=[136Bit]●R3response:方向位+命令+OCR寄存器+CRC校验=[48Bit]●R6response:方向位+命令+RCA寄存器+CRC校验=[48Bit]在命令线上最高有效位(MSB)先发送,最低有效位(LSB)后发送(从高位到低位传输)。当使用宽总线操作的时候,数据每次传4Bit(见表格3-10)。起始位、结束位以及CRC位,每条数据线上都要发送。CRC位每条数据线都要分别检查。CRC状态反馈和忙碌只是只会从DAT0发送到host端,DAT1-DAT3忽略。SD卡有两种数据包格式。●(1)常规数据(8bit宽):常规数据发送是先低字节,再高字节的顺序,但是每个字节则是先高位后低位。●(2)宽位数据(SD存储寄存器):宽位数据从高位开始传输。(不按字节?)1、常规数据包格式(8bit宽)
2、宽位数据包格式(比如:ACMD13)
分享到:
收藏