tft每日頭條

 > 生活

 > emmc底層數據讀取工具

emmc底層數據讀取工具

生活 更新时间:2024-12-05 17:30:55

通俗的來說,EMMC=NAND閃存 閃存控制芯片 标準接口封裝。本文大緻做下邊幾個小結:

(1)MMC與Host之間的連接

連接由下圖可見

emmc底層數據讀取工具(EMMC存儲接口詳解)1

emmc底層數據讀取工具(EMMC存儲接口詳解)2



emmc底層數據讀取工具(EMMC存儲接口詳解)3

(2)eMMC和NAND Flash與Host的連接比較

NAND Flash直接接入Host

emmc底層數據讀取工具(EMMC存儲接口詳解)4

NAND Flash 直接接入 Host 時,Host 端通常需要有 NAND Flash Translation Layer,即 NFTL 或者 NAND Flash 文件系統來做壞塊管理、ECC等的功能。

由eMMC接入Host

eMMC則在其内部集成了 Flash Controller,包括了協議、擦寫均衡、壞塊管理、ECC校驗、電源管理、時鐘管理、數據存取等功能。相比于直接将NAND Flash接入到Host 端,eMMC屏蔽了 NAND Flash 的物理特性,可以減少 Host 端軟件的複雜度,讓 Host 端專注于上層業務,省去對 NAND Flash 進行特殊的處理。同時,eMMC通過使用Cache、Memory Array 等技術,在讀寫性能上也比 NAND Flash要好很多。

(3)Flash Controller與NAND Flash的連接

由上知MMC相較于NAND Flash,内部集成了 Flash Controller,其與存儲介質大緻連接如圖。

emmc底層數據讀取工具(EMMC存儲接口詳解)5

(4)關于Flash Controller/MMC Controller

emmc底層數據讀取工具(EMMC存儲接口詳解)6

包括Card Interface(CMD,DATA,CLK)、Memory core interface、總線接口控制(Card Interface Controller)、電源控制、寄存器組。

圖中寄存器組的功能見下表:

emmc底層數據讀取工具(EMMC存儲接口詳解)7

CID: 卡身份識别寄存器 128bit,隻讀, 廠家号,産品号,串号,生産日期。

RCA: 卡地址寄存器,可寫的16bit寄存器,存有Device identification模式由host分配的通信地址,host會在代碼裡面記錄這個地址,MMC則存入RCA寄存器,默認值為0x0001。保留0x0000以用來将all device設置為等待CMD7命令狀态。

CSD: 卡專有數據寄存器部分可讀寫128bit,卡容量,最大傳輸速率,讀寫操作的最大電流、電壓,讀寫擦出塊的最大長度等。

SCR: 卡配置寄存器, 可寫的 64bit 是否用Security特性(LINUX不支持),以及數據位寬(1bit或4bit)。

OCR: 卡操作電壓寄存器 32位, 隻讀,每隔0.1V占1位, 第31位卡上電過程是否完成。

(5)Device Identification Mode和初始化

emmc底層數據讀取工具(EMMC存儲接口詳解)8

MMC通過發CMD的方式來實現卡的初始化和數據訪問

Device Identification Mode包括3個階段Idle State、Ready State、Identification State。

Idle State下,eMMC Device會進行内部初始化,Host需要持續發送CMD1命令,查詢eMMC Device是否已經完成初始化,同時進行工作電壓和尋址模式協商:eMMC Device 在接收到這些信息後,會将OCR的内容(MMC出廠就燒錄在裡面的卡的操作電壓值)通過 Response 返回給 Host,其中包含了 eMMC Device 是否完成初始化的标志位、設備工作電壓範圍 Voltage Range 和存儲訪問模式 Memory Access Mode 信息。

如果 eMMC Devcie 和 Host 所支持的工作電壓和尋址模式不匹配,那麼 eMMC Device 會進入Inactive State。

Ready State,MMC完成初始化後,就會進入該階段。

在該 State 下,Host 會發送 CMD2命令,獲取eMMC Device 的CID。

CID,即 Device identification number,用于标識一個 eMMC Device。它包含了 eMMC Device 的制造商、OEM、設備名稱、設備序列号、生産年份等信息,每一個 eMMC Device 的 CID 都是唯一的,不會與其他的 eMMC Device 完全相同。

eMMC Device 接收到CMD2後,會将 127 Bits 的CID的内容通過 Response返回給 Host。

Identification State,發送完 CID 後,eMMC Device就會進入該階段。

Host 會發送參數包含 16 Bits RCA 的CMD3命令,為eMMC Device 分配 RCA。設定完 RCA 後,eMMC Devcie 就完成了 Devcie Identification,進入 Data Transfer Mode。

(6)eMMC工作電壓和上電過程

根據工作電壓的不同,MMC卡可以分為兩類:

High Voltage MultiMediaCard,工作電壓為2.7V~3.6V。

Dual Voltage MultiMediaCard,工作電壓有兩種,1.70V~1.95V和2.7V~3.6V,CPU可以根據需要切換

我所使用的eMMC實測工作電壓VCC為2.80V~2.96V,VCCQ為1.70V~1.82V。

其中VCC為MMC Controller/Flash Controller的供電電壓,VCCQ為Memory和Controller之間I/O的供電。

上電初始化階段MMC時鐘頻率為400KHz,需要等電壓調整到它要求的VCC時(host去獲取OCR中記錄的電壓值,上面有說),MMC時鐘才會調整到更高的正常工作頻率。我所使用的MMC測得正常工作時鐘頻率為50MHz。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved