sd卡的讀寫

2021-06-05 08:59:10 字數 1940 閱讀 9025

sd卡全稱為 secrue digital memory card,具有輕巧、可加密、傳輸速度高、適用於手持裝置使用等優點。

二、匯流排介面

sd需要高速讀寫,同時也要使手持等嵌入式裝置能方便使用,特設有兩個訪問介面中:sd

模式介面和spi

介面。sd卡在上電初期,卡主控通過檢測引腳1(dat3)來決定使用sd模式還是spi模式。當此腳接50kohm上拉電阻時,卡進入sd模式;當此腳為低電平,卡則工作於spi模式。

sd引腳

sd模式

spi模式

1dat3cs2

cmddi

3vss

vss4

vd***d

5clk

sclk

6vss

vss7

dat0do8

dat1

resvered

9dat2

resvered

表1:sd卡介面定義

1、spi介面

spi介面是為嵌入式和手持裝置準備的,只使用普通的三線制spi匯流排,即可對卡進行一般的慢速的讀寫等操作。

圖略圖一:spi匯流排

如上圖,由讀卡器到卡的資料,在每個時種的上公升沿把do的資料鎖存到卡主控,而卡的資料則在每個clk的上公升沿把di的資料讀入讀卡器。

三、匯流排協議

sd卡命令共分為12類,分別為class0到class11,不同的卡主控根據其功能,支援不同的命令集。主要如下:

class0:卡的識別、初始化命令集。

class2:讀卡命令集

class4:寫卡命令集

class7:卡的鎖定,解鎖功能命令集

sd卡只有唯一的主機,所有命令是由主機發出。匯流排上可傳輸三種型別資料,分別是命令幀、響應、資料。

命令幀:由匯流排上唯一的主機發出,由裝置響應並執行。

響應:指裝置響應主機的命令。

資料:指由主機傳給裝置,或由裝置傳給主機的資料實體。

圖略如上圖,命令幀一共由48bit組成,其中起始位固定為0,結束位固定為1。每個命令最後1位元組包含7bit的crc校驗,第一位元組為的另外7bit為命令碼,中間的32bit為命令引數。

乙個完整的命令由命令幀和響應,或命令幀、響應和資料組合而成。

圖略圖二:mult block read

如上圖,主機發出command請求,然後卡返回該命令的respond,如果respond響應為正確,則host通過讀取cmd線狀態,等待卡準備好資料;如果cmd為低電平,表示卡busy,busy結束後卡會把cmd線拉高,並且發出start token,隨即進入資料傳輸階段;資料傳輸結束後,主機傳送結束命令停止命令,傳輸結束。

四、卡的初始化

上電後,卡處於idle狀態,主機傳送cmd0復位sd card,然後通過cmd55和acmd41判斷當前電壓是否在卡的工作範圍內。但如果是mmc卡,則不能識別cmd55,所以可以通過此命令的響應正確與否,判斷插入的是mmc卡還是sd卡。

得到正確的響應後,主機可以繼續通過cmd10讀取sd卡的cid暫存器,通過cmd16設定資料block長度,通過cmd9讀取卡的csd暫存器。從csd暫存器中,主機可獲知卡容量,支援的命令集等重要引數。

此時,卡已進入了傳輸狀態,主機就可通過cmd17/18和cmd24/25對卡進行讀寫。

繼sd1.1之後又推出了sd2.0,主要特性是支援更大容量。sd1.1中卡容量存放於csd暫存器中,而由於其規範中相關域的值較小,固最大只能表示2g位址。隨著nand容量的大大提高,sd1.1已經不適合潮流,因而推出了sd2.0。

初始化流程大同小義,只需要cmd0之後再加上cmd8命令的識別。sd1.1不支援cmd8,而sd2.0的cmd8能讀到卡的介面資訊。如果卡響應cmd8為無效命令,則走sd1.1的流程,可能是sd1.1或mmc。如cmd8響應正確,則很可能是sd2.0了。

開啟**

來自:

SD卡讀寫 Verilog實現SD卡讀寫

目前常見的sd卡有兩種形式,一種是標準的sd卡,另外一種是tf卡,無論標準的sd卡或者tf卡,其基本協議是相同的,因此對於程式設計來說,這兩種型別的sd卡的讀寫方式是相同的。針對兩種不同型別的sd卡,其引腳介面訊號定義如下圖所示 標準sd卡 tf卡 對於上述的兩種型別的sd卡,都支援兩種操作模式,分...

SD卡中讀寫檔案

在往sd卡中讀寫檔案時,遇到一些問題 當我們想要往sd卡中寫檔案時,檔名為 file targetfile new file environment getexternalstoragedirectory getcanonicalpath test.bin 一定要記得加 不然會出現錯誤.在看瘋狂安卓...

SD儲存卡讀寫速度比較

前一段時間給我的手機配了一張512mb的minisd卡,可惜用了乙個多月就壞了,只好退回換新卡,經過了乙個月時間於今年元月初終於又回到我手中。之前用過好幾個快閃儲存器卡,用了幾年一點問題也沒有,這次買的minisd卡壞的這麼快,讓我以為快閃儲存器卡不會壞的想法也完全沒有了。用atto disk be...