應(yīng)用專用命令app_cmd (CMD55)
當(dāng)卡接收到這個(gè)命令時(shí),會(huì)使卡將下面的命令解釋為一個(gè)特定于應(yīng)用程序的命令ACMD。ACMD提供命令擴(kuò)展,具有與常規(guī)命令相同的結(jié)構(gòu),并且可能具有相同的CMD號(hào)??ㄍㄟ^它出現(xiàn)在APP_CMD之后的事實(shí)將其識(shí)別為ACMD。當(dāng)沒有定義ACMD時(shí),卡將其視為常規(guī)命令。
例如,如果一張卡有ACMD13的定義,但沒有ACMD7的定義,則APP_CMD后的命令13被解釋為非規(guī)則CMD13,而APP CMD后的CMD7被解釋為規(guī)則CMD7。為了使用一個(gè)ACMD,主機(jī)應(yīng)該是:
(1)當(dāng)發(fā)送APP_CMD時(shí),響應(yīng)設(shè)置了APP_CMD位,向主機(jī)發(fā)出ACMD現(xiàn)在被期望的信號(hào)。
(2) ACMD55不存在。如果連續(xù)發(fā)出多個(gè)CMD55,則每個(gè)響應(yīng)中的APP_CMD位設(shè)置為1 ,緊跟在最后一個(gè)CMD55之后發(fā)出的命令解釋為ACMD。當(dāng)在CMD55之后直接發(fā)出多個(gè)命令時(shí)(CMD55除外),第一個(gè)命令解釋為ACMD,后面的命令解釋為普通命令
(3)如果發(fā)送了已定義的ACMD并且是合法的,則響應(yīng)設(shè)置了APP CMD位,表明接受的命令被解釋為ACMD。
(4)如果發(fā)送了一個(gè)未定義的ACMD并且它是合法的,則響應(yīng)將清除APP_CMD位,表明接受的命令被解釋為正常的CMD。
(5)如果發(fā)送了已定義或未定義的ACMD,且該ACMD是非法的,則按非法命令處理。下一個(gè)R1/R6響應(yīng)中指示“非法命令錯(cuò)誤”,主機(jī)應(yīng)忽略響應(yīng)中的APP_CMD狀態(tài)。下一個(gè)命令作為普通命令處理。
主機(jī)不能使用未定義的acmd作為常規(guī)命令,即使規(guī)范中有定義。以下ACMD號(hào)碼是為SD存儲(chǔ)卡專有應(yīng)用保留的,任何SD存儲(chǔ)卡制造商不得使用:ACMD6、ACMD13、ACMD17-26、ACMD38-49、ACMD51。
在上述解釋中,在詳細(xì)命令描述部分中定義的命令是“已定義”命令,而在該部分中未定義的命令是“未定義”命令。“合法”表示在當(dāng)前狀態(tài)下接受已定義或未定義的命令,“非法”表示在當(dāng)前狀態(tài)下不接受已定義或未定義的命令。
通用命令- GEN_CMD(CMD56)
GEN_CMD (CMD56)是一個(gè)特定于廠商的可選命令。命令操作由本規(guī)范定義。GEN CMD的總線事務(wù)與單個(gè)塊讀或?qū)懨?CMD24或CMD17)相同,并且僅在“傳輸狀態(tài)”下接受。響應(yīng)類型為R1。兩者的區(qū)別在于參數(shù)表示數(shù)據(jù)傳輸?shù)姆较?而不是地址),數(shù)據(jù)塊不是內(nèi)存有效負(fù)載數(shù)據(jù),而是具有特定于供應(yīng)商的格式和含義。在發(fā)送CMD56之前,需要選中卡片(“tran_state”)。
在標(biāo)準(zhǔn)容量SDl存儲(chǔ)卡的情況下,數(shù)據(jù)塊大小是用CMD16定義的block_LEN。在SDHCl和SDXC卡的情況下,塊長(zhǎng)度固定為512byte。參數(shù)的位0表示數(shù)據(jù)傳輸?shù)姆较?0表示寫操作,1表示讀操作。廠商可以對(duì)該命令的參數(shù)和數(shù)據(jù)塊內(nèi)容的第31-1位定義特定的格式。
然而,應(yīng)該考慮到卡應(yīng)該防止損壞卡接收到意外的格式。主機(jī)在發(fā)放CMD56前應(yīng)確認(rèn)CID,使卡支持CMD56格式。
切換功能命令
切換功能命令(CMD6)用于切換或擴(kuò)展內(nèi)存卡功能。
目前定義了四個(gè)功能組:
(1)接入方式:SD總線接口速度模式的選擇。
(2)指揮系統(tǒng):特定的功能可以通過一組共享命令進(jìn)行擴(kuò)展和控制。
(3)駕駛員強(qiáng)度在UHS-I模式中選擇合適的輸出驅(qū)動(dòng)器強(qiáng)度取決于主機(jī)環(huán)境。
(4)限流選擇在UHS-I模式下限制卡的最大電流取決于主機(jī)的供電能力和放熱能力。
這是在物理層規(guī)范版本1.10中引入的。因此,與早期版本的規(guī)范兼容的卡不支持它。在使用CMD6之前,主機(jī)應(yīng)該檢查SCR寄存器中的“SD_SPEC”字段,以確定卡符合哪個(gè)版本的規(guī)范。也可以通過CSD中CCC的bit10來檢查對(duì)CMD6的支持。
版本1.10及更高版本的SD存儲(chǔ)卡必須支持CMD6。CMD6在“轉(zhuǎn)移狀態(tài)”下有效。一旦選擇,通過switch命令,所有功能只在一個(gè)電源周期后,CMD6(每個(gè)功能組中功能0的模式1操作)或CMDO返回到默認(rèn)功能。執(zhí)行電源周期或發(fā)出CMDO將使卡復(fù)位到“空閑”狀態(tài),所有功能切換回默認(rèn)功能。
作為對(duì)CMD6的響應(yīng),SD存儲(chǔ)卡將在CMD線上發(fā)送R1響應(yīng),在DAT線上發(fā)送512位狀態(tài)。從SD總線事務(wù)的角度來看,這是一個(gè)標(biāo)準(zhǔn)的單塊讀事務(wù),該命令的超時(shí)值為100毫秒,與讀命令相同。如果狀態(tài)數(shù)據(jù)發(fā)生CRC錯(cuò)誤,主機(jī)應(yīng)該發(fā)出一個(gè)電源周期。CMD6功能切換周期在狀態(tài)數(shù)據(jù)結(jié)束位后的8個(gè)時(shí)鐘內(nèi)。當(dāng)CMD6改變總線行為(即訪問模式)時(shí),主機(jī)被允許使用新功能(增加/減少CLK頻率超過當(dāng)前最大CLK頻率),至少8個(gè)時(shí)鐘后在交換機(jī)命令事務(wù)結(jié)束見下方圖表。
響應(yīng)CMDO,切換周期在CMDO結(jié)束位后的8個(gè)時(shí)鐘內(nèi)。當(dāng)CMD6改變了總線行為(即訪問模式)時(shí),主機(jī)被允許啟動(dòng)初始化過程,至少在CMDO后8個(gè)時(shí)鐘。
CMD6支持6個(gè)功能組,每個(gè)功能組支持16個(gè)分支(功能)。
在給定的功能組中只能選擇并激活一個(gè)功能。每個(gè)功能組中的函數(shù)0為默認(rèn)函數(shù)(與Spec. 1.01兼容)。
CMD6有兩種使用模式:
模式0(檢查功能)用于查詢卡是否支持某項(xiàng)功能。
模式1(設(shè)置功能)用于切換卡的功能。
審核編輯 黃宇
-
NAND
+關(guān)注
關(guān)注
16文章
1719瀏覽量
137856 -
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4507瀏覽量
87111 -
SD
+關(guān)注
關(guān)注
1文章
167瀏覽量
34342 -
CMD55
+關(guān)注
關(guān)注
0文章
6瀏覽量
10499
發(fā)布評(píng)論請(qǐng)先 登錄
在卡初始化的過程中,CMD8之后發(fā)送一個(gè)cmd55命令做什么?
R&S回收CMD55 CMD65/CMD55綜合測(cè)試儀
cmd常用命令大全 cmd運(yùn)行命令
供CMD55/CMD55/CTS60 GSM手機(jī)測(cè)試儀
CMD55、CMD55、CMD55、CMD55綜合測(cè)試儀新到
CMD55 CMD55 CMD-55 手機(jī)測(cè)試儀 蕭小姐13
CMD55綜測(cè)儀操作手冊(cè)

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

瀚海微SD NAND應(yīng)用存儲(chǔ)功能描述(4)電壓切換命令

瀚海微SD NAND存儲(chǔ)功能描述(10)CMD6和其他命令關(guān)系

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

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

瀚海微SD NAND存儲(chǔ)功能描述(16)命令類c

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

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

評(píng)論