logo资料库

SD4.0协议标准完整版[1-6章中文翻译].pdf

第1页 / 共120页
第2页 / 共120页
第3页 / 共120页
第4页 / 共120页
第5页 / 共120页
第6页 / 共120页
第7页 / 共120页
第8页 / 共120页
资料共120页,剩余部分请下载后查看
1、总体描述
2、系统特征
3、SD 卡系统概念
3.1 读写属性
3.2 支持电压
3.3 卡容量
3.3.1 用户区和保护区
3.3.2 卡容量分类
3.4 速度等级
3.5 总线拓扑
3.5.1 SD 总线
3.5.2 SPI 总线
3.5.3 UHS-II总线
3.6 总线协议
3.6.1 SD 总线
3.6.2 SPI 总线
3.6.3 UHS-II总线
3.7 SD 卡管脚和寄存器
3.7.1 SD总线管脚分配
3.7.2 UHS-II管脚分配
3.8 ROM卡
3.8.1 寄存器设置要求
3.8.2 不支持的命令
3.8.3 可选命令
3.8.4 WP切换
3.9 超高速I(UHS-I)卡
3.9.1 UHS-I卡操作模式:
3.9.2 UHS-I卡类型
3.9.3 UHS-I主机和卡组合
3.9.4 UHS-I总线速度模式选择Sequence
3.9.5 UHS-I系统框图
3.9.5.1 可变采样的主机
3.9.5.2 固定采样的主机
3.9.6 UHS-I卡总线速度模式总结
3.10 超高速II(UHS-II)卡
3.10.1 UHS-II卡操作模式
3.10.2 UHS-II卡类型
3.10.3 UHS-II主机和卡组合
3.10.4 UHS-II接口选择Sequence
3.10.5 UHS-II卡总线速度模式总结
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.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 卡容量类型的命令功能区别
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.7.5 UHS-II中SD命令的差别
4.8 卡状态转换表
4.9 响应
4.9.1 R1(正常响应命令)
4.9.2 R1b
4.9.3 R2(CID,CSD 寄存器)
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.12.5 SDR50和SDR104模式下时序变化
4.12.5.1 CRC状态开始时序
4.12.5.2 Read Block Gap
4.12.5.3 写操作中CMD12的时序修正
4.12.5.4 读操作中CMD12时序修正
4.12.5.5 时序值
4.12.6 DDR50模式中时序变化
4.12.6.1 奇偶定义
4.12.6.2 协议原则
4.12.6.3 DDR50的CRC状态
4.12.6.4 DDR50的CRC16
4.12.6.5 DDR50模式中数据访问时序的例子
4.12.6.6 时钟控制
4.12.6.7 复位命令
4.12.6.8 CMD12时序
4.13 速度等级规范
4.13.1 SDSC和SDHC的速度等级规范
4.13.1.1分配单元(AU)
4.13.1.2 记录单元(RU)
4.13.1.3 写性能
4.13.1.4 读性能
4.13.1.5 性能曲线定义
4.13.1.6 速度等级定义
4.13.1.7 记录期间插入 FAT 更新的考量
4.13.1.7.1 确定条件来结束平均 TFw
4.13.1.7.2 最大 FAT 写时间
4.13.1.8 速度等级的测量条件和需求
4.13.1.8.1 测量条件
4.13.1.8.2 每个速度等级的性能参数需求
4.13.1.8.3 SD 文件系统的需求
4.13.2 SDXC速度等级规范
4.13.2.1 速度等级参数
4.13.2.1.1 AU
4.13.2.1.2 RU
4.13.2.2 写性能
4.13.2.2.1 Pw的测量
4.13.2.2.2 PERFORMANCE_MOVE(Pm)
4.13.2.3 读性能
4.13.2.4 FAT更新
4.13.2.5 CI(Continuous Information)更新
4.13.2.6 数据类型区别
4.13.2.7 SDXC速度等级测量条件和要求
4.13.2.7.1 测量条件
4.13.2.7.2 每种速度等级性能参数的要求
4.13.2.7.3 SD文件系统要求
4.13.2.8 速度等级控制命令CMD20
4.13.2.8.1 每种功能的定义
4.13.2.8.2 速度等级主机的要求
4.13.2.9 速度等级记录序列的一个例子
4.13.3 UHS-I的速度等级规范
4.13.4 UHS-I卡准备时间的注意事项
4.14 擦除超时计算
4.14.1 擦除单元
4.14.2 擦除时间特性的案例分析
4.14.3 大面积擦除的方法
4.14.4 使用参数寄存器计算擦除超时值
4.15 设置块数目(Block Count)命令-CMD23
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 卡电气规格
SD 4.0 协议标准完整版 与前版对比主要变化 基本版本(草稿) 首次发行版本 版本 1.01+增补版本 1.01e(2004.3.21) 新增 CMD6(切换功能命令),以及新的命令系统中保留的 CMD34-37,50 和 57 新增告诉模式(最高 25MB/s 读写速率) 新增电子商务命令和厂商自定义命令 版本 1.10+对版本 1.10 追加的注释 新增高容量 SD 卡定义(最高 32GB) 以下是版本 2.00 新加的 (1)物理层版本 2.00 (2)支持扩展容量卡(SDXC) (3)支持超高速 I(UHS-I) (4)更新速度等级规范 (5)新增 Set Block Count 命令(CMD23) 版本 3.01 中的更改: (1)追加的注释版本 1.00 (2)更新第一章中的描述 (3)更新图 4-23 到 4-37 以及 7-14 到 7-21 使其更准确 对最终版本额外的说明: √SPI 模式下最大电流为 100mA(表 3-5) √CMD15 可以在数据传输模式下发送(图 4-1) √如果不支持速度等级(XPC=0),则表示 Class0 为默认 √在 CMD6 中只有功能组 2 具有 Busy 状态 √如何设置 SD_SPEC 及 SD_SPEC3(140 页 SCR) √SCR 中 bit33-32 为 CMD_SUPPORT(140 页 SCR) √SPI 模式下只支持 CPRM 安全性(175 页 7.2.12) 以下是版本 4.00 中新增的: (1)支持 UHS-II 接口 (2)采用功率消耗和功率限制 (3)附录增加主机电源网络 (4)更改物理层版本 3.01 历史版本 日期 2000.3.22 2001.4.15 2004.10.15 版本 1.00 1.01 1.10 2006.5.09 2.00 2009.4.16 3.00 2010.2.18 3.01 2011.5.30 4.00 注:本文是在网络流传的“沙贝@中科创达”SD2.0 协议标准完整版的基础上,增加了 SD4.0 内容。文中正文标注红色表示是 SD4.0 新增内容;标题标注红色表示为该标题以下的内容都 是 SD4.0 新增加的。关于 UHS-II 内容,有另外的翻译版本。 风语者 2016 于西安
1、总体描述 Sd 存储卡,是为了满足安全、容量、性能、和环境需求的新型音视频电子存储卡。Sd 卡 包含一个内容保护机制,符合 SDMI 标准,并且有更快的速度和更高的容量。 Sd 卡的安全系统采用双向认证和“新密码算法”来防止卡的内容被非法使用。也可以 对用户自己的数据进行非安全访问。 SD 卡也支持基于常用标准的第二安全系统,比如 ISO-7816,这样就可以用于将 SD 卡连 接到共用网络和其他系统,来支持移动电子商务和数字签名的应用。 除了 SD 卡外,还有 SDIO 卡。SDIO 卡规范在一个单独的规范中定义,命名为“SDIO 卡 规范”(可以从 SD 协会得到)。SDIO 规范定义了一个 SD 卡可能包含不同的 IO 单元同 SD host 之间的接口。SDIO 卡可以包含存储功能,以及 IO 功能。SDIO 卡的存储部分应该完全兼容 SD 卡规范。SDIO 卡基于并兼容 SD 卡。这种兼容包括机械、电气、电源、信号和软件。Sdio 卡的意图是为移动电子设备在低功耗情况下提供高速数据读写。一个主要目标是一个 IO 卡 插到非 SDIO 主机中,不会引起物理损坏或者设备和软件的中断。这种情况下 IO 卡应该被简 单的忽略掉。一旦插入一个 SDIO 主控,卡的检测将以常规的方法描述,即带有 SDIO 规范扩 展的 SD 卡规范 SD 卡通信是基于 9-pin 接口(时钟,命令,数据 x4,电源 x3),设计在最大 50M 频率以 及低电下工作。通信协议是本规范的一部分。SD 规范分为几个文件: 图 1.1 SD 规范文件
● 音频规范 这个规范,以及其他应用规范,描述了一个特殊应用的规范(本文档是音频应用),以及 实 施需求 ● 文件系统规范 这个规范描述了存储在 sd 卡上的数据的文件格式化结构的规范(保护和非保护区域) ● 安全规范 这个规范描述了内容保护机制和支持的特殊应用命令 ● 物理层规范(本文档) 这个规范描述了 sd 卡使用的物理接口和命令协议。这个文档的目的是定义 sd 卡以及它 的环境和处理。这篇文档被分为了几个部分: 第 3 章是关于系统概念的概述 第 4 章描述了常见 SD 卡特点。这种描述定义了卡的整体性能,我们建议看产品文档 第 5 章描述了 sd 卡寄存器 第 6 章定义了 sd 卡的硬件接口的电气参数。 版本 2.00 中机械性能的描述被转移到标准尺寸描述附录中。 有三种基于形状的尺寸: (1) 标准尺寸 (2) (3) UHS-II 接口描述在 UHS-II 文档中定义。 用于嵌入式应用的不可移动的 memory 器件的定义在 eSD 中。 这个文档中,“shall”和“will”表示一个标准的强制性规定。“should”表示一个条 款,建议但不强制。“may”是指一个特征(feature),可能存在或不存在(看使用者选择), 它 的存在并不影响依存性 miniSD microSD ● Mc-EX 接口规范 SD 卡规范的 A1 部分作为 SD 卡物理层规范的扩展,提供了所有传输移动商务扩展(MC-EX) 命令包所需要的定义。(从 Mc-EX host 到 Mc-EX 使能 SD 卡,或者反向传输) ● SDIO 规范 SDIO 卡及 SDIO 规范是基于物理层规范的扩展和更改,该规范定义在 E1 部分 SDIO 规范 中。 2、系统特征 ● 针对便携式和固定式应用 ● 存储容量: (1)标准容量 SD 卡(SDSC):最高达到 2GB (2)高容量 SD 卡(SDHC):大于 2GB 且最高达 32GB (3)扩展容量 SD 卡(SDXC):大于 32GB 且最高达 2TB ● 电压范围: 高电压 SD 卡-工作电压范围:2.7 -3.6V UHS-II SD 卡-工作电压范围:VDD1:2.7-3.6V,VDD2:1.70-1.95V ● 专为只读和读/写卡 ● 总线速度模式(使用 4 条并行数据线) (1) 默认模式:3.3V,最高最高 25MHz,最高速度 12.5MB/sec (2) 高速模式:3.3V,最高频率 50MHz,最高速度 25MB/sec (3) SDR12: UHS-I 1.8V,最高频率 25MHz,最高速度 12.5MB/sec (4) SDR25: UHS-I 1.8V,最高频率 50MHz,最高速度 25MB/sec
(5) SDR50: UHS-I 1.8V,最高频率 100MHz,最高速度 50MB/sec (6) SDR104:UHS-I 1.8V,最高频率 208MHz,最高速度 104MB/sec (7) DDR50: UHS-I 1.8V,最高频率 50MHz,双时钟沿采样,最高速度 50MB/sec (8) UHS156:UHS-II 1.8V,RCLK 频率范围 26MHz-52MHz,最高速度 1.56Gbps 每通道 (per lane) ● 切换功能命令支持总线速度模式,命令系统,驱动强度,和未来的功能 ● 存储区域错误改正 ● 读取操作过程卡被移除,不会损坏内容 ● 内容保护机制-符合 SDMI 标准的最高安全标准 ● 卡密码保护(CMD42-LOCK_UNLOCK) ● 机械开关的写保护功能 ● 内置写保护功能(临时和永久) ● 卡检测(插入/拔出) ● 应用特殊命令 ● 轻松擦写机制 ● 通信信道的协议属性 SD 卡通信信道 6 线通信信道(时钟,命令,数据 x4) 错误保护数据传输 单块或多块的定向数据传输 ● SD 卡形状 有三种形状的卡: 标准尺寸的 SD 卡:见 Part1 标准尺寸 SD 卡 miniSD 卡:见 Part1 miniSD 卡 Micro SD 卡:见 Part1 microSD 卡 ● SD 卡标准尺寸 2.1mm 和 1.4mm 本规范的所有特征都是基于标准尺 寸的 SD 卡 3、SD 卡系统概念 SD 卡提供给应用设计者一个低成本的存储设备(支持高安全级别的内容保护的可插拔卡), 以及一个简洁,易实现的接口。 SD 卡可以分为几个等级(class),他们提供的功能不同(功过 D 卡系统命令的子集提供) 一个 SD 卡系统包含 SD 卡,总线,以及主机/应用。不过主机及应用的说明不在本文档中。接 下来的各节提供了卡的概述,总线拓扑,SD 卡系统的通信协议。内容保护系统描述在文档“SD Memory Card Security Specification”中。 3.1 读写属性 以读写属性来说,有两种 SD 卡: ● 读写卡(闪存,一次可编程-OTP,多次可编程-MTP) 这些卡一般是空白媒体卡卖出,用 于存储含量数据,终端用户视频,音频或者数字图像 ● 只读卡(ROM) 这些卡是用固定内容制作的卡。他们通常用软件,音频视频 的分发媒体。
3.2 支持电压 以电压来说,有两种 SD 卡: ● 高电压 SD 卡,可以工作在 2.7-3.6V ● UHS-II SD 卡,可以工作在低电范围 VDD1:2.7-3.6V,VDD2:1.70-1.95V 3.3 卡容量 3.3.1 用户区和保护区 SD 卡有两个独立的区域:用户区和保护区。用户区是主要的存储区域,而保护区可以 在身份验证后访问。身份验证的内容在 Part3 安全规范中定义。卡容量是指用户区和保护区 容量的总和。 3.3.2 卡容量分类 以容量来说,有三种 SD 卡: ● 标准容量 SD 卡(SDSC),支持最大 2GB(231bytes)的容量。所有的物理规格文档都会 定义这种 ● 高容量 SD 卡(SDHC),支持超过 2GB(231bytes)的容量,最高达 32GB。该类型卡在 版本 2.00 中定义。 ● 扩展容量卡(SDXC),支持超过 32GB(235bytes)的容量,最高达 2TB。 注释: 1 “Part 1 物理层规格 V3.0 版或更新版”以及 “Part2 文件系统规格 V3.0 版或更新 版”允许标准容量 SD 卡最大 2GB,高容量 SD 卡最大 32GB,以及扩展容量 SD 卡最大 2TB。 2 Host 如果可以读写 2GB 到 32GB 的 SD 卡,那么它应该也可以读取 2GB 或更小的卡。 3 Host 如果可以读写 32GB 到 2TB 的 SD 卡,那么也应该可以读取 32GB 或者更小的卡。 3.4 速度等级 我们定义了 5 个速度等级,来表示卡的最小速率: ● Class 0 – 这种卡不定义具体性能,代表了这个规范出来之前的所有卡 ● Class 2 – 最小 2MB/s 的性能(默认速度模式) ● Class 4 – 最小 4MB/s 的性能(默认速度模式) ● Class 6 – 最小 6MB/s 的性能(默认速度模式) ● Class 10 – 最小 10MB/s 的性能(高速模式) 高容量 SD 卡应该支持速度等级规格,并且最小要到 Class2。 注意:性能单位是[MB/sec] 表示 1000x1000[byte/s],而数据大小的 单位 MB 指的是 1024x1024 Byte。 这是因为最大 SD 总线速度是由最大 SD 时钟频率决定的(在 50MHz 频率下,25MB/s=25000000 Byte/s), 而数据大小是基于存储范围(2 的次幂)。 3.5 总线拓扑 SD 卡系统定义了三种通信协议:SD , SPI 和 UHS-II。 主机系统可以选择任意一种。当收到 reset 命令的时候,SD 卡通过主机的信息来决 定 使用何种模式,并且之后的通讯都会使用相同的模式。不推荐多卡槽用共同的总线信号。一 个单独的 SD 总线应该连接一个单独的 可移除的 SD 卡。UHS-II 支持多个器件通过环形 (Ring)或 Hub 拓扑连接(参见 3.5.3)。
3.5.1 SD 总线 图 3-1 SD 卡总线拓扑 SD 总线包含下面的信号: CLK: CMD: DAT0-DAT3: 时钟信号 双向命令/响应信号 双向数据信号 Vdd,Vss1,Vss2: 电源和地信号 在默认速度下,SD 卡总线有一个主(应用),多个从(卡),同步的星型拓扑结构(图 3- 1)。时钟,电源和 地信号是所有卡都有的。在高速模式和 UHS-I 模式下,SD 卡总线有一 个主机(应用)一个从(卡),同步的点对点拓扑。命令(CMD)和数据(DAT0-3)信号是根据 每张卡的,提供连续地点对点连接到所有卡。 在初始化时,处理命令会单独发送到每个卡,允许应用程序检测卡以及分配逻辑地址给 物 理卡槽。数据总是单独发送(接收)到(从)每张卡。但是,为了简化卡的堆栈操作,在初始 化过 程结束后,所有的命令都是同时发送到所有卡。地址信息包含在命令包中。 SD 总线允许数据线的动态配置。上电后,SD 卡默认只使用 DAT0 来传输数据。初始化 之 后,主机可以改变总线宽度(使用的数据线数目)。这个功能允许硬件成本和系统性能之间的 简单交换。注意:当 DAT1-DAT3 没有使用的时候,相关的主机 DAT 先应该被设置为输入模 式。SDIO 卡 DAT1 和 DAT2 用于信令。 3.5.2 SPI 总线 SD 卡的 SPI 兼容通信模式是用来同 SPI 信道通信,主要是用在市场是哪个的各种微处 理器。模式选择是在上电后的第一次 reset 命令期间,并且只要不断电就不能改变。SPI 标 准只是定义了物理连接,没有完成数据传输协议。SD 卡的 SPI 实现使用了 SD 模式相同的命 令。从应用的角度来说,SPI 模式的优点是使用现成主机的能力,从而减小设计压力。相对 于使能宽总线选项的 SD 卡来说,缺点是性能的损失。SD 卡 SPI 接口同市场上现有的 SPI 主 机兼容。同其他 SPI 设备一样,SD 卡的 SPI 信道有以下 4 个信号: CS: CLK: 主机到卡的片选(chip select)信号 主机到卡的时钟信号 DataIn: 主机到卡的数据信号
DataOut: 卡到主机的数据信号 另一个 SPI 的通用特点是字节传输,这也是卡的实现。所有的数据都是字节(8 bit)的 整数倍,并且直接总是对齐 CS 信号。 图 3-2 SD 卡系统(SPI 模式)总线拓扑 卡片的识别和寻址方法由一个硬件片选信号代替。没有广播命令。每一个命令,都会有 一个从卡通过拉低片选信号来被选择(图 3-2)。 在 SPI 活动(命令,响应,数据)期间片选信号应该是连续被拉低的。唯一的例外是在卡 编程期间,此时主机能在不影响编程过程的情况下断定 CS 信号。 SPI 接口使用 SD 总线的 9 线里面的 7 根(DAT1 和 DAT2 不用,DAT3 作为 CS 信号)。 3.5.3 UHS-II 总线 有两种方法通过 UHS-II 接口来连接多个 UHS-II 器件。一种是“环形连接”(Ring Connection),另一种是“HUB 连接”(HUB Connection)(HUB 规范没有在此文档中定义)。可 拆除的卡槽应该被连接到 SD 4-bit 模式以及 UHS-II 总线。 图 3-3:UHS-II 总线拓扑
3.6 总线协议 3.6.1 SD 总线 SD 总线的通信是基于命令和数据流的。由一个起始位开始,由一个停止位终止。 ● 命令(Command):命令就是一个标记,用于发起一个操作。由主机发送到单个卡(寻址命 令)或者所有卡(广播命令)。命令在 CMD 线上是连续传输的。 ● 响应(Response):响应是一个标记,从寻址的卡或者所有卡(同步)发送给主机,作为向 前接收到的命令的回答。响应也是在 CMD 线上连续传输的。 ● 数据(Data):数据可以从主机到卡,也可以从卡到主机。通过数据线传输。 卡片寻址通过使用会话地址来实现,会话地址会在初始化阶段分配给卡。命令,响应和 数 据块的结构在第 4 章中描述。SD 总线上的基本交互是命令/响应交互(图 3-4)。这种总线交 互直接在命令或者响应的结构里面传输他们的信息。此外,一些操作还有数据内容。 SD 卡发送或接收的数据在块(block)中完成。数据块以 CRC 位来保证成功。目前有单块 或多块操作。注意:多块操作模式在快速写操作时更好一点。多块传输以命令线上的结束命 令 为结束标志。主机端可以配置单线还是多线传输。 块写操作使用简单的 busy 来表示 DAT0 数据线上的持续写操作,不管使用几线传输。
分享到:
收藏