EMMC/SD學習小記

eMMC之分區管理、總線協議和工作模式
JDEDC EMMC 協議中文
SD卡協議中文2.0 3.0

EMMC4.4 非Boot模式讀流程

  • 等待74個時鐘
  • CMD0 復位emmc至idle狀態
命令索引 類型 參數 應答 縮寫 命令說明
CMD0 bc 00000000 - GO_IDLE_STATE 復位設備至idle狀態
CMD0 bc f0f0f0f0 - GO_PRE_IDLE_STATE 復位設備至pre-idle狀態
CMD0 - fffffffa - GO_INITIATION 啓動替換的引導操作

這裏寫圖片描述

  • 發送CMD1獲取OCR
命令索引 類型 參數 應答 縮寫 命令說明
CMD1 bc [31:0] OCR R3 SEND_OP_COND 請求idle狀態設備發送在CMD線發送其OCR結構

這裏寫圖片描述

  • CMD2獲取CID
命令索引 類型 參數 應答 縮寫 命令說明
CMD2 bc [31:0] 填充位 R2 ALL_SEND_CID 請求設備在CMD線發送其CID編號

這裏寫圖片描述

  • CMD3分配RCA
命令索引 類型 參數 應答 縮寫 命令說明
CMD3 ac [31:16] RCA [15:0] 填充位 R1 SET_RELATIVE_ADDR 分配相對地址到設備

這裏寫圖片描述

  • CMD9獲取CSD
命令索引 類型 參數 應答 縮寫 命令說明
CMD9 ac [31:16] RCA [15:0] 填充位 R2 SEND_CSD SEND_CSD尋址的設備在CMD線上發送其設備專有數據(CSD)

這裏寫圖片描述

  • CMD7 設置transfer狀態
命令索引 類型 參數 應答 縮寫 命令說明
CMD7 ac [31:16] RCA [15:0] 填充位 R2 SELECT/DESELECT_C ARD 在stand-by和transfer狀態之間或program- ming和disconnect狀態之間切換設備的命令。兩種情況下,設備以其自己的相對地址被選定並以其他地址被取消選定;地址0取消所有設備的選定。

這裏寫圖片描述

  • CMD13獲取設備狀態
命令索引 類型 參數 應答 縮寫 命令說明
CMD13 ac [31:16] RCA [15:0] 填充位 R1 SEND_STATUS 尋址的設備發送其狀態寄存器

這裏寫圖片描述

  • 根據ECSD switch不同的位寬。(可選) CMD8, CMD13, CMD6
  • CMD18讀數據
命令索引 類型 參數 應答 縮寫 命令說明
CMD18 adtc [31:0] 數據地址1 R1 READ_MULTIPLE_ BLOCK 從設備向主機連續傳輸數據塊,直至被停止命令中斷,或所要求傳輸的塊數。

這裏寫圖片描述

這裏寫圖片描述

SD1.0 初始化流程

這裏寫圖片描述

  • 等待74個時鐘
  • CMD0 復位SD卡至idle狀態
    這裏寫圖片描述
  • CMD8 發送SD 卡接口條件,包含了主機支持的電壓信息,並詢問卡是否支持。保留位應該設置爲0。
命令索引 類型 參數 應答 縮寫 命令說明
CMD8 bcr [31:12]保留位,[11:8]VHS,[7:0]檢查模式 R7 SEND_IF_COND 發送SD 卡接口條件,包含了主機支持的電壓信息,並詢問卡是否支持。保留位應該設置爲0。

這裏寫圖片描述

  • ACMD41 發送卡的支持信息(HCS)。發送ACMD需要先發送CMD55。
命令索引 類型 參數 應答 縮寫 命令說明
CMD55 ac [31:16]RCA [15:0]填充位 R1 APP_CMD 告訴卡,下個命令是特定應用命令,而不是標準命令。

這裏寫圖片描述

命令索引 類型 參數 應答 縮寫 命令說明
ACMD41 bcr [31]保留位 [30]HCS(OCR30) [29:24]保留位 [23:0]VddVdd 電壓(OCR[23:0]) R3 SD_SEND_OP_COND 發送卡的支持信息(HCS),並要求卡通過命令線返回OCR 寄存器內容。當卡收到SEND_IF_COND 時,HCS 是有效的。保留位設爲0。CCS 位對應OCR[30]

這裏寫圖片描述

  • 接下來SD卡初始化就是CMD2和CMD3,大致是和MMC卡流程是一樣的。後面有一些命令SD和MMC還是不同的,比如switch的命令就不同,SD卡使用的是ACMD6來定義數據的寬度等等,而MMC是使用CMD8來switch。
    這裏寫圖片描述
命令索引 類型 參數 應答 縮寫 命令說明
ACMD6 ac [31:2]填充位 [1:0]總線寬度 R1 SET_BUS_WIDTH 定義數據總線的寬度(‘00’=1bit,‘10’=4bit)。接受的數據總線定義在SCR 寄存器中。

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章