<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

eMMC總線協議解析

嵌入式那些事 ? 來源:嵌入式那些事 ? 2023-12-08 14:35 ? 次閱讀

eMMC總線拓撲

在eMMC總線中,可以有一個Host,多個eMMC設備??偩€上的所有通信都是以Host發送一個Command給eMMC開始的,eMMC對于收到的不同Command會做出不同的response,當然了eMMC對于收到的部分Command可以不做response。Host一次只能與一個eMMC設備通信。

在上電啟動后,Host會為所有eMMC設備依次分配相對地址(RCA,Relative card Address)。當Host需要和某一個eMMC設備通信時,會先通過RCA選中該eMMC設備,只有被選中的eMMC設備才會響應Host的Command。

eMMC總線協議

在系統上電復位后,Host必須使用eMMC總線協議指定的message來初始化eMMC設備。每個message都由下面的一個標記表示:

command:命令,一個命令是一個開始操作的標記。命令是由Host發給eMMC設備的。一個命令在CMD線上被串行傳輸。

response:響應,響應是由eMMC設備發送給Host,用于eMMC設備對先前收到命令的回復。一個響應在CMD線上被串行傳輸。

data:數據,數據可以從Host傳輸給eMMC設備,也可以從eMMC設備傳輸給Host。數據在數據線上被傳輸。用于傳輸數據的數據線可以是1個(DAT0),4個(DAT0-DAT3)或者8個(DAT0-DAT7)。

對于每一個數據線來說,在一個時鐘周期可以傳輸1位數據,也就是SDR模式(single data rate)。當然了,在一個時鐘周期可以傳輸2位數據,也就是DDR模式(dual data rate)。

eMMC的讀和寫命令是按照block為單位進行的。讀和寫可以是單塊或者多塊。讀和寫數據時,數據block后面會跟CRC。

eMMC讀數據

Host從eMMC設備讀取數據的流程圖如下圖所示:

bb8e1ace-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-11_20-52-40

如果Host發送的是Read Single Block的命令(CMD17),那么eMMC設備只會發送一個Block的數據(一個Block數據的字節數可以由Host通過CMD16命令設定或者為eMMC設備的默認值)。

如果Host發送的是Read Multiple Block的命令(CMD18),并且在發送CMD18之前,先發送一個SET BLOCK COUNT命令(CMD23)來設置需要讀取的數據塊數量,那么eMMC設備在傳輸完指定數量的數據塊之后,會自動結束數據傳輸,不需要Host主動發送Stop Command(CMD12)。

如果Host發送的是Read Multiple Block的命令(CMD18),并且在發送CMD18之前,Host沒有發送設置讀取數據塊數量的命令,那么eMMC設備會持續發送數據,直到Host主動發送Stop Command(CMD12)。

eMMC寫數據

Host向eMMC設備寫入數據的流程圖如下圖所示:

bb9a1a0e-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-11_21-05-03

如果Host發送的是Write Single Block的命令(CMD24),那么eMMC設備只會將后續第一個Block的數據寫入的存儲器中(一個Block數據的字節數可以由Host通過CMD16命令設定或者為eMMC設備的默認值)。

如果Host發送的是Write Multiple Block的命令(CMD25),并且在發送CMD25之前,先發送一個SET BLOCK COUNT命令(CMD23)來設置需要寫入的數據塊數量,那么eMMC設備在接收完指定數量的數據塊之后,會自動結束數據傳輸,不需要Host主動發送Stop Command(CMD12)。

如果Host發送的是Write Multiple Block的命令(CMD25),并且在發送CMD25之前,Host沒有發送設置寫入數據塊數量的命令,那么eMMC設備會持續地將接收到的數據寫入到存儲器中,直到Host主動發送Stop Command(CMD12)。

eMMC設備在接收到一個Block的數據后,會進行CRC校驗,然后將校驗結果通過CRC Token發送給Host。發送完CRC Token后,如果CRC校驗成功,eMMC設備會將數據寫入到內部存儲器,此時DAT0信號會拉低,作為Busy信號。Host會持續檢測DAT0信號,直到為高電平時,才會接著發送下一個Block的數據。如果CRC校驗失敗,那么eMMC設備不會進行數據寫入,此次傳輸的后續數據都會被忽略。

eMMC無數據和無響應命令示意

在Host與eMMC設備的通信中,有部分命令是不需要進行數據傳輸的,還有部分命令不需要eMMC設備回復Response,示意圖如下所示:

bbb23436-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-11_21-19-41

eMMC命令

eMMC命令類型

eMMC協議定義了4種類型的命令,包括:bc、bcr、ac和adtc,這些命令類型的說明如下:

bc:broadcast commands(bc),bc是廣播命令,主機發送bc命令給eMMC設備后,eMMC設備不需要回復響應(response)。

bcr:broadcast commands with response(bcr),bcr是需要eMMC設備回復響應的廣播命令。

ac:addressed(point-to-point) commands(ac),ac是數據線(DAT lines)無數據傳輸的(no data transfer)點對點(point-to-point)命令。

adtc:addressed(point-to-point) data transfer commands(adtc),adtc是數據線有數據傳輸的點對點命令。

所有的命令(command)和響應(response)都是在CMD線上進行傳輸的。發送命令或響應時先發送起始位(Start bit),最后發送結束位(End bit)。

eMMC命令格式

eMMC的Command格式如下圖所示:

bbc4943c-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-12_20-26-30

eMMC的Command由48 bits組成,所有的eMMC命令都以01開始,以1結尾。所有的eMMC命令都是在CMD線上進行傳輸的,發送命令時先發送命令的起始位(Start bit),最后發送命令的結束位(End bit)。eMMC命令各個位的說明如下圖所示:

bbd10e60-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-12_20-28-05

Start Bit:起始位,固定為0,在沒有命令傳輸的情況下,CMD線上的信號保持高電平,當Host將Start Bit發送到總線上時,eMMC設備可以很方便檢測到命令的Start Bit(CMD線上的信號由高電平變為低電平),并開始接收Command。

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

Command Index和Argument:命令索引和命令參數,Command Index和Argument是命令的具體內容,不同的命令Command Index不同,不同的命令Argument也不相同。

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

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

eMMC命令類別

eMMC的命令被劃分成多種不同的類別。每一種命令類別支持一個設備功能的子集。

Class 0是所有eMMC設備都必須支持的命令類別。其他的命令類別根據具體的設備類型可以是必須支持的,也可以是可選的。

eMMC命令類別描述如下:

bbe0823c-958d-11ee-8b88-92fbcf53809c.png

Snipaste_2023-10-12_21-24-24

Host可以通過讀取CSD寄存器的CCC [95:84]位域,來了解當前eMMC設備對命令類別的支持情況,對應的位域值為1,就表示該eMMC設備支持對應的命令類別。

審核編輯:湯梓紅

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

    關注

    87

    文章

    11022

    瀏覽量

    207061
  • 總線
    +關注

    關注

    10

    文章

    2730

    瀏覽量

    87355
  • 總線協議
    +關注

    關注

    0

    文章

    83

    瀏覽量

    14758
  • emmc
    +關注

    關注

    6

    文章

    185

    瀏覽量

    52090

原文標題:Linux MMC子系統 - 2.eMMC 5.1總線協議淺析(1)

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

收藏 人收藏

    評論

    相關推薦

    emmc,什么是emmc

    詳細介紹什么是emmc,emmc主要應用在哪些地方,并說明了EMMC的結構及優點。
    發表于 08-23 10:58 ?7.8w次閱讀

    支持emmc4.51主控能對emmc5.0協議的片子進行讀寫嗎?

    emmc5.0。 現在的問題是:支持emmc4.51主控能對emmc5.0協議的片子進行讀寫嗎??使用的是8位數據總線。
    發表于 04-08 07:32

    CANOpen協議解析

    CANOpen協議解析
    發表于 08-20 17:26

    AXI總線協議解析

    總線、接口和協議,這三個詞常常被聯系在一起,但是我們心里要明白他們的區別。總線是一組傳輸通道,是各種邏輯器件構成的傳輸數據的通道,一般由由數據線、地址線、控制線等構成。接口是一種連接標準,又常常被稱之為物理接口。
    發表于 02-05 07:30

    萌新求助,求大神全面解析一下EMMC驅動

    萌新求助,求大神全面解析一下EMMC驅動
    發表于 10-18 09:25

    PS/2接口協議解析及應用

     PS/2接口協議解析及應用
    發表于 07-03 14:29 ?2064次閱讀

    地址解析協議ARP

    地址解析協議ARP 地址解析協議 ARP 是一種廣播協議,主機通過它可以動態地
    發表于 06-09 21:53 ?1065次閱讀
    地址<b class='flag-5'>解析</b><b class='flag-5'>協議</b>ARP

    地址解析協議(ARP),地址解析協議(ARP)是什么意思

    地址解析協議(ARP),地址解析協議(ARP)是什么意思 地址解析協議 (ARP) “地址
    發表于 04-06 09:07 ?2005次閱讀

    SD/SDIO/eMMC 協議分析儀

    品牌:Prodigy公司致力于提供記憶存儲SD/eMMC綜合測試解決方案,目前測試產品主要包括SD/eMMC總線協議分析儀(PGY-SSM)、SD卡模擬..
    發表于 12-02 16:50 ?95次下載

    汽車網絡LIN總線協議解析

    LIN協議適用于汽車內進行低成本、短距離、低速網絡通信,其用途是傳輸開關設置狀態以及對開關變化響應。本文詳細分析了LIN總線協議的特性、消息協議的組成、檢錯機制等,并介紹如何基于PI
    發表于 06-04 22:21 ?1.7w次閱讀
    汽車網絡LIN<b class='flag-5'>總線</b><b class='flag-5'>協議</b><b class='flag-5'>解析</b>

    TCP IP協議:地址解析協議ARP

    TCP IP協議進級講座:2,地址解析協議
    的頭像 發表于 07-03 06:05 ?3587次閱讀

    CAN總線協議是什么?CAN總線協議有哪些?CAN總線協議知識分析

    本文說的CAN即是一種總線,也是一種協議。因此,我們常聽見CAN總線,也常聽見CAN協議。CAN協議和CANOpen
    的頭像 發表于 10-03 19:53 ?7.4w次閱讀
    CAN<b class='flag-5'>總線</b><b class='flag-5'>協議</b>是什么?CAN<b class='flag-5'>總線</b><b class='flag-5'>協議</b>有哪些?CAN<b class='flag-5'>總線</b><b class='flag-5'>協議</b>知識分析

    協議解析網關的作用

    想要了解協議解析網關,我們不妨將這個詞拆來來看,協議+解析+網關三者的組合就是協議解析網關,三者
    的頭像 發表于 09-09 11:18 ?1149次閱讀

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

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

    eMMC總線協議

    Flash Memory 是一種非易失性的存儲器,通常在嵌入式系統中用于存放系統、應用和數據等,類似于 PC 系統中的硬盤。目前,絕大部分手機和平板等移動設備中所使用的 eMMC 內部的 Flash
    的頭像 發表于 12-10 15:18 ?1525次閱讀
    <b class='flag-5'>eMMC</b><b class='flag-5'>總線</b><b class='flag-5'>協議</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>