1. 程式人生 > >SD/eMMC暫存器介紹

SD/eMMC暫存器介紹



熟悉SD/MMC的相關暫存器對協議的理解有一定的輔助作用,所以這篇文章來介紹一下SD/MMC相關的暫存器有哪些呢?

1.SD卡內部架構

在熟悉SD/MMC相關暫存器之前,我們先來看看SD卡的內部架構是怎麼樣的,如下圖所示:


2.SD/MMC相關暫存器的介紹


從上圖中總結出:SD卡內部有7個暫存器.

一、OCR,CID,CSD和SCR暫存器儲存卡的配置資訊;

二、RCA暫存器儲存著通訊過程中卡當前暫時分配的地址(只適合SD模式);

三、CSR暫存器卡狀態(Card Status)和SSR暫存器SD狀態(SD Status)暫存器儲存著卡的狀態(例如,是否寫成功,通訊的CRC校驗是否正確等),這兩個暫存器的內容與通訊模式(SD模式或SPI模式)相關.

四、MMC卡沒有SCR和SSR暫存器.

下面分別對7個暫存器中比較重要的暫存器詳細解釋一下,分別是CID、CSD、SCR、OCR、RCA這5個暫存器。

2.1. Card Identification Register(CID)

這個 CID 暫存器有 16 位元組長,如下表所示,它包含了本卡的特別識別碼(ID 號)。 這些資訊是在卡的生產期間被程式設計(燒錄),主控制器不 能修改它們的內容。 注意:SD卡的 CID 暫存器和 MMC 卡的 CID 暫存器在記錄結構上是不同的。


2.2.Card Specific Data Register(CSD)

這個描述資料暫存器(CSD)有 128 位元組長,如下表所示,

此卡的包含了訪問該卡資料時的必要配置資訊。“cell type”欄內定義了CSD的區域是隻讀(R)、一次程式設計(R/W)或可擦除的(R/W/E)[“R/W”是指可以多次擦寫,“R/W(1)”是指只能一次寫入,不可擦除]。該張表中所顯示的值都對應真實的CSD結構中的各自區域和編碼。CSD區域的樣式是依照欄標記(和一個複選標記√)的樣式。注意SD卡內的 CSD暫存器和MultiMedia卡的CSD暫存器有著不同的結構。

在SD3.0協議中,CSD分為版本1.0和版本2.0,版本1.0對應標準容量的SD卡,版本2.0對應高容量和超高容量的SD卡。


CSD Version 2.0的如下:


2.3.SD card Configuration Register (SCR)

除了 CSD 暫存器外,還有一個配置暫存器的名字是:SD 卡配置暫存器(SCR)。SCR 提供了SD 卡的一些特殊特性在這張卡內。它的大小是64 位。這個暫存器內容由製造商在生產廠內設定,MMC卡沒有SCR。


SCR_STRUCTURE 關於SD卡內的物理級說明中SCR結構的版本號。

SD_SPEC描述這張SD卡在物理級上所支援的說明版本。

DATA_STAT_AFTER_ERASE 定義了資料在擦除後的狀態。是“0”或“1”中的任何一個(這要依賴卡的供應商)。

SD_SECURITY 描述了該卡所支援的安全演算法。0:無 1:安全協議1.0 安全說明版本 0.96 2:安全協議2.0 安全說明版本 1.0 - 1.01。其他保留

SD_BUS_WIDTHS描述該卡所支援的所有資料匯流排寬度。從SD 卡支援最少1 位或4 位寬度這兩種匯流排模式開始,任何SD 卡都將最少要設定0 和2 這兩個位(即SD_BUS_WIDTH = 0101 ),1.4位保留。

2.4.Operating Conditions Register (OCR)

這個 32 位的工作條件暫存器儲存了卡的 VDD 電壓輪廓圖。任何標準的 SD 卡主控制器可以使用 2V 至 3.6V 的工作電壓來讓 SD 卡能執行這個電壓識別操作(CMD1)。而訪問儲存器的陣列操作無論如何都需要 2.7V 至 3.6V 的工作電壓。OCR 暫存器顯示了在訪問卡的資料時所需要的電壓範圍。OCR 暫存器的結構描述:


2.5.RCA暫存器
該16位卡地址暫存器儲存了在卡識別過程中卡釋出的器件地址。該地址用於在卡識別後主機利用該地址與卡進行通訊。該暫存器只有在SD匯流排模式下才有效。