簡介
SPI模式由基于flash的SD存儲卡提供的輔助通信協議組成。
這種模式是SD存儲卡協議的一個子集,設計用于與SPI通道通信,通常在摩托羅拉(以及最近一些其他供應商)的微控制器中發現。
接口是在上電后的第一個reset (CMD0)命令中選擇的,設備上電后不能更改。
SPI標準只定義了物理鏈路,而不是完整的數據傳輸協議。
SDl存儲卡SPI實現使用SD存儲卡協議和命令集的一個子集。
SPI模式的優點是能夠使用現成的主機,從而將設計工作量降至最低。
缺點是SPI模式相對于SD模式的性能損失(例如單個數據線和每個卡的硬件CS信號)。
2.00版本以后定義的SD模式下的命令和功能在SPI模式下不支持。
即使卡處于SPI模式,卡也可以響應命令和功能,但主機不應該在SPI模式下使用它們。
SPI總線協議
雖然SD存儲卡通道是基于命令和數據位流,由開始位發起,由停止位終止,SPI通道是面向字節的。每個命令或數據塊都是由8位字節組成的,并且是與CS信號對齊的字節(即長度是8個時鐘周期的倍數)。卡開始計數SPI總線時鐘周期在CS信號的斷言。每個命令或數據令牌應對齊到8時鐘周期邊界。與SD存儲卡協議類似,SPI消息由命令、響應和數據鎖令牌組成。主機和卡之間的所有通信都由主機(master)控制。
主機通過斷言CS信號低來啟動每個總線事務。與SD模式相反,所選卡總是響應命令。
當卡在讀取操作中遇到數據檢索問題時,它將響應一個錯誤響應(替換預期的數據塊),而不是像SD模式那樣響應一個超時。
此外,在寫操作期間發送到卡的每個數據塊都將使用數據響應令牌進行響應。
在標準容量存儲卡的情況下,一個數據塊可以像一個卡寫塊一樣大,也可以像單個字節一樣小。部分塊讀/寫操作是由cssregister中指定的卡選項啟用的。對于SDHC和SDXC卡,塊長度固定為512字節。
CMD16設置的塊長度僅用于CMD42,不用于內存數據傳輸。因此,部分塊讀/寫操作也被禁用。另外,不支持寫保護命令(CMD28、CMD29和CMD30)。
模式選擇與初始化
SD卡在SD模式下上電。在接收復位命令(CMD0)期間,如果CS信號被斷言(負),則將進入SPl模式。如果卡識別到需要SD模型,它將不響應命令并保持在SD模式。
如果需要SPl模式,則該卡將切換到SPI并以SPI模式R1響應響應。返回SD模式的唯一方法是進入電源循環。
在SPl模式下,不觀察SD模式下的SD Cardl協議狀態機。SPI模型支持的所有SD卡命令始終可用。
SPI模式初始化順序如下圖所示。
SEND_IF_COND (CMD8)用于校驗SD Memory Card接口的工作狀態。
CMD8的參數格式與SD模式下定義的格式相同。
卡通過分析CMD8的參數來檢測運行狀態的有效性,主機通過分析CMD8的響應來檢測運行狀態的有效性。
供電電壓由參數中的VHS字段表示。
卡假定VHS中規定的電壓為當前提供的電壓。
在任何給定時間,VHS中只有1位被設置為1。
檢查模式用于主機檢查主機與卡之間通信的有效性。
如果該卡指示非法命令,則該卡是遺留的卡,不支持cMD8。
如果卡支持CMD8并且可以在供電電壓上操作,則響應將返回在命令參數中設置的供電電壓和檢查模式。
如果響應中的VCA設置為0,則卡不能在供電電壓下工作。
如果校驗模式不匹配,CMD8通信無效。
此時,建議重試CMD8順序。
READ_OCR (CMD58)旨在為SD存儲卡主機提供一種機制,以識別與主機所需的Vop范圍
不匹配的卡。如果主機不接受電壓范圍,它將不進行進一步的初始化順序。
OCR寄存器中的電平應相應地定義(參考之前的介紹寄存器的文章)。
SD_SEND_OP_COND (ACMD41)用于啟動初始化并檢查卡是否已完成初始化。
必須在第一個ACMD41之前發布CMD8。CMD8的接收擴展了CMD58和ACMD41的功能;
ACMD41論證中的HCS (High Capacity Support)和CMD58響應中的CCSl (Card Capacity Status)。卡忽略了HCS,不接受CMD8。標準容量SD存儲卡忽略HCS。
ACMD41的R1響應中的“in idle state”位被卡用來通知主機是否完成了ACMD41的初始化。將此位設置為“1”表示卡仍在初始化。將該位設置為“0”表示初始化完成。
主機重復發出ACMD41,直到該位被設置為“0”。卡只在第一個ACMD41檢查ocl中的HCS位。在重復ACMD41的同時,主機不能發出除CMDO以外的其他命令。
初始化完成后,主機應從CMD58的響應中獲取CCS信息,當卡接受CMD8并完成初始化后,CCS才有效。CCS-0表示該卡是SDSD。CCS-1表示卡是SDHC或SDXC。
審核編輯 黃宇
-
SPI
+關注
關注
17文章
1701瀏覽量
91345 -
SDIO
+關注
關注
2文章
72瀏覽量
19294 -
SD NAND
+關注
關注
0文章
81瀏覽量
1219
發布評論請先 登錄
相關推薦
評論