SDIO协议
本文主要介绍SDIO基本概念,包括SD卡,SDIO总线协议。
1、SDIO概述
在介绍SDIO接口之前先了解一下MMC、SD卡、SDIO等背景知识,如下图:
- MMC(Multi Media Card):即多媒体卡,它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,主要应用于消费类电子产品中;
- SD(Secure Digital Memory Card):即安全数码卡,它是在MMC卡的基础上发展而来,并增加两个主要特色:SD卡增加了数据的安全访问,可以设定对存储数据的访问权限,防止数据被他人复制;SD相比2.11版的MMC卡传输速度更快;SD卡向前兼容MMC卡,所有支持SD卡的设备也支持MMC卡;
- SDIO:在SD标准上定义的一种外设接口,和SD可规范的唯一区别是增加了低速标准。SDIO卡只需要使用SPI或1位SD传输模式支持低速模式,低速卡的应用目标是以最小的硬件开销支持低速IO能力;目前常见的SDIO外围有:WIFI card(无线网络卡)、CMOS sensor card、GPS card、Bluetooth card等。
注:多媒体卡协会网站 www.mmca.org,SD卡协会网站 www.sdcard.org
2、SD标准简介
SD 标准使制造商能够提供高性能产品,以增强每天听音乐、录制视频、拍照、保存数据和使用手机的数百万人的体验。
作为行业标准,SD 标准被用于便携式存储行业的多个细分市场,包括手机、数码相机、MP3 播放器、个人电脑、平板电脑、打印机、汽车导航系统、电子书和许多其他消费电子设备。
2.1、外形尺寸
SD卡有三种外形尺寸;全尺寸、miniSD 和 microSD。microSD 取代了 miniSD,因此市场上更常见的两种外形尺寸如下表所示。
构成因素 | 标清 | Micro SD |
尺寸图 |
|
|
卡容量类型 | SD、SDHC、SDXC 和 SDUC | |
引脚数 | 高速和UHS-I:9针 UHS-II和UHS-III:17针 SD Express 1-lane:17-19针 SD Express 2-lane:25-27针 | 高速和UHS-I:8针 UHS-II和UHS-III:16针 SD Express 1通道:17针 |
工作电压 | 第一行3.3V VDD范围:2.7V–3.6V | |
写保护开关 | 是的 | 否 |
- 传统的SD存储卡只有一排引脚,包括一个3.3V电源VDD,用于默认速度、高速和 UHS-I总线接口模式。全尺寸卡有9个针脚(两个VSS),microSD卡有8个针脚(一个 VSS)。
- 更快的总线传输速度卡在第二排具有新的引脚布局,以支持UHS-II、UHS-III和SD Express传输速度。1.8V VDD包含在第二排引脚中。所有UHS-II、UHS-III和SD Express卡都需要3.3V 和 1.8V两种电源电压。
2.2、容量标准
- SD标准:使用FAT12和16文件系统的高达2GB SD存储
- SDHC标准:超过2GB-32GB使用FAT32文件系统的SDHC存储卡
- SDXC标准:超过32GB-2TB使用exFAT文件系统的SDXC存储卡
- SDUC标准:超过2TB-128TB使用exFAT文件系统的SDUC存储卡
2.3、速度标准
2.3.1、Class标准
Class是早期的通用速度等级标准,Class等级越高传输速度越快,目前Class 10级别最常见,对应的速度标准如下:
- Class 0:包括低于Class 2和未标注Speed Class的情况。
- Class 2:能满足观看普通MPEG4 MPEG2 的电影、SDTV、数码摄像机拍摄。
- Class 4:可以流畅播放高清电视(HDTV),数码相机连拍等需求。
- Class 6:满足单反相机连拍和专业设备的使用要求。
- Class 10:全高清电视的录制和播放。
Class标准和其对应的通信速度如下:
Class等级 | 符号 | 通信速度 |
|
| 读写时的数据传输速度最低2MB/秒 |
|
| 读写时的数据传输速度最低4MB/秒 |
|
| 读写时的数据传输速度最低6MB/秒 |
|
| 读写时的数据传输速度最低10MB/秒 |
2.3.2、UHS标准
UHS是全新的总线模式,意为Ultra High Speed,它在存储卡表面以“I”或“II”表示。相较于之前常规的总线模式最高仅到达25MB/s的速度,目前最高接口带宽可达312MB/s,若采用不支持UHS-I/UHS-II的设备可使用卡但无法发挥最快的速度。
UHS-I的写入最高 95MB/s,读取最高104MB/s,保证最低传输速度为10MB/s;UHS-Ⅱ的写入最高280MB/s,读取最高312MB/s,保证最低传输速度为30MB/s。“U1”和“U3”代表UHS接口规范下的写入速度标准,为区分Speed Class的Class 2,UHS Class并没有设置U2等级,目前仅有U1和U3,下一个等级是U5。
- U1:表示UHS Class 1,写入速度为10MB/s
- U3:表示UHS Class 3,写入速度为30MB/s
2.3.3、VSC标准
近来由于6K/8K视频规格的提出,以及未来VR领域应用的可能,SD5.0标准新增了视频速度等级标准(Video Speed Class),它扩展了速度标准,将卡速分为V6/V10/V30/V60/V90五大等级,分别对应6MB/s、10MB/s、30MB/s、60MB/s、90MB/s的最低写入速度。
SD卡不同标准数据传输速度对比如下表:
2.3.4、标准对比
综上所述,SD卡根据容量标准和数据传输速度标准可总结如下表所示:
SD标准 | SDHC 标准 | SDXC 标准 | SDUC 标准 | |
容量 | 高达2GB | 2GB--32GB | 32GB--2TB | 2TB--128TB |
文件系统 | FAT12,16 | FAT32 | exFAT | exFAT |
全尺寸SD卡 | 32 x 24 x 2.1 毫米 | |||
Micro SD 卡 | 11 x 15 x 1.0 毫米 | |||
NS模式 | C2、C4、C6 | |||
高速模式 | C2、C4、C6、C10、 V6、V10 | |||
UHS-I 模式 | —— | C2、C4、C6、C10 U1、U3 V6、V10、V30 | ||
UHS-II 模式 | —— | C4、C6、C10 U1、U3 V6、V10、V30、V60、V90 | ||
UHS-III 模式 | —— | C4、C6、C10 U1、U3 V6、V10、V30、V60、V90 |
2.3.4、版本对比
SD协议不同版本的对比表:
3、SDIO总线
SDIO协议是由SD卡协议演进而来,向前兼容SD卡协议。SDIO协议在SD卡协议基础上增加了低速标准。SDIO卡只需要SPI和1位SD传输模式。低速卡的目标应用是以最小的硬件开支来支持低速I/O能力,低速卡支持类似MODEM,条形扫描仪和GPS接收器等应用。
3.1、SDIO接口
SDIO总线和USB总线类似,SDIO总线也有两端,其中一端是主机(HOST)端,另一端是设备端(DEVICE),采用HOST- DEVICE这样的设计是为了简化DEVICE的设计,所有的通信都是由HOST端发出命令开始的。在DEVICE端只要能解析HOST的命令,就可以同HOST进行通信了,SDIO的HOST可以连接多个DEVICE。
SDIO的信号传输模式包括:SPI模式、1bit模式和4bit模式;
SDIO协议规定,在SDIO的1bit模式下,数据线DATA0用来传输数据,DATA1用作中断。在SDIO的4bit模式下,数据线DATA0~3用于传输数据,其中DATA1复用作中断线;
SD卡和micro SD卡接口如下图:
3.2、SDIO命令
SDIO总线上的设置和控制都是通过命令来实现,SDIO总线上都是HOST端发起请求,然后DEVICE端回应请求,其中请求和应答中会包含数据信息:
- Command: 用于开始传输的命令,是由HOST端发往DEVICE端的,其中命令是通过CMD信号线传送的。
- Response: DEVICE返回的应答。也是通过CMD线传送的;
- Data: 数据是双向传送的。可以设置为1线模式,也可以设置为4线模式。数据是通过DAT0-DAT3信号线传输的。
SDIO的命令:
SDIO的命令分为:应用相关命令(ACMD)和通用命令(CMD)两部分。发送ACMD时,需先发送CMD55。
SDIO所有的命令和响应都是在SDIO_CMD引脚上面传输的,命令长度固定为48位,SDIO命令格式如下表所示:
SDIO的响应:
一般SD卡在接收到命令行,都会有一个应答(CMD0例外),这个应答我们也称之为响应。STM32的SDIO接口,支持2种响应类型:短响应(48位)和长响应(136位)
SDIO短响应(48位)格式如下表所示:
SDIO长响应(136位)格式如下表所示:
SD卡的响应:
SD卡总共有6类响应(R1、R1b、R2、R3、R6、R7),我们这里以R1为例简单介绍一下。R1(普通响应命令)响应属于短响应,其长度为48位,如下表所示:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)