eMMC基礎技術3:eMMC總線token


1.前言

本文主要介紹eMMC 總線協議相關的內容,主要包括:

(1)command token format

(2)response token format

(3)data packet format

(4)CRC token

(5)bus speed mode

2. command token format

圖 cmd token format
  • 總長度48bits;
  • 固定以0開始,以1結束;
  • transmiter bit表示數據的傳輸方向,1代表從host to device;
  • 通過CRC7保護,device 端在接收到CMD時同樣會計算一個CRC值,如果與host發送的CRC不一致,則被認為是傳輸錯誤;
詳情請參考 eMMC基礎技術3:eMMC command

3. response token format


圖 response token format
  • 有5種格式,使用哪種格式依賴於CMD,長度為48bits或136bits;
  • start bit 總是0,在沒有數據傳輸的情況下,CMD 信號保持高電平,當 eMMC Device 將 Start Bit 發送到總線上時,Host 可以很方便檢測到該信號,並開始接收 Response
  • transmitter bit代表傳輸方向,0表示device to host;
  • Content 為 Response 的具體內容,不同的 Command 會有不同的 Content
  • CRC7 是包含 Start Bit、Transmission Bit 和 Content 內容的 CRC 校驗值
  • End Bit 為結束標志位,固定為"1"。

4. data packet format

(1) 1bit sdr傳輸
     圖 1bit bus sdr傳輸
start bit + data + crc + end bit
 
1bit sdr只使用了DATA0數據線,對於1個block(block length=512BYTE)來講,需要花費block length * 8 cycles
 
(2)4bit sdr傳輸
       圖 4bit bus sdr傳輸
對於1個block(block length=512BYTE)來講,需要花費block length  * 8 / 4 = block length *2 cycles
(3)8bit sdr傳輸
 
         圖 8bit bus sdr傳輸
對於1個block(block length=512BYTE)來講,對於1個block(block length=512BYTE)來講,需要花費block length * 8 / 8 = block length cycles
 
(4)4bit bus ddr傳輸
圖 4bit bus ddr傳輸
ddr傳輸時,上升沿和下降沿都會傳輸數據,對於1個block(block length=512BYTE)來講,需要花費block lenght * 8 / 4 / 2 = block length cycles
 
(5)8bit bus ddr傳輸
 
 
圖 8bit bus ddr傳輸
 
ddr傳輸時,上升沿和下降沿都會傳輸數據,對於1個block(block length=512BYTE)來講,需要花費block lenght * 8 / 8 / 2 = block length / 2 cycles
 
在 DDR 模式下,Data Line 在時鍾的上升沿和下降沿都會傳輸數據,其中上升沿傳輸數據的奇數字節 (Byte 1,3,5 ...),下降沿則傳輸數據的偶數字節(Byte 2,4,6 ...)。
此外,在 DDR 模式下,1 個 Data Line 上有兩個相互交織的 CRC16,上升沿的 CRC 比特組成 odd CRC16,下降沿的 CRC 比特組成 even CRC16。
odd CRC16 用於校驗該 Data Line 上所有上升沿比特組成的數據,even CRC16 則用於校驗該 Data Line 上所有下降沿比特組成的數據
(6)8bit ddr for hs400 
 
圖 8bit ddr for hs400
hs400 高電平或低電平用於傳輸數據,對於1個block(block length=512BYTE)來講,需要花費block lenght * 8 / 8 / 2 = block length / 2 cycles

5. CRC status token

在寫數據傳輸中,eMMC Device 接收到 Host 發送的一個 Data Block 后,會進行 CRC 校驗

  • 如果校驗失敗,device則會在對應的 Data Line 上向host發送一個 Negative CRC status token (101)
  • 如果校驗成功,device則會在對應的 Data Line 上向host發送一個 Positive CRC status token (010)

注:讀數據時,Host 接收到 eMMC Device 發送的 Data Block 后,也會進行 CRC 校驗,但是不管校驗成功或者失敗,都不會向 eMMC Device 發送 CRC Status Token

詳細格式如下圖所示:

圖 DR52 Positive CRC status token

 

圖 DDR52 Negative CRC status token

 

6. 參考文檔

[1]http://www.wowotech.net/basic_tech/emmc_bus_protocol.html

[2]http://www.jedec.org/sites/default/files/docs/JESD84-B51.pdf

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM