2017年11月20日 星期一

DIY - ESP8266:ESP-12F 讀取 SD Card 內寄存器資料(四十六)

DIY - ESP8266:ESP-12F 讀取 SD Card 內寄存器資料(四十六):

其實 SD (Secure Digital)記憶卡內是儲存了很多規格資料,祇要通過不同的指令(Command)便可以讀取相關的資料,SD 卡內部有 8 個寄存器,包括 CID、RCA、DSR、CSD、SCR、OCR、SSR 和 CSR 寄存器,祇要通過不指的指令,便可以取得相關資料。

SD Card 內寄存器
1. CID(Card Identification Register)寄存器:
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週期內讀取時間2NSAC*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 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 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 卡專狀態功能的信息。
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 校驗是否正確等)。
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%
天氣:多雲

沒有留言:

張貼留言