時鐘控制
主機可以使用SD Memory Card總線時鐘信號將卡切換到節能模式或控制總線上的數據流(以避免欠運行或過運行)。主機不允許降低時鐘頻率或關閉時鐘。
例如,在具有512字節數據緩沖區的主機希望將數據傳輸到具有1kbyte寫塊的卡的情況下。因此,為了保持所有數據的連續傳輸,從卡的角度來看,到卡的時鐘應該在第一個512字節之后停止。然后,主機將用另一個512字節填充其內部緩沖區。在主機中寫塊的后半部分準備好后,它將通過重新啟動時鐘電源繼續向卡傳輸數據。這樣,卡就不能識別數據傳輸中的任何中斷。有一些限制是HOST應該考慮的:
總線頻率可隨時更改(受最大數據傳輸頻率和規范文件定義的識別頻率的限制.
上述豁免是ACMD41 (SD_APP_OP_COND)。發出ACMD41命令后,由主機執行以下1)或2)程序,直到卡準備就緒。
1)發出100 KHz-400 KHz頻率范圍內的連續時鐘。如果主機想要停止時鐘,則通過ACMD41命令以小于50 ms的間隔輪詢忙位。
這是一個明顯的要求,時鐘應該運行的卡輸出數據或響應令牌。在最后一次SD存儲卡總線事務之后,要求主機在關閉時鐘之前提供8(eight)個時鐘周期供卡完成操作。以下是各種總線事務的列表:沒有回應的命令。
8個時鐘主機命令結束位之后。帶有響應的命令。
8個時鐘在卡響應結束位之后。讀數據事務。
8個時鐘在最后一個數據塊的結束位之后。寫數據事務。
8人時鐘在CRC狀態令牌之后。允許主機關閉“忙”卡的時鐘。
無論主機時鐘如何,卡都將完成編程操作。但是,主機應該為卡提供一個時鐘邊緣來關閉它的忙音信號。如果沒有時鐘邊緣,卡(除非先前通過取消選擇命令cmd7斷開連接)將永遠迫使DAT線向下。
CRC (Cyclic Redundancy Code)
CRC旨在保護SD存儲卡命令、響應和數據傳輸,防止SD存儲卡總線上的傳輸錯誤。為每個命令生成一個CRC,并檢查CMD行上的每個響應。對于數據塊,每個傳輸的塊生成一個CRC。生成并檢查CRC,如下所述。
CRC7
CRC7檢查用于所有命令、除類型R3之外的所有響應以及CSD和CID寄存器。CRC7是一個7位值,計算方法如下:
第一個位是對應的位串(命令、響應、CID或CSD)的最左邊的位多項式的階n是CRC保護位的個數減少1。命令和響應(n = 39)需要保護的比特數為40,CSD和CID (n = 119)需要保護的比特數為120。
CRC7例子
命令/響應的CRC部分被保留。
CRC16
在使用一條DAT線路的情況下,CRC16用于塊傳輸模式下的有效負載保護。CRC校驗和是一個16位的值,計算方法如下:
第一個位是相應塊的第一個數據位。多項式的度n表示數據塊的位數減少1
(例如,塊長度為512字節時為e.g.n =4095)。發生器多項式G(x)是一個標準的CCITT多項式。代碼的最小距離為d-4,用于負載長度為2048字節(n <= 16383)。在單數據線模式和寬總線模式下應使用相同的CRC16方法在寬總線模式下,CRC16在每條線路上分別完成。
CRC16例子
512字節的0xFF data-->CRC16=0x7FA1
錯誤條件
CRC與非法命令
所有命令都由CRC (cvclic redundancy check)位保護。如果地址卡的CRC檢查失敗,則該卡不響應,命令不執行。卡不改變它的狀態,并且在狀態寄存器中設置了COM CRC ERROR位。同樣,如果接收到非法命令,卡將不改變其狀態,不響應,并在狀態寄存器中設置ILLEGAL_COMMAND錯誤位。狀態圖中只顯示非錯誤狀態分支。下表給出了完整的狀態轉換描述。
非法命令有不同的類型:屬于卡不支持的類的命令(如:只讀卡中的寫入命令)。
當前狀態下不允許的命令(如:CMD2處于傳輸狀態)。
未定義的命令(如:CMD5)。
審核編輯 黃宇
-
存儲
+關注
關注
13文章
4404瀏覽量
86443 -
crc
+關注
關注
0文章
200瀏覽量
29709 -
SD NAND
+關注
關注
0文章
85瀏覽量
1318
發布評論請先 登錄
相關推薦
一文帶你了解什么是SD NAND存儲芯片
瀚海微SD NAND之SD 協議(37)SPI總線保護和讀寫

瀚海微SD NAND存儲功能描述(28)RCA Registers

瀚海微SD NAND存儲功能描述(25)SD Registers

瀚海微SD NAND存儲功能描述(22)Timing Values

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

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

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

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

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

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

瀚海微SD NAND應用之SD協議存儲功能描述2 初始化命令

評論