个人网站建设目的,长春做网站的电话,桂林市自来水公司网站,做写字楼的网站有哪些By: Ailson Jack Date: 2023.10.21 个人博客#xff1a;http://www.only2fire.com/ 本文在我博客的地址是#xff1a;http://www.only2fire.com/archives/160.html#xff0c;排版更好#xff0c;便于学习#xff0c;也可以去我博客逛逛#xff0c;兴许有你想要的内容呢。… By: Ailson Jack Date: 2023.10.21 个人博客http://www.only2fire.com/ 本文在我博客的地址是http://www.only2fire.com/archives/160.html排版更好便于学习也可以去我博客逛逛兴许有你想要的内容呢。 微信公众号嵌入式那些事 前言
下面首先简单的介绍了MMCSD和SDIO对这些名词有个概念即可。
从本文开始会重点讲讲eMMC相关的内容Linux MMC子系统系列文章介绍的eMMC协议为eMMC 5.1协议对eMMC相关的知识有了一定的了解之后后续文章也会对Linux的MMC子系统做一个介绍包括MMC子系统的初始化过程MMC host驱动与host设备是如何匹配的MMC host驱动的基本框架MMC驱动和MMC卡设备是如何关联起来的MMC子系统是如何实现块设备驱动的等等。
对于MMC卡SD卡或者SDIO接口的设备Linux MMC子系统同样适用。
好了废话不多说下面开始本文的内容吧。
MMC SD SDIO介绍
MMC
多媒体卡MMC全称Multi Media Card是由西门子公司和SanDisk公司于1997年推出的多媒体记忆卡标准。MMC卡尺寸为32mm x 24mm x 1.4mm它将存储单元和控制器一同做到了卡上这种携带方便、可靠性高、重量轻的数据载体一经推出市场占有率不断上升广泛应用于移动电话数码相机MP3等产品。
MMC卡具有MMC和SPI两种工作模式MMC模式是默认工作模式具有MMC的全部特性。而SPI模式则是MMC协议的一个子集主要用于低速系统。
SD
SD卡Secure Digital Memory Card是一种基于半导体快闪存记忆器的新一代记忆存储设备。SD卡是由松下、东芝和SanDisk公司于1999年8月共同开发的新一代记忆卡标准已完全兼容MMC标准。SD卡比MMC卡多了一个进行数据著作权保护的暗号认证功能。
SD卡尺寸为32mm x 24mm x 2.1mm长宽和MMC卡一样只是比MMC卡厚了0.7mm以容纳更大容量的存储单元。SD卡与MMC卡保持向上兼容也就是说MMC卡可以被新的设有SD卡插槽的设备存取但是SD卡却不可以被设有MMC插槽的设备存取。
SDIO
SDIO全称为Secure Digital Input and Output中文名称为安全数字输入输出接口。SDIO是在SD标准上定义的一种外设接口它使用SD的I/O接口来连接外围设备并通过SD上的I/O数据接口与这些外围设备传输数据。现在已经有很多手持设备支持SDIO接口而且许多SDIO外设也被开发出来目前常见的SDIO外设有WIFI Card、GPS Card、 Bluetooth Card等等。
eMMC介绍
eMMC卡全称为Embedded Multi Media Card是MMC协会所制定的内嵌式存储器标准规格。通俗点讲eMMC就是一个类似于SD卡一样的存储芯片。eMMC主要应用于智能手机和平板电脑等产品。eMMC在封装中集成了一个控制器提供标准接口来管理闪存使得产品开发过程中不再需要考虑NAND Flash兼容性问题和管理问题让产品开发人员能够专注于产品开发缩短产品推向市场的时间。
eMMC整体结构
eMMC的整体结构如下图所示 eMMC主要由设备控制器和存储阵列组成。设备控制器主要提供主机接口和存储管理功能。
eMMC主机接口
HOST和eMMC之间的接口连接如下图所示 eMMC与HOST之间的通信涉及的信号线描述如下
CLK时钟线上的每个时钟周期意味着命令线上传输了1bit命令或者数据线上完成了1bit或者2bit的数据传输。时钟频率的范围为0~最大时钟频率。CMD该信号线主要用于传输HOST到eMMC的command和eMMC到HOST的response。DAT0-DAT7用于传输数据的8bit数据线。在上电或者复位以后仅仅只有DAT0数据线可以用于数据传输。可以通过eMMC主机控制器来配置eMMC的数据总线位宽eMMC支持的数据线宽度有1bitDAT04bitDAT0-DAT38bitDAT0-DAT7。Data Strobe该信号是从eMMC设备输出给Host的时钟信号频率和CLK信号相同用于Host进行接收数据的同步。该信号只在HS400模式下使用启用后可以提高数据传输的稳定性省去总线tuning过程。
HOST和eMMC之间的通信都是以HOST发送一个Command给eMMC开始的eMMC对于收到的不同Command会做出不同的response当然了eMMC对于收到的部分Command可以不做response。
聊了这么久的eMMC到底eMMC长什么样大多数的eMMC芯片一般是黑色的外观来欣赏下某厂商的eMMC芯片外观图 大多数的eMMC芯片一般采用BGA封装下图是某厂商的BGA封装的eMMC芯片引脚图 eMMC接口各个引脚的输入输出类型以及相关描述可以参考下图进行理解 eMMC存储阵列
eMMC的存储阵列是由非易失性的存储器组成目前绝大多数eMMC芯片内部的存储器都是由Nand Flash组成的。
在智能手机或者其他嵌入式设备中可以使用eMMC的存储阵列来存放操作系统应用数据等信息。
eMMC存储管理
eMMC芯片内部的设备控制器具有存储管理功能主要用于对Nand Flash的管理包括擦写均衡坏块管理ECC校验等。相比于直接将NAND Flash连接到Host端采用eMMC芯片屏蔽了NAND Flash的物理特性可以减少Host端软件的复杂度让Host端专注于上层业务省去对NAND Flash进行特殊的处理。同时eMMC通过使用Cache、Memory Array等技术在读写性能上也比NAND Flash要好很多。
eMMC寻址
以前实现的eMMC协议比如eMMC 4.1协议采用的是32位域的字节寻址。这种寻址机制限制了eMMC的最大容量为2GB。
为了支持更大容量的eMMC后续的eMMC协议比如eMMC 5.1协议增加了sector寻址方式1 sector512B。容量大于2GB的eMMC都是采用sector寻址的方式。
为了确定eMMC的寻址模式主机可以读取eMMC的OCR寄存器通过OCR寄存器的bit[30:29]可以知道eMMC的寻址模式。
eMMC速率模式
随着eMMC协议的不断更新eMMC总线的速率越来越高。为了兼容旧版本的eMMC所有eMMC在上电启动或者Reset后都会先进入兼容速率模式Backwards Compatibility with legacy MMC card。在完成对eMMC的初始化后Host可以通过特定的流程让eMMC进入其他高速率模式目前支持以下几种速率模式。 Extended CSD寄存器的HS_TIMING[185]可以配置总线速率模式。 Extended CSD寄存器的BUS_WIDTH[183]可以配置配置总线宽度和Data Strobe。 在一个时钟周期内DAT0~DAT7信号线上传输1个比特时就是SDRSingle Data Rate模式。
在一个时钟周期内DAT0~DAT7信号线上传输2个比特时就是DDRDouble Data Rate模式。
欢迎关注博主的公众号微信搜索公众号嵌入式那些事可以扫描下面的公众号二维码 如果文中有什么问题欢迎指正毕竟博主的水平有限。
如果这篇文章对你有帮助记得点赞和关注博主就行了^_^。
排版更好的内容见我博客的地址http://www.only2fire.com/archives/160.html
注转载请注明出处谢谢^_^