讀、寫、擦除超時條件
如果主機在給定的超時時間內(nèi)沒有收到任何響應,則應假定該卡不會響應,并嘗試恢復(例如重置卡,電源周期,拒絕等)。
Read
對于標準容量SD存儲卡,讀取操作的超時條件發(fā)生的時間(與卡無關(guān))要么比下面給出的這些操作的典型訪問時間長100倍,要么長100毫秒(兩者中較低者)。讀訪問時間定義為CSD參數(shù)TAAC和NSAC給出的兩個時間之和。在單讀操作的情況下,這些卡參數(shù)定義了read命令的結(jié)束位和數(shù)據(jù)塊的開始位之間的典型延遲。在多讀操作的情況下,它們還定義了數(shù)據(jù)塊的結(jié)束位和下一個數(shù)據(jù)塊的開始位之間的典型延遲High Capacity SD Memory Card和Extended Capacity SD Memory Card表示TAAC和NSA作為固定值。對于單個和多個讀操作,主機應該使用100毫秒的超時(最小),而不是使用TAAC和NSAC。
Write
寫對于標準容量SD存儲卡,發(fā)生寫操作的超時條件的時間(與卡無關(guān))要么比下面給出的這些操作的典型程序時間長90倍,要么長250毫秒(兩者中較低的一個)。CSD中的R2w FACTOR字段用于計算讀訪問時間乘以該因子得到的典型塊程序時間,它適用于所有寫命令(e.g. SET(CLR)_ write PROTEGT ,program_CSD和the block write commands)。
High Capacity SD Memory Card和Extended Capacity SD Memory Card的R2W_FACTOR為固定值。
對于高容量SD存儲卡,所有寫操作的最大繁忙長度定義為250ms。
在SDXC卡的情況下,該卡應該盡量保持寫操作的忙指示不超過250ms,如果該卡無法維持250ms的忙操作,則該卡可以在以下場景中顯示高達500ms的寫忙指示,包括單塊和多塊寫:
a)任何寫操作中最長500ms的最后一次繁忙,包括單塊和多塊寫。
b)當CMD12停止多個塊寫時,CMD12響應的繁忙時間高達500ms。
c) CMD23停止寫多個塊時,最后一個數(shù)據(jù)塊后的繁忙時間高達500ms。
d)除以下情況外,多塊寫入時塊間隙的忙指示最長可達250ms。當卡連續(xù)執(zhí)行兩個塊寫(2*512Bytes)并且跨越物理塊邊界時,每個塊后的繁忙時間可顯示為500ms。
特別是無論上述定義如何,CMD20指定的速度級寫入模式在任何情況下都應保持寫忙,最長可達250ms,直到指示速度級寫入結(jié)束。
在多塊寫操作中有兩種類型的業(yè)務。
(1) block qap(不帶CMD12)寫忙最大250ms
(2) CMD12后寫忙最大250ms (SDXC為500ms)
如果在多塊寫操作繁忙期間發(fā)出CMD12,則主機超時計數(shù)器為從CMD12的響應中測量250ms (SDXC為500ms)的超時時間。
應用注意:
主機應該為寫操作使用固定超時,而不是使用從R2W FACTOR參數(shù)計算的超時。
強烈建議主機實現(xiàn)超過500ms的超時值,即使顯示卡顯示的繁忙長度為250ms。
即使卡支持Speed Class,任何多塊寫操作都可能表示一個繁忙的時間段,最長可達250ms。一個AU上的繁忙時段的總和受速度等級的限制。
Erase
如果卡在SD Status中支持擦除超時計算參數(shù),主機應該使用這些參數(shù)來確定擦除超時。如果卡不支持這些參數(shù),則可以通過塊寫延遲來估計擦除超時。
一個erase命令的持續(xù)時間可以用需要擦除的寫塊(write_BL)的數(shù)量乘以250ms來估計。
Commands
命令類型
有四種命令定義來控制SD存儲卡:
廣播命令(bc),無響應-廣播特性僅在主機中的所有CMD行連接在一起時才會出現(xiàn)。如果它們是分開的,那么每一張牌將輪流單獨接受它。
帶響應的廣播命令(bcr)所有卡同時響應-由于SD存儲卡中沒有Open Drain模式,這種類型的命令只能在所有CMD行分開時使用-該命令將被每個卡單獨接受和響應。
尋址(點對點)命令(ac)在DAT上沒有數(shù)據(jù)傳輸?shù)刂?/p>
(點對點)數(shù)據(jù)傳輸命令(adtc)數(shù)據(jù)在DAT上傳輸所有命令和響應都通過SD存儲卡的CMD行發(fā)送。的command傳輸總是從與命令碼字對應的位串的左位開始。
命令格式
所有命令都有固定的48位代碼長度,需要1.92 us@ 25 MHz和0.96 us@ 50 MHz的傳輸時間。
命令總是以起始位(always 0)開始,然后是指示傳輸方向的位(host= 1)。接下來的6位表示命令的索引,該值被解釋為二進制編碼數(shù)(0到63之間)。一些命令需要一個參數(shù)(例如地址),它是由32位編碼的。
上表中以“x”表示的值表示該變量依賴于命令。所有的命令都受到CRC的保護。每個命令碼字以結(jié)束位(always 1)結(jié)束。
所有命令及其參數(shù)可以參考SD NAND存儲功能描述(14)命令
審核編輯 黃宇
-
存儲
+關(guān)注
關(guān)注
13文章
4507瀏覽量
87112 -
SDIO接口
+關(guān)注
關(guān)注
0文章
9瀏覽量
2507 -
SD NAND
+關(guān)注
關(guān)注
0文章
91瀏覽量
1440
發(fā)布評論請先 登錄
Arduino程序:實現(xiàn)SD NAND(貼片sd卡)的讀寫功能
國產(chǎn)安路FPGA SD NAND FLASH 初步描述
瀚海微SD NAND存儲功能描述(28)RCA Registers

瀚海微SD NAND存儲功能描述(26)CSD Registers

瀚海微SD NAND存儲功能描述(25)SD Registers

瀚海微SD NAND存儲功能描述(21)數(shù)據(jù)讀寫

瀚海微SD NAND存儲功能描述(18)命令類e

瀚海微SD NAND存儲功能描述(14)命令類a

瀚海微SD NAND存儲功能描述(11)命令系統(tǒng)CMD8

瀚海微SD NAND存儲功能描述(9)切換功能

瀚海微SD NAND應用存儲功能描述(7)擦除和寫保護

瀚海微SD NAND應用存儲功能描述(6)讀寫數(shù)據(jù)

瀚海微SD NAND應用之SD協(xié)議存儲功能描述2 初始化命令

評論