SD MMC相關暫存器的介紹

2021-06-23 01:02:46 字數 2566 閱讀 4651

熟悉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 暫存器在記錄結構上是不同的。

這個描述資料暫存器(csd)有 128 位元組長,如下表所示,此卡的包含了訪問該卡資料時的必要配置資訊。「cell type」欄內定義了csd的區域是唯讀(r)、一次程式設計(r/w)或可擦除的(r/w/e)[「r/w」是指可以多次擦寫,「r/w(1)」是指只能一次寫入,不可擦除]。該張表中所顯示的值都對應真實的csd結構中的各自區域和編碼。csd區域的樣式是依照欄標記(和乙個複選標記√)的樣式。注意sd卡內的 csd暫存器和**********卡的csd暫存器有著不同的結構。

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

csd version 2.0的如下:

除了 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匯流排模式下才有效。

暫存器介紹

圖中標為0或1的那些位是保留的位,其必須按照所示的用0或1來裝載它,並且在檢查eflags時將它們忽略。這樣能保證未來intel公司決定要用eflags暫存器的這些位定義更多標誌時的相容性。改變eflags暫存器中的位的乙個方法是把eflags儲存起來,然後再對其儲存的映像修改想改的位,再用修改後的...

esp暫存器與ebp暫存器介紹

esp extended stack pointer 是指標暫存器的一種 另一種為ebp 用於堆疊指標。esp為棧指標,用於指向棧的棧頂 下乙個壓入棧的活動記錄的頂部 而ebp為幀指標,指向當前活動記錄的頂部。棧指標與幀指標標識出了當前活動記錄的位置。當函式被呼叫的時候,執行如下操作 將幀指標壓入棧...

ARM暫存器介紹

arm微處理器支援7種執行模式,分別為 1.使用者模式 usr arm處理器正常的程式執行狀態 2.快速中斷模式 fiq 用於高速資料傳輸或通道管理 3.外部中斷模式 irq 用於通用的中斷處理 4.管理模式 svc 作業系統使用的保護模式 5.資料訪問終止模式 abt 當資料或指令預取終止時進入該...