LINUX 设备驱动高级班
补充材料
SD/MMC 的规范及其驱动程序设计
2008.10
华清远见 深圳
(内部资料,请勿外传)
farsight Inc.
farsight Inc.
华清远见(2008) 版权所有
华清远见—嵌入式培训专家
设备驱动高级班
一、
二、
SD/MMC 规范概述..................................................................................................3
1. 硬件规范......................................................................................................................3
2. SD/MMC 卡中的信息..................................................................................................4
3. MMC 提供的命令........................................................................................................6
4. 其它............................................................................................................................13
S3C2410 提供的 SD/MMC 编程界面 SDI............................................................13
1. SDI 的主要特性 .........................................................................................................13
2. 卡操作流程说明........................................................................................................13
3. 有关 SD/MMC 卡的中断说明..................................................................................14
4. 有关 SDI 的 register...............................................................................................14
farsight Inc.
farsight Inc.
2
设备驱动高级班
华清远见—嵌入式培训专家
一、 SD/MMC 规范概述
1. 硬件规范
MMC/SD 卡通过如下方式获知操作模式:MMC/SD 卡加电后,如其引脚 1(CS)
检测到有低电平脉冲时,则卡进入 SPI 模式,否则为 MMC 模式。
SD 卡分共有 9 个触点(引脚),多余的 2 个引脚为数据线,但使用与 MMC 卡
MMC 卡分共有 7 个触点(引脚),分为两种操作模式,分别为 MMC 模式、与
SPI 模式,两种模式对引脚的定义是不同的。SPI 模式只有 Host 具有 SPI 接口时
才能使用。
兼容的模式时,这两个多余的引脚没有起到作用。
的、也有用于蓝牙的。本人对 SDIO 不了解,在此文档中不作叙述。
SDIO 卡并非 memory 卡,故名思意,就是输入/输出卡,这种卡有用于 LAN
farsight Inc.
farsight Inc.
Description
No connection
Command / Response
Ground
Power supply
Clock
Ground
Data
Type
NC
I/O/PP/OD
S
S
I
S
I/O/PP
由于 SD 兼容 MMC 模式,为叙述方便,本文档主要针对 MMC 加以说明
MMC 模式对引脚的定义如下表所示
Pin No. Name
1
RSV
CMD
2
Vss1
3
4
Vcc
CLK
5
Vss2
6
7
DAT
说明: S: power supply; I: input; O: output; PP: push-pull; OD: open-drain;
SPI 模式对引脚的定义如下表所示
Pin No. Name
1
2
3
4
5
6
7
CS
DI
Vss1
Vcc
SCLK
Vss2
DO
Type
I
I
S
S
I
S
O/PP
Description
Chip select
Data in
Ground
Power supply
Clock
Ground
Data out
说明: S: power supply; I: input; O: output; PP: push-pull; OD: open-drain;
3
华清远见—嵌入式培训专家
2. SD/MMC 卡中的信息
设备驱动高级班
MMC 卡有多种信息,可通过相关命令读出,通过这些信息我们可以知道卡
的制造商、生产日期、卡的技术参数等信息。这些信息分别为 OCR、CID、CSD,
分述如下:
(1) OCR:32 位长,为只读信息,各位表示卡支持的电压范围,各位意义如
下
OCR位
D31
D[30-24]
D23
D22
D21
D20
D19
D18
D17
D16
D15
D14
D13
D12
D11
D10
D9
D8
D[7-0]
位的意义
Card power up status bit (Busy).
reserved
3.5 - 3.6V
3.4 - 3.5V
3.3 - 3.4V
3.2 - 3.3V
3.1 - 3.2V
3.0 - 3.1V
2.9 - 3.0V
2.8 - 2.9V
2.7 - 2.8V
2.6 - 2.7V
2.5 - 2.6V
2.4 - 2.5V
2.3 - 2.4V
2.2 - 2.3V
2.1 - 2.2V
2.0 - 2.1V
Reserved
farsight Inc.
farsight Inc.
(2) CID: 信息长 128 位,为只读信息,包含如下信息
Name
Manufacturer ID
OEM/Application ID
Product name
Product revision
Product serial number
Manufacturing date
CRC checksum
not used, always 1
Field Width
MID
OID
PNM
PRV
PSN
MDT
CRC
—
8
16
48
8
32
8
7
1
CID-slice
[127:120]
[119:104]
[103:56]
[55:48]
[47:16]
[15:8]
[7:1]
[0:0]
.
(3) CSD: 信息长 128 位,部分信息可改写,主要包含卡的大小、扇区大小、
4
华清远见—嵌入式培训专家
设备驱动高级班
读写时间等技术参数方面的信息。如需了解各段的详细说明,请参阅
MMC Specification, 在下表中”Valud”栏是具体某类卡的参数值,阅读时
可略过。
farsight Inc.
farsight Inc.
5
华清远见—嵌入式培训专家
设备驱动高级班
farsight Inc.
farsight Inc.
MMC 命令总共 40 多个,分为 Class0 ~ Class7 共 8 类,Class0 的所有卡必
须支持的。其它类的有些命令可不必支持。SPI 模式的命令是 MMC 模式命令的子
集,但只少了几个而已。驱动程序通过发送 CMD1、CMD41 命令区分 MMC 卡和 SD
卡,如果发送 CMD1 返回成功则说明为 MMC 卡,否则发送 CMD41 命令,如成功则
为 SD 卡。
MMC 命令是 MMC 卡的软件编程接口,命令虽多,但常用的只有几个. CMD1(仅
MMC)、CMD2、CMD3、CMD9、CMD10、CMD12、CMD17、CMD18、CMD24、CMD25、CMD41(仅
SD)
在本章中讲述命令时以 SPI 模式为例,先列出 MMC 命令、再讲命令处理流程、
再讲流程中涉及的概念 command、response、Data Tokens.
3. MMC 提供的命令
(1) MMC 命令如下表所示
6
华清远见—嵌入式培训专家
设备驱动高级班
farsight Inc.
farsight Inc.
7
华清远见—嵌入式培训专家
设备驱动高级班
farsight Inc.
farsight Inc.
8