天天看點

eMMC(六)——總線上電1 通訊線2 上電3 裝置接口時序4. 上電流程

目錄

1 通訊線

2 上電

3 裝置接口時序

4. 上電流程

a 正常上電

b 低壓上電

1 通訊線

e•MMC 總線有 10 條通訊線:

         CMD: 指令線,雙向信号。主機和裝置驅動器以兩種模式工作,開漏和推挽。

        DAT0-7: 資料線,雙向信号。主機和裝置工作在推挽模式下。

        CLK: 時鐘,是主機發往裝置的信号。 CLK 工作在推挽模式下。

eMMC(六)——總線上電1 通訊線2 上電3 裝置接口時序4. 上電流程

2 上電

  • 上電(包括熱插入,即總線工作時插入裝置)後,裝置進入pre-idle狀态。供電電壓的上電時間應小于為總線主機電源電壓規定的tPRU。
  •  如果裝置不支援引導模式,或 BOOT_PARTITION_ENABLE 位被清除,裝置立即進入idle 狀态。在 idle 狀态下,裝置忽略所有總線傳輸,直至接收到 CMD1。如果裝置僅支援标準 v4.2 或之前版本,它上電後立即進入 idle 狀态。
  • 如果裝置 BOOT_PARTITION_ENABLE 位置位,裝置進入 pre-boot 狀态。 然後,裝置等待引導啟動序列。在引導工作階段之後,裝置進入 idle 狀态。在 pre-boot 狀态期間,裝置接收到任何 CMD1 或引導啟動序列(保持 CMD 線為低至少 74 個時鐘周期,或發送參數為 0xFFFFFFFA 的 CMD0)之外的 CMD 線事務,裝置将進入 idle 狀态。如果裝置接收到引導啟動序列(保持 CMD 線為低至少 74 個時鐘周期,或發送參數為0xFFFFFFFA 的 CMD0),裝置開始引導操作。如果引導确認被使能,裝置應在規定時間内向主機發送 “010” 确認模闆。在引導操作結束後,裝置進入 idle 狀态并準備好CMD1 操作。如果裝置在 pre-idle 狀态下接收到 CMD1,它開始應答指令并進入裝置識别模式。
  •  e•MMC 在 VDD 線上可呈現的最大初始負載(上電或熱插入後)應為最大 10 uF 并聯最小 330 ohm。在工作狀态下在 VDD 線上的裝置電容任何時刻都不得超過 10 uF。
  •  在 idle 狀态下, e•MMC 忽略所有總線事務直至接收到 CMD1。
  •  CMD1 是用來協商工作電壓範圍,并輪詢裝置直至其結束上電過程的專用同步指令。除裝置的工作電壓狀況外, CMD1 的應答還包含一個忙标志,表示裝置仍工作于上電例程,沒有準備好識别。此位告知主機裝置沒有準備好。主機必須等到此位清除。裝置必須在具有有效 OCR 範圍的 CMD1 發送 1 秒内完成其初始化。如果 e•MMC 裝置在上一個上電周期内成功地完成了分區( EXT_CSD 位元組[155]PARTITION_SETTING_COMPLETE 的 bit 0 置位)則初始化延遲(不是 1s)要通過 INI_TIMEOUT_PA(EXT_CSD 位元組[124])計算。此逾時僅适用于成功分區之後的第一次初始化。對于所有後續初始化,适用 1 秒的逾時。

                 如果不執行引導操作,裝置應在 1 秒内完成其從第一條有效 OCR 範圍的起的初始化。

                 使裝置退出 idle 狀态是總線主機的責任。因為上電時間和電源爬升時間取決于應用參數,如總線長度和供電單元,主機必須保證電源建立起工作電平( CMD1 中規定的電平)之後再發送 CMD1。

                 在上電後,主機啟動時鐘并在 CMD 線上發送初始化序列。序列長度是以下最長者:1 ms、 74 個時鐘、電源爬升時間或引導操作時間。要額外提供 10 個時鐘(除裝置準備好通訊後的 64 個時鐘)以消除上電同步問題。

                每一個總線主機都必須實作 CMD1。對所有 e•MMC 強制實作 CMD1。

3 裝置接口時序

eMMC(六)——總線上電1 通訊線2 上電3 裝置接口時序4. 上電流程

eMMC 4.51标準下的時鐘速率: 

eMMC(六)——總線上電1 通訊線2 上電3 裝置接口時序4. 上電流程

sama5d2的SDMMC支援的eMMC 4.51裝置時鐘速率: 

• Support for MMC/e.MMC Default Speed (Maximum SDCLK Frequency = 26 MHz)

• Support for MMC/e.MMC High Speed (Maximum SDCLK Frequency = 52 MHz)

• Support for e.MMC High Speed DDR (Maximum SDCLK Frequency = 52 MHz)

• Support for e.MMC HS200 (Maximum SDCLK Frequency = 120 MHz)

4. 上電流程

a 正常上電

1. 給總線加電,通訊電壓範圍 2.7-3.6V。

2. 設定時鐘為 400KHz,或以下。

3. 等待 1ms,然後再等待 74 個時鐘周期。

4. 發送 CMD0 使總線複位,在此步驟中保持 CS 線為高電平。

5. 發送 CMD1,參數為所要的電壓範圍, 0x00FF8000 或 0x00000080。

6. 接收 R3。

7. 如果 OCR 忙位為 ‘0’,重複步驟 5 和 6。

8. 從 R3 應答的參數,主機可以知道裝置是高電壓裝置還是雙電壓裝置。如果參數是0x80FF8000 則設定是僅高電壓的,如果參數是 0x80FF8080 則裝置是雙電壓。

9. 如果 R3 傳回某一其它值,則裝置不相容(因為它由于電壓不相容而将自己置于 inactive狀态,無應答)。在此要求況下,主機必須使總線下電,并開始錯誤恢複例程。

b 低壓上電

如果主機支援低壓上電,執行以下步驟;否則跳到identify mode//。

10. 如果主機是低壓主機,且識别到雙電壓裝置,使 MMC 總線下電。

11. 以低電壓範圍( 1.70 -1.95V)給總線上電。

12. 等待 1ms,然後再等待 74 個時鐘周期。

13. 發送參數為 0x00000080 的 CMD1。

14. 接收 R3,它應為 0x00FF8080。

15. 如果 OCR 忙位為 ‘0’,重複步驟 13 和 14。

繼續閱讀