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

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

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

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

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

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

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

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

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

評論