SDIO协议读写SD卡之SD卡简介
SD卡的用途
SD卡是一种主要以Nand Flash作为存储介质,具有体积小、数据传输速度快以及支持热插拔的优点。如今,已被广泛应用于数码相机、便携式移动设备以及手机等多种设备中。
SD卡分类
(一)按照大小进行分类
1、Micro SD卡(本文称为SD卡)
如下图所示:
2、SD卡
如下图所示:
3、对比
Micro SD卡和SD卡最主要的不同便是SD卡的尺寸更大,且侧面(红色标记)具有一个写保护开关。两者的通讯协议都是一致的,即两者的驱动程序可以共用。并且,通过SD卡套,也可以将Micro SD卡变为SD卡。
(二)按照用途分类
1、SD I/O卡:指的是支持利用SDIO协议进行数据通讯的设备,比如:WIFI卡、蓝牙适配器等;
2、SD存储卡:本文使用的类型;
3、MMC卡:早期的存储设备;
4、ATA设备:主要为笔记本电脑提供的高速通讯接口
(三)按照尺寸进行分类
1、厚度为2.1mm:正常尺寸的SD卡
2、厚度为1.4mm:小尺寸SD卡
(四)按照容量进行分类
1、SDSC:小于2GB
2、SDHC:大于2GB小于32GB
3、SDXC:大于32GB小于2TB
(五)按照内部编程速度分类
1、class 0:
2、class 2:最低2MB/sec
3、class 4:最低4MB/sec
4、class 6:最低6MB/sec
5、class 10:最低10MB/sec
6、UHS-I:写入数据50MB/sec以内,读取数据104MB/sec以内
7、UHS-II:写入数据156MB/sec以内,读取数据312MB/sec以内
注意事项:MB/sec = 10001000 Bytes/sec而不是10241024Bytes/sec
(六)按照电压范围分类
1、SD卡高电压工作电压范围:2.7V~3.6V
2、UHS-II SD卡工作电压范围:1.7V~1.95V
SD卡原理图
引脚关系
见上图1部分,SD卡具有9个引脚,其中,四条数据线,三条电源线,一条时钟线和一条命令线。
数据线
完成主机与SD卡之间的数据传输
时钟线
由主机产生通讯使用的时钟信号
命令线
主机向从机通过命令线发送命令,SD卡通过命令线向主机反馈响应。
电源线
提供电源和地
寄存器
见上图4部分,SD卡一共具有8个寄存器,且寄存器的长度都不是完全相同的。
电源检测电路
见上图2部分,电源检测电路是SD卡一个很重要的部分,因为当SD卡插入或者拔除时,均是由该电路进行检测。并且,通过该电路还可以对SD卡进行复位操作,这也是很重要的一点。
存储单元部分
见上图3,SD卡的存储部分分为用户空间和受保护空间,我们在平时使用中,绝大多数时候都是对用户空间进行操作。SD卡的容量大小为两者之和,所以,实际可以进行操作的存储区域要小于SD卡上标注的容量大小。
支持的通讯总线协议
SDIO总线协议
利用该总线协议,可以使用最多四条数据线实现主机与SD卡之间的数据传输,所以速度相对而言可以达到最高,但是需要主机具有SDIO控制器,才可以使用该协议(????不知道可不可以用软件进行模拟????)。详细的内容将在下篇文章进行介绍。
SPI总线协议
如果主机不支持SDIO协议,那么可以使用SPI协议对SD卡进行操作。虽然速度比SDIO慢,但是硬件上更加简单,只需要四根线便可以实现与SD卡进行通讯。详细的内容将在后面的文章中进行详细的介绍。
总结
本篇文章主要是对SD卡进行简要的介绍,作为驱动SD卡的基础知识。如果有疏漏和错误之处,还望各位读者不吝指正,我将在以后的文章中进行校正和完善。谢谢!