一個完整的SD卡操作過程是:主機(jī)(單片機(jī)等)發(fā)起“命令”,SD卡根據(jù)命令的內(nèi)容決定是 否發(fā)送響應(yīng)信息及數(shù)據(jù)等,如果是數(shù)據(jù)讀/寫操作,主機(jī)還需要發(fā)送停止讀/寫數(shù)據(jù)的命令來結(jié)束 本次操作,這意味著主機(jī)發(fā)起命令指令后,SD卡可以沒有響應(yīng)、數(shù)據(jù)等過程,這取決于命令的 含義。這一過程如下圖 所示。:

SD卡有多種命令和響應(yīng),它們的格式定義及含義在SD協(xié)議中有詳細(xì)介紹,發(fā)送命令時主機(jī)只能通過CMD引腳發(fā)送給SD卡,串行逐位發(fā)送時先發(fā)送最高位(MSB),然后是次高位這樣類推……。
SD卡的命令格式,如下表所示:

SD卡的命令固定為48位,由6個字節(jié)組成,字節(jié)1的最高2位固定為01,低6位為命令 號(比如CMD16,為10000B即16進(jìn)制的0X10,完整的CMD16,第一個字節(jié)為01010000,即0X10+0X40)。字節(jié)2~5為命令參數(shù),有些命令是沒有參數(shù)的。字節(jié)6的高七位為CRC值, 最低位恒定為1。
SD卡的命令總共有12類,分為Class0~Class11,本章,此文僅介紹幾個比較重要的命令,
如下表所示:


上表中,大部分的命令是初始化的時候用的,而表中的 R1、R1b、R2、R3、R6和R7等是SD卡的應(yīng)答信號。在主機(jī)發(fā)送有響應(yīng)的命令后,SD卡都會給出相對應(yīng)的應(yīng)答,以告知主機(jī)該 命令的執(zhí)行情況,或者返回主機(jī)需要獲取的數(shù)據(jù),具體場景如下圖所示:

SD的響應(yīng)大體分為短響應(yīng)48bit和長響應(yīng)136bit,每個響應(yīng)也有規(guī)定好的格式。R1、R1b、
R3、R6和R7屬于短響應(yīng),而R2屬于長響應(yīng),它們具體作用如下表所示。

SD卡的響應(yīng)因使用接口不同,比如SDIO和SPI接口,它們的響應(yīng)種類以及響應(yīng)格式也是 不同。這里以SDIO接口下的R1響應(yīng)為例,其內(nèi)容格式如下表所示:

-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44961瀏覽量
648886 -
SD卡
+關(guān)注
關(guān)注
2文章
578瀏覽量
65429 -
SD
+關(guān)注
關(guān)注
1文章
167瀏覽量
34397
發(fā)布評論請先 登錄
u-boot命令之EMMC和SD卡操作命令詳解
SD卡的命令格式
使用HSPI與SD卡通信,卡都不會響應(yīng)初始CMD0設(shè)置命令的原因?
SD卡命令響應(yīng)超時怎么解決?
sd card cmd2/3沒有響應(yīng)是為什么?
SD卡命令解釋
SD卡與SD卡座電路

U盤和SD卡高速文件管理控制芯片CH378的輔助命令和USB基本傳輸命令

SD nand 與 SD卡的SPI模式驅(qū)動

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

評論