0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

eMMC響應的格式和類型

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-12-12 13:38 ? 次閱讀

eMMC響應

eMMC響應有兩種長度的數據包,分別為48 Bits和136 Bits,eMMC響應的格式如下圖所示:

2869cda8-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-12_21-32-24

eMMC的響應由48 bits或者136 bits組成,所有的eMMC響應都以00開始,以1結尾。所有的eMMC響應都是在CMD線上進行傳輸的,eMMC設備發(fā)送響應時先發(fā)送響應的起始位(Start bit),最后發(fā)送響應的結束位(End bit)。

Start Bit:起始位,固定為0,在沒有響應傳輸的情況下,CMD線上的信號保持高電平,當eMMC設備將Start Bit發(fā)送到總線上時,Host可以很方便檢測到響應的Start Bit(CMD線上的信號由高電平變?yōu)榈碗娖剑?,并開始接收響應。

Transmission Bit:傳輸位,固定為0,該位指示CMD線上數據的傳輸方向,該位為0,表示CMD線上數據的傳輸方向為從eMMC設備到Host。

Content:響應的具體內容,不同的響應Content不同。

CRC:CRC校驗值,包含Start Bit、Transmission Bit和Content內容的CRC校驗值。

End Bit:結束位,固定為1。

eMMC有5種類型的響應,包括:R1,R2,R3,R4和R5。

R1

R1響應的數據長度為48 bits,其中[45:40]數據位域表示的是該響應對應命令的編號。[39:8]是一個32位大小的位域,主要用于反應設備的狀態(tài)信息,具體的設備狀態(tài)信息內容可以參考eMMC 5.1 spec的6.13 Device status章節(jié)。

28858c82-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-12_21-49-14

R1b和R1完全相同,只是R1b會在數據線DAT0上傳輸一個可選的busy信號。基于eMMC設備在接收命令之前的狀態(tài),eMMC設備在接收到一些命令之后可能會變得繁忙。

R2

R2響應的數據長度為136 bits。[127:1]是一個127位大小的位域,該位域將CID寄存器的值作為CMD2和CMD10的響應內容。[127:1]位域也可以將CSD寄存器的值作為CMD9的響應內容。CID和CSD寄存器的[127:1]位作為R2響應內容被傳輸,CID和CSD寄存器的保留位[0]由于該位的值總是1,因此保留位[0]被R2響應的End bit替換。

289f3c36-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_19-50-41

R3

R3響應的數據長度為48 bits。[39:8]是一個32位大小的位域,該位域將OCR寄存器的值作為CMD1的響應內容。

28b731b0-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_20-14-36

R4

R4響應的數據長度為48 bits。[39:8]是參數域,該位域包含尋址設備的RCA,要進行讀寫操作的寄存器地址以及寄存器內容。如果操作成功,參數域中的狀態(tài)位將被置1。R4響應只作為對CMD39的響應。

28cc38bc-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_20-23-39

R5

R5響應的數據長度為48 bits。如果該響應由Host產生,那么RCA[31:16]位域的值應該為0。R5響應只作為對CMD40的響應。

28eb9676-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_20-26-42

eMMC數據塊

eMMC數據塊由Start bit、Data、CRC和End bit組成。下面對不同總線寬度和數據速率(Date Rate)下,各個數據塊的格式進行一個簡單的說明。

1位總線寬度 SDR模式

28f4d902-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-07-10

CRC為Data的16 bitCRC校驗值,不包含起始位。

4位總線寬度 SDR模式

29139eaa-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-17-13

各個數據線上的CRC為對應數據線的Data的16 bit CRC校驗值。

8位總線寬度 SDR模式

2932463e-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-21-31

各個數據線上的CRC為對應數據線的Data的16 bit CRC校驗值。

4位總線寬度 DDR模式

2962c1c4-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-23-47

DDR模式下,在時鐘的上升沿和下降沿數據線都會傳輸數據。在時鐘的上升沿傳輸數據的奇數字節(jié)(字節(jié)1,3,5 ...),在時鐘的下降沿傳輸數據的偶數字節(jié)(字節(jié)2,4,6 ...)。

在DDR模式下,每個數據線上有兩個相互交織的CRC16,時鐘上升沿的CRC比特組成odd CRC16,時鐘下降沿的CRC比特組成even CRC16。odd CRC16用于校驗該數據線上所有上升沿比特組成的數據,even CRC16用于校驗該數據線上所有下降沿比特組成的數據。

8位總線寬度 DDR模式

297be956-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-25-27

eMMC CRC status token

在Host向eMMC設備寫數據過程中,eMMC設備接收到Host發(fā)送的一個數據塊之后,會進行CRC校驗,如果校驗成功,eMMC設備會在對應的數據線上向Host回復一個Positive CRC status token("010"),如果校驗失敗,eMMC設備會在對應的數據線上向Host回復一個Negative CRC status token("101")。

在Host從eMMC設備讀取數據的過程中,Host接收到eMMC設備發(fā)送的一個數據塊之后,也會進行CRC校驗,但是不論校驗成功還是校驗失敗,Host都不會向eMMC設備回復CRC status token。

Positive CRC status token

299bff0c-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-56-11

Negative CRC status token

29ac5c08-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_21-57-10

eMMC寄存器

eMMC 5.1協(xié)議定義了7個寄存器:OCR,CID,CSD,EXT_CSD,RCA,DSR和QSR,下面簡單的列舉常用的6個寄存器。

名稱 寬度(字節(jié)) 說明 實現
OCR 4 操作條件寄存器(Operation conditions register)。通過廣播命令獲取寄存器信息,包含設備的供電類型和尋址模式。 必須
CID 16 卡識別寄存器(Card IDentification)。包含識別設備的唯一碼。 必須
CSD 16 卡特定數據寄存器(Card Specific Data)。包含卡操作狀態(tài)的具體信息。 必須
Extended CSD 512 擴展卡特定數據寄存器(Extended Card Specific Data)。包含設備的容量和當前模式信息。 必須
RCA 2 相對地址寄存器(Relative card address)。在初始化過程中,由主機控制器動態(tài)分配的地址。 必須
DSR 2 驅動等級寄存器(Driver Stage Register)。配置設備的輸出驅動。 可選

eMMC總線測試過程

在SDR模式下,Host通過發(fā)送CMD19和CMD14可以進行eMMC總線測試過程(Bus testing procedure),測試eMMC接口硬件引腳連接性。在DDR模式下,不支持總線測試,CMD19和CMD14被認為是非法命令。

在SDR模式下進行eMMC總線測試時,首先Host發(fā)送CMD19給eMMC設備,接著Host在每根數據線上發(fā)送特定格式的數據給eMMC。然后,Host發(fā)送CMD14給eMMC設備,請求eMMC設備回復翻轉的數據。Host可以通過對接收到的翻轉數據進行比較,就能知道eMMC接口的引腳引腳連接情況。

1bit總線寬度時,eMMC總線測試的數據格式如下圖所示:

29c87faa-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_22-22-42

4bit總線寬度時,eMMC總線測試的數據格式如下圖所示:

2a3dff8c-98a6-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-13_22-23-58

8bit總線寬度時,eMMC總線測試的數據格式如下圖所示:

2a72c500-98a6-11ee-8b88-92fbcf53809c.png

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11207

    瀏覽量

    208712
  • 數據包
    +關注

    關注

    0

    文章

    248

    瀏覽量

    24344
  • 總線協(xié)議

    關注

    0

    文章

    115

    瀏覽量

    14834
  • emmc
    +關注

    關注

    7

    文章

    197

    瀏覽量

    52550

原文標題:Linux MMC子系統(tǒng) - 3.eMMC 5.1總線協(xié)議淺析(2)

文章出處:【微信號:嵌入式那些事,微信公眾號:嵌入式那些事】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何把文件系統(tǒng)燒到EMMC并從EMMC加載

    如何下載并從SD卡加載文件系統(tǒng),提到過可以從EMMC引導系統(tǒng),本篇將為您介紹如何把文件系統(tǒng)燒到EMMC,并從EMMC加載。
    的頭像 發(fā)表于 10-30 16:06 ?2768次閱讀
    如何把文件系統(tǒng)燒到<b class='flag-5'>EMMC</b>并從<b class='flag-5'>EMMC</b>加載

    emmc,什么是emmc

    詳細介紹什么是emmcemmc主要應用在哪些地方,并說明了EMMC的結構及優(yōu)點。
    發(fā)表于 08-23 10:58 ?7.9w次閱讀

    eMMC的結構和電源配置

    最新的eMMC產品遵循JEDEC eMMC 5.1標準,該標準定義了eMMC的通信信號、命令、內部寄存器、特性,并為系統(tǒng)設計人員提供指導。它是工業(yè)應用和汽車應用的嵌入式存儲解決方案的理想選擇,這些
    的頭像 發(fā)表于 11-14 16:21 ?4548次閱讀
    <b class='flag-5'>eMMC</b>的結構和電源配置

    eMMC總線協(xié)議解析

    eMMC總線中,可以有一個Host,多個eMMC設備。總線上的所有通信都是以Host發(fā)送一個Command給eMMC開始的,eMMC對于收到的不同Command會做出不同的respo
    的頭像 發(fā)表于 12-08 14:35 ?2644次閱讀
    <b class='flag-5'>eMMC</b>總線協(xié)議解析

    請問RT-Thread emmc驅動編寫如何格式化?

    SDIO,同時也ST自帶的驅動測試到了EMMC的擦除,讀寫操作 但是我看到使用文件系統(tǒng),首先需要格式化吧,但是格式化的接口是空的,無操作。所以我想知道這個格式化驅動盤是否有什么操作要求
    發(fā)表于 02-23 08:04

    CH569 EMMC讀取TF卡發(fā)送命令響應超時是什么原因造成的?

    手上有一塊CH569的開發(fā)板。燒錄EMMC的例程。執(zhí)行到EMMCReadOCR之后一直執(zhí)行中斷中的錯誤打印。錯誤代碼是E:0x0001。看手冊是命令響應超時。請問可能有哪些原因造成這個現象?
    發(fā)表于 06-15 09:01

    基于SD卡測試結構的EMMC測試座,EMMC測試治具說明書

    EMMC測試治具是針對市面上出現的EMMC芯片(內嵌式存儲記憶芯片)
    發(fā)表于 04-28 16:23 ?1.1w次閱讀

    eMMC改寫內嵌閃存卡格局

    eMMC卡集成控制器與Nand閃存,具有快速的主機響應速度和讀寫速度,可以大幅提升智能機/平板電腦的開機速度。
    發(fā)表于 08-23 11:11 ?3435次閱讀
    <b class='flag-5'>eMMC</b>改寫內嵌閃存卡格局

    CANOpen系列教程04 _CAN總線波特率、位時序、幀類型格式說明

    CANOpen系列教程04_CAN總線波特率、位時序、幀類型格式說明
    的頭像 發(fā)表于 03-06 16:18 ?7808次閱讀

    基于異構多核的多類型DAG響應時間分析

    基于異構多核的多類型DAG響應時間分析
    發(fā)表于 06-15 14:08 ?22次下載

    Linux 如何在emmc增加分區(qū)《Rice linux 學習開發(fā)》

    本文描述是基于高通平臺,在emmc上增加一塊分區(qū),并掛載自己制作的ext4格式的鏡像。作者是第一次弄這個,很多都不是很懂,有不對的地方...
    發(fā)表于 01-25 20:06 ?5次下載
    Linux 如何在<b class='flag-5'>emmc</b>增加分區(qū)《Rice linux 學習開發(fā)》

    SD NAND與eMMC優(yōu)劣勢對比

    最近我們接觸到一些客戶,本來客戶計劃使用eMMC,但總覺得哪里不滿意。后來跟客戶做了深入溝通。你們真實的想要什么樣的eMMC呢?他們給出的答案有:尺寸最小的eMMC;最方便焊接的eMMC
    的頭像 發(fā)表于 06-17 17:36 ?1622次閱讀
    SD NAND與<b class='flag-5'>eMMC</b>優(yōu)劣勢對比

    貼片式SD卡與eMMC該如何選擇?

    最近我們接觸到一些客戶,本來客戶計劃使用eMMC,但總覺得哪里不滿意。后來跟客戶做了深入溝通。你們真實的想要什么樣的eMMC呢?他們給出的答案有:尺寸最小的eMMC;最方便焊接的eMMC
    的頭像 發(fā)表于 09-28 15:46 ?1329次閱讀
    貼片式SD卡與<b class='flag-5'>eMMC</b>該如何選擇?

    EMMC主控固件讀取及SD轉emmc接線

    EMMC主控固件讀取及SD轉emmc接線
    發(fā)表于 08-10 09:46 ?22次下載

    RK3568修改eMMC分區(qū)大小

    我司IAC-RK3568-CM根據eMMC大小的不同,有著不同規(guī)格的產品,不論eMMC大小如何改變,其分區(qū)的配置大同小異,除了eMMC廠商所使用的區(qū)域無法變更外,留給用戶的區(qū)域可自由寫入。我司產品
    的頭像 發(fā)表于 09-13 08:00 ?333次閱讀
    RK3568修改<b class='flag-5'>eMMC</b>分區(qū)大小