Linux SD Driver (二)

二、SD 存储卡寄存器

每个 SD 存储卡都有一组信息寄存器,如下图所示:

Linux SD Driver (二)_第1张图片

其中 CIDOCRCSDSCR 存储了卡片的具体信息,RCADSR 寄存器存储了实际的配置参数。

1OCR 寄存器

OCR (操作条件)寄存器中存储了卡片的电压信息以及部分状态信息:其中一个状态位(bit 31)指示

卡片的上电操作是否完成,另外一个状态位(bit 30)指示卡片的容量状态(0代表SDSC1代表SDHC或者SDXC)。

寄存器的说明如下图所示:

Linux SD Driver (二)_第2张图片

2CID 寄存器

CID (识别信息)寄存器总共 128 bits,包含了卡片的识别信息,每个独立的卡片都应该有一组

独一无二的识别信息。寄存器说明如下图所示:

Linux SD Driver (二)_第3张图片

3CSD 寄存器

CSD(具体信息)寄存器也是 128 bits,提供了访问卡片内容的一些信息如:传输速率、数据格式、

错误类型、最大是数据访问时间、DSR 寄存器是否启用的。其中 bit[126:127] 记录了 CSD 的版本号,

CSDversion 1.0 为标准容量卡所用,CSD version 2.0 为大容量或超大容量卡所用。

CSD version 1.0 寄存器说明如下图所示:

Linux SD Driver (二)_第4张图片

4SCR 寄存器

SCRSD 配置)寄存器总共 64 bits,定义了卡片的一些特殊功能,寄存器说明如下图所示:

Linux SD Driver (二)_第5张图片

5CSR 寄存器

CSR(卡片状态)寄存器总共 32bits,代表了执行一个命令的错误和状态信息,其信息包含在 

R1 格式的应答中返回给主机,寄存器说明如下图所示:

Linux SD Driver (二)_第6张图片

Linux SD Driver (二)_第7张图片

6SD Status 寄存器

SD Status 寄存器包含了 SD 存储卡的的专有属性并为以后的功能扩展保留了足够的空间,其大小

 512bits 即一个块大小,这个寄存器作为ACMD13命令的执行结果,通过DATA线发送到主机,

寄存器说明如下图所示:

Linux SD Driver (二)_第8张图片



你可能感兴趣的:(Linux SD Driver (二))