SD卡
一、SD卡接口
SD 卡的接口可以支持兩種操作模式:
主機系統可以選擇以上其中任一模式, SD 卡模式允許 4 線的高速數據傳輸。 SPI 模式允許簡單通用的 SPI 通道接口, 這種模式相對於 SD 模式的不足之處是喪失了速度。
(1)SD 卡模式
SD 模式針腳定義
註:S:電源供電, I:輸入 O:輸出 I/O:雙向 PP: I/O 使用推挽驅動
SD模式下允許有一個主機,多個從機(即多個卡),主機可以給從機分配地址。主機命令可以是發給指定從機,也可以以廣播形式發送。
(2)SPI 模式
SPI模式針腳定義
註:S:電源供電, I:輸入 O:輸出 I/O:雙向 PP: I/O 使用推挽驅動;
SPI 模式時,這些信號需要在主機端用 10~100K 歐的電阻上拉。
SPI 總線允許通過 2 通道(數據入和出)傳輸比特數據。 SPI 兼容模式使得 MMC 主機系統通過很小的改動就可以使用SD卡,SPI 模式使用字節傳輸。
二、SD卡總線
1.SD總線
SD 總線允許強大的 1 線到 4 線數據信號設置。 當默認的上電後, SD 卡使用 DAT0。初始化之後,主機可以改變線寬。 在混和連接中 Vcc, Vss 和 CLK 的信號連接可以通用。但是,命令,回復,和數據(DAT0~3)這幾根線,各個 SD 卡必須從主機分開。
CLK:每個時鐘周期傳輸一個命令或數據位。頻率可在 0~25MHz 之間變化。 SD 卡的總線管理器可以不受任何限制的自由產生 0~25MHz 的頻率。
CMD
DAT0~3:數據可以從卡傳向主機或副卡。數據通過數據線傳輸。
SD總線拓撲
2.SPI總線
SPI總線拓撲
三、SD卡電路設計
1.SD總線接口
2.SPI總線接口
四、SD卡總線協議
1.SD總線協議
SD總線上的通信基於命令和位數據流,它們由一個起始位開始,由一個停止位終止;
命令:命令是啟動操作的令牌。 一個命令從主機發送到單個SD卡(尋址命令)或所有連接的SD卡(廣播命令),命令CMD線上是串行傳輸。
響應:響應是從被尋址的SD卡發送的令牌,或者從所有連接的卡(同步)發送,作為對先前接收到的主機命令的答復,答復在CMD線上串行傳輸。
數據:數據可以從卡片傳輸到主機,反之亦然。,數據通過數據線傳輸。
2.SPI總線協議
SPI通道是面向字節的, 每個命令或數據塊由8個比特位構成,並且與CS信號字節對齊(8個時鐘的倍數)。
與SD總線模式一樣,SPI模式也是基於命令、響應、數據塊的傳輸。主機與SD卡間的通信全部由主機控制,主機通過CS信號線來開始每個總線的傳輸。
SD總線模式與SPI總線模式的響應方式有以下三點不同:
(1)選定的卡總是響應命令。
(2)使用八位或十六位響應結構。
(3)當卡遇到數據檢索問題時,它將響應一個錯誤響應(那個替換期望訪問的數據塊),而不是在SD總線模式下得超時。
SD卡