總線傳輸保護
總線上傳輸?shù)拿織lSD卡命令都受到CRC位的保護。在SPI模式下,SD存儲卡提供了CRC ON模式,使具有可靠數(shù)據(jù)鏈路的系統(tǒng)能夠排除實現(xiàn)CRC生成和驗證功能所需的硬件或固件。在CRC OFF模式下,命令的CRC位被定義為“不關心”發(fā)送端,而被接收端忽略。
缺省情況下,SPI接口初始化為CRC OFF模式。然而,用于將卡切換到SPI模式的RESET命令(CMD0)在SD模式下被卡接收,因此應該有一個有效的CRC字段。
由于CMD0沒有參數(shù),所有字段的內容(包括CRC字段)都是常量,不需要在運行時計算。
有效的復位命令為:Ox40, Ox0, Ox0, Ox0, Ox0, ox95卡進入SPI模式后,將根據(jù)CMD59設置對包括CMD0在內的所有命令進行CRC檢查。
主機可以使用CRC_ON_OFF命令(CMD59)打開和關閉CRC選項。
主機應在發(fā)出ACMD41之前啟用CRC驗證。始終啟用CMD8 CRC校驗。
主機應在CMD8參數(shù)中設置正確的CRC。
如果檢測到CRC錯誤,無論命令索引如何,卡都會在R1響應中返回CRC錯誤。
數(shù)據(jù)讀取
SPI模式支持單塊讀取和多塊讀取操作(SD Memory Card協(xié)議中的CMD17或CMD18)。
在接收到一個有效的讀命令后,卡將用一個響應令牌和一個數(shù)據(jù)令牌進行響應,參考下圖。
在標準容量卡的情況下,數(shù)據(jù)令牌中的大小由set BLOCKLEN (CMD16)設置的塊長度決定。
對于SDHC和SDXC卡,無論cmd16設置的塊長度如何,塊長度都固定為512字節(jié)。
最大塊長度為512字節(jié),與CSD中定義的READ_BL_LEN無關。
如果在標準容量卡中啟用部分塊訪問(即CSD參數(shù)READ BL partial等于1),塊長度可以是1到512字節(jié)之間的任何數(shù)字。
起始地址可以是卡有效地址范圍內的任意字節(jié)地址。但是,每個塊應包含在單個物理卡扇區(qū)中。
如果禁用部分塊訪問,則只支持512字節(jié)的數(shù)據(jù)長度。SDHC和SDXC卡只支持512字節(jié)的塊長度。起始地址應與塊邊界對齊。
在數(shù)據(jù)檢索錯誤的情況下,卡將不傳輸任何數(shù)據(jù)。相反,一個特殊的數(shù)據(jù)錯誤令牌將被發(fā)送到主機。
下圖顯示了一個以錯誤令牌而不是數(shù)據(jù)塊結束的數(shù)據(jù)讀取操作。
數(shù)據(jù)寫入
SPI模式支持單塊和多塊寫命令。在接收到有效的寫命令(SD存儲卡協(xié)議中的CMD24或CMD25)后,卡將使用響應令牌進行響應,并等待主機發(fā)送數(shù)據(jù)塊。
CRC后綴、塊長度和起始地址限制(CSD參數(shù)WRITE BL PARTIAL控制部分塊寫選項和WRITE_BL_LEN除外)與讀操作相同,參考下圖
每個數(shù)據(jù)塊都有一個“開始塊”標記的前綴(一個字節(jié))。在接收到數(shù)據(jù)塊后,卡將使用數(shù)據(jù)響應令牌進行響應。如果接收到的數(shù)據(jù)塊沒有錯誤,將對其進行編程。
只要卡在忙編程,所有連續(xù)的忙令牌流將被發(fā)送到主機(有效地保持低數(shù)據(jù)輸出線)。
一旦編程操作完成,主機應該使用SEND_STATUS命令(CMD13)檢查編程的結果。一些錯誤(例如地址超出范圍,違反寫保護等)僅在編程期間檢測到。
在數(shù)據(jù)塊上執(zhí)行并通過數(shù)據(jù)響應令牌與主機通信的唯一驗證檢查是CRC和一般寫錯誤指示。
在多塊寫操作中,停止傳輸將通過在下一個塊的開始處發(fā)送' stop Tran'令牌而不是'Start Block'令牌來完成。
如果出現(xiàn)寫錯誤指示(在數(shù)據(jù)響應上),主機將使用SEND_NUM_WR_BLOCKS (ACMD22)來獲取寫好的寫塊的數(shù)量。
當卡忙時,重置CS信號不會終止編程過程??▽⑨尫艛?shù)據(jù)輸出線(三狀態(tài))并繼續(xù)編程。
如果在編程完成之前重新選擇卡,則DataOut線將被強制返回低電平,并且所有命令將被拒絕。
重置存儲卡(使用CMDO用于SD存儲卡)將終止任何掛起的或正在進行的編程。這可能會破壞卡上的數(shù)據(jù)格式。預防是主機的責任
擦寫保護管理
SPI模式的擦寫保護管理過程與SD模式的擦寫保護管理過程相同。
當卡擦除或更改預定義扇區(qū)列表的寫保護位時,它將處于忙狀態(tài)并使DataOut線保持低電平。
下圖說明了使用和不使用忙信令的“無數(shù)據(jù)”總線事務。
審核編輯 黃宇
-
SPI
+關注
關注
17文章
1706瀏覽量
91502 -
總線
+關注
關注
10文章
2878瀏覽量
88051 -
SD NAND
+關注
關注
0文章
83瀏覽量
1234
發(fā)布評論請先 登錄
相關推薦
評論