其實 SD (Secure Digital)記憶卡內是儲存了很多規格資料,祇要通過不同的指令(Command)便可以讀取相關的資料,SD 卡內部有 8 個寄存器,包括 CID、RCA、DSR、CSD、SCR、OCR、SSR 和 CSR 寄存器,祇要通過不指的指令,便可以取得相關資料。
SD Card 內寄存器 |
1. CID(Card Identification Register)寄存器:
CID 為一個 16 個字節的寄存器,該寄存器包含一個獨特的卡標識號。
CID 為一個 16 個字節的寄存器,該寄存器包含一個獨特的卡標識號。
CID Name
|
名稱
|
域
|
Type
|
數據寬度
|
CID劃分
|
Manufacturer ID
|
生產標識號
|
MID
|
Binary
|
8
|
[127:120]
|
OEM/Application ID
|
OEM/應用標識
|
OID
|
ASCII
|
16
|
[119:104]
|
Product Name
|
產品名稱
|
PNM
|
ASCII
|
40
|
[103:64]
|
Product Revision
|
產品版本
|
PRV
|
BCD
|
8
|
[63:56]
|
Product Serial Number
|
產品序列號
|
PSN
|
Binary
|
32
|
[55:24]
|
Reserved
|
保留
|
-
|
4
|
[23:20]
|
|
Manufacturer Data
|
生產日期
|
MDT
|
BCD
|
12
|
[19:8]
|
CRC Checksum
|
CRC7校驗合
|
CRC
|
Binary
|
7
|
[7:1]
|
Reserved
|
未使用,始終為1
|
-
|
1
|
[0:0]
|
2. RCA(Relative Card Address)寄存器:
RCA 16 位寄存器保存著通信過程中卡當前暫時分配的地址(只適合 SD 模式)卡狀態(Card Status)和 SD 狀態(SD Status)寄存器保存著卡的狀態(例如,是否寫成功,通信的 CRC 校驗是否正確等),該地址用於在卡識別後主機利用該地址與卡進行通信,這兩個寄存器的內容與通信模式(SD 模式或 SPI 模式)相關.MMC卡沒有 SCR 和 SD Status 寄存器。
3. DSR(SD Card Configuration Register)寄存器(Optional):
4. CSD(Card-Specific Data Register)寄存器:
CSD 寄存器(卡特殊數據寄存器)包含訪問卡存儲時需要的相關信息。
CSD Register(CSD Version 1.0)
CSD 名稱
|
域
|
數據寬度
|
單元類型
|
CSD劃分
|
CSD結構
|
CSD_STRUCTURE
|
2
|
R
|
[127:126]
|
保留
|
-
|
6
|
R
|
[125:120]
|
資料讀取時間1
|
TAAC
|
8
|
R
|
[119:112]
|
資料在CLK週期內讀取時間2(NSAC*100)
|
NSAC
|
8
|
R
|
[111:104]
|
最大資料傳輸率
|
TRAN_SPEED
|
8
|
R
|
[103:96]
|
卡命令集合
|
CCC
|
12
|
R
|
[95:84]
|
最大讀取資料塊長
|
READ_BL_LEN
|
4
|
R
|
[83:80]
|
允許讀的部分塊
|
READ_BL_PARTIAL
|
1
|
R
|
[79:79]
|
非線寫塊
|
WRITE_BLK_MISALIGN
|
1
|
R
|
[78:78]
|
非線讀塊
|
READ_BLK_MISALIGN
|
1
|
R
|
[77:77]
|
DSR條件
|
DSR_IMP
|
1
|
R
|
[76:76]
|
保留
|
-
|
2
|
R
|
[75:74]
|
設備容量
|
C_SIZE
|
12
|
R
|
[73:62]
|
最大讀取電流@VDD min
|
VDD_R_CURR_MIN
|
3
|
R
|
[61:59]
|
最大讀取電流@VDD max
|
VDD_R_CURR_MAX
|
3
|
R
|
[58:56]
|
最大寫電流@VDD min
|
VDD_W_CURR_MIN
|
3
|
R
|
[55:53]
|
最大寫電流@VDD max
|
VDD_W_CURR_MAX
|
3
|
R
|
[52:50]
|
設備容量乘子
|
C_SIZE_MULT
|
3
|
R
|
[49:47]
|
擦除單塊使能
|
ERASE_BLK_EN
|
1
|
R
|
[46:46]
|
擦除磁區大小
|
SECTOR_SIZE
|
7
|
R
|
[45:39]
|
防寫群大小
|
WP_GRP_SIZE
|
7
|
R
|
[38:32]
|
防寫群使能
|
WP_GRP_ENABLE
|
1
|
R
|
[31:31]
|
保留
|
-
|
2
|
R
|
[30:29]
|
寫速度因數
|
R2W_FACTOR
|
3
|
R
|
[28:26]
|
最大寫資料塊長度
|
WRITE_BL_LEN
|
4
|
R
|
[25:22]
|
允許寫的部分部
|
WRITE_BL_PARTIAL
|
1
|
R
|
[21:21]
|
保留
|
-
|
5
|
R
|
[20:16]
|
檔系統群
|
FILE_OFRMAT_GRP
|
1
|
R/W
|
[15:15]
|
拷貝標誌
|
COPY
|
1
|
R/W
|
[14:14]
|
永久防寫
|
PERM_WRITE_PROTECT
|
1
|
R/W
|
[13:13]
|
暫時防寫
|
TMP_WRITE_PROTECT
|
1
|
R/W
|
[12:12]
|
檔系統
|
FIL_FORMAT
|
2
|
R/W
|
[11:10]
|
保留
|
-
|
2
|
R/W
|
[9:8]
|
CRC
|
CRC
|
7
|
R/W
|
[7:1]
|
未用,始終為1
|
-
|
1
|
[0:0]
|
5. SCR(SD Card Configuration Register)寄存器:
SCR 寄存器提供 SD 卡的特殊特性信息,其大小為 64 位。 該寄存器由廠商編程,主機不能對它進行編程。 MMC 卡沒有 SCR。
SCR 寄存器提供 SD 卡的特殊特性信息,其大小為 64 位。 該寄存器由廠商編程,主機不能對它進行編程。 MMC 卡沒有 SCR。
SCR Description
|
Field
|
數據寬度
|
Type
|
SCR劃分
|
SCR Structure
|
SCR_STRUCTURE
|
4
|
R
|
[63:60]
|
SD Memory Card - Spec. Version
|
SD_SPEC
|
4
|
R
|
[59:56]
|
data_status_after erases
|
DATA_STAT_AFTER_ERASE
|
1
|
R
|
[55:55]
|
SD Security Support
|
SD_SECURITY
|
3
|
R
|
[54:52]
|
DAT Bus widths supported
|
SD_BUS_WIDTHS
|
4
|
R
|
[51:48]
|
Reserved
|
-
|
16
|
R
|
[47:32]
|
reserved for manufacturer usage
|
-
|
32
|
R
|
[32:0]
|
6. OCR(Operating Conditions Register)寄存器:
OCR 寄存器保存著 SD/MMC 卡的主要存儲了 VDD 供電電允許範圍,SD 卡操作電壓範圍為 2~3.6V。
OCR 寄存器保存著 SD/MMC 卡的主要存儲了 VDD 供電電允許範圍,SD 卡操作電壓範圍為 2~3.6V。
OCR bit position
|
OCR Fields
|
0 – 3
|
reserved
|
4
|
reserved
|
5
|
reserved
|
6
|
reserved
|
7
|
Reserved for Low Voltage Range
|
8
|
reserved
|
9
|
reserved
|
10
|
reserved
|
11
|
reserved
|
12
|
reserved
|
13
|
reserved
|
14
|
reserved
|
15
|
2.7 – 2.8
|
16
|
2.8 – 2.9
|
17
|
2.9 – 3.0
|
18
|
3.0 – 3.1
|
19
|
3.1 – 3.2
|
20
|
3.2 – 3.3
|
21
|
3.3 – 3.4
|
22
|
3.4 – 3.5
|
23
|
3.5 – 3.6
|
24-29
|
reserved
|
30
|
Card Capacity Status(CCS)
|
31
|
Card Power Up Status bit (busy)
|
7. SSR(SD Status Register)寄存器:
有關 SD 卡專狀態功能的信息。
有關 SD 卡專狀態功能的信息。
SSR Identifier
|
數據寬度
|
Type
|
SSR劃分
|
DAT_BUS_WIDTH
|
2
|
SR
|
[511:510]
|
SECURED_MODE
|
1
|
SR
|
[509]
|
-
|
13
|
-
|
[508:496]
|
SD_CARD_TYPE
|
16
|
SR
|
[495:480]
|
SIZE_OF_PROTECTED_AREA
|
32
|
SR
|
[479:448]
|
SPEED_CLASS
|
8
|
SR
|
[447:440]
|
PERFORMANCE_MOVE
|
8
|
SR
|
[439:432]
|
AU_SIZE
|
4
|
SR
|
[431:428]
|
-
|
4
|
-
|
[427:424]
|
ERASE_SIZE
|
16
|
SR
|
[423:408]
|
ERASE_TIMEOUT
|
6
|
SR
|
[407:402]
|
ERASE_OFFSET
|
2
|
SR
|
[401:400]
|
-
|
8
|
-
|
[399:312]
|
-
|
312
|
-
|
[311:0]
|
8. CSR(Card Status Register)寄存器:
卡狀態寄存器保存著卡的狀態(例如:是否寫成功,通信的 CRC 校驗是否正確等)。
卡狀態寄存器保存著卡的狀態(例如:是否寫成功,通信的 CRC 校驗是否正確等)。
CSR Identifier
|
數據寬度
|
Type
|
CSR劃分
|
OUT_OF_RANGE
|
1
|
ERX
|
[31:31]
|
ADDRESS_ERROR
|
1
|
ERX
|
[30:30]
|
BLOCK_LEN_ERROR
|
1
|
ERX
|
[29:29]
|
ERASE_SEQ_ERROR
|
1
|
ER
|
[28:28]
|
ERASE_PARAM_ERROR
|
1
|
ERX
|
[27:27]
|
WP_VIOLATION:PROTECTED
|
1
|
ERX
|
[26:26]
|
CARD_IS_LOCKED
|
1
|
SX
|
[25:25]
|
LOCK_UNLOCK_FAIL
|
1
|
ERX
|
[24:24]
|
COM_ECC_ERROR
|
1
|
ER
|
[23:23]
|
ILLEGAL_COMMAND
|
1
|
ER
|
[22:22]
|
CARD_ECC_FAILED
|
1
|
ERX
|
[21:21]
|
CC_ERROR
|
1
|
ERX
|
[20:20]
|
普通或未知错误
|
1
|
ERX
|
[19:19]
|
保留
|
1
|
-
|
[18:18]
|
保留
|
1
|
-
|
[17:17]
|
CSD_OVERWRITE
|
1
|
ERX
|
[16:16]
|
WP_ERASE_SKIP:PROTECTED
|
1
|
ERX
|
[15:15]
|
CARD_ECC_DISABLED
|
1
|
SX
|
[14:14]
|
ERASE_RESET
|
1
|
SR
|
[13:13]
|
CURRENT_STATE
|
4
|
SX
|
[12:9]
|
READY_FOR_DATA
|
1
|
SX
|
[8:8]
|
保留
|
1
|
-
|
[7:7]
|
FX_EVENT
|
1
|
SX
|
[6:6]
|
APP_CMD
|
1
|
S
|
[5:5]
|
保留
|
1
|
R
|
[4:4]
|
AKE_SEQ_ERROR
|
1
|
ER
|
[3:3]
|
保留
|
1
|
-
|
[2:2]
|
保留
|
1
|
-
|
[1:1]
|
保留
|
1
|
-
|
[0:0]
|
2017年 11月 20日 天氣報告
氣溫:18.2度 @ 20:20
相對濕度:百分之 76%
天氣:多雲
沒有留言:
張貼留言