eMMC(補充)——總線上電

1 通訊線

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


         CMD: 命令線,雙向信號。主機和設備驅動器以兩種模式工作,開漏和推輓。


        DAT0-7: 數據線,雙向信號。主機和設備工作在推輓模式下。


        CLK: 時鐘,是主機發往設備的信號。 CLK 工作在推輓模式下。

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 4.51標準下的時鐘速率: 

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。
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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