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