SD、SDIO和MMC接口基础和规范介绍

news2024/11/27 12:54:52

在MMC规范发展的过程中出现了很多的名词,如SDHC、SDIO、SDXC等,每次看到这些不同的规范都有点懵,也很容易搞混,所以本篇文章就来介绍一下MMC规范发展过程中出现的一些新的规范,并详细地理解一下SD和SDIO。

文章目录

  • 1 MMC规范发展历史
  • 2 基本SD协议
  • 3 SD和MMC的不同规范版本
  • 4 SD速度等级
  • 5 SD主机控制器
  • 6 SD卡内部设计

1 MMC规范发展历史

1997年,MMC(Multimedia Card)即多媒体存储卡的规范发布,它是一种非易失性存储卡规范,定义了卡的形态、尺寸、容量、电气特性和通讯协议等内容。基于不同的需求的考量,如物理尺寸、容量、位宽、频率等,在MMC的规范的基础上又出现了很多不同的规范:

(1)多媒体存储方向:由MMC进化出了MMCPlus(更快)、Secure MMC(更安全)、MMCmobileMMCmicro(更小)、MiCard(高容量)和eMMC(嵌入式)等标准。其中eMMC为BGA封装,可以直接焊接在板子上。

(2)安全和存储方向:由MMC先进化出了SD/SDSC(Secure Digital Standard Capacity),这类标准的特点就是**“安全”**。在继承了SDSC的一些优点的同时,基于存储容量、尺寸和使用范围等方面进行了优化和改进,又诞生了miniSDmicroSD/TF(更小)、SDHC(高容量)、micro SDHC(更小)、SDXC(更快更大)等标准。

(3)接口方向:在SD/SDSC的基础上还诞生了另外一个分支,就是SDIO,目的是为移动电子设备提供低功耗的高速数据I/O。

下面是不同接口规范的封装引脚和大小对比图,当SD接口要和MMC兼容时,8和9脚留空即可。
在这里插入图片描述

2 基本SD协议

SD卡遵循两个协议:SD协议和SPI协议。


SPI和MMC、SD的关系
SPI硬件接口非常简单,但信号是单向的,且只支持1个数据位。最初,SD和MMC总线都支持SPI模式,这样只要带有SPI外设的CPU就可以与SD卡通信。对于SD主机来说,SPI模式并不是必需的,因为任何设计用于SD总线的主机应该实现SD总线协议,而不是性能较低的SPI协议。从MMC版本4.3开始,不再强制要求支持兼容SPI接口。但是SD卡仍然需要支持兼容SPI接口。


比如对于microSD来说,就有以下两种引脚映射:
(1)SD模式

Pin #Pin NameSignal Function
1DAT2Data Bit 2
2CD/DAT3Card Detect/Data Bit 3
3CMDCommand Line
4VddSupply Voltage 2.7V/3.6V
5CLKClock
6VssGround
7DAT0Data Bit 0
8DAT1Data Bit 1

(2)SPI模式

Pin #Pin NameSignal Function
1NCNo Connect
2/CSChip Select
3DIMaster Out/Slave In(MOSI)
4VddSupply Voltage 2.7V/3.6V
5CLKClock
6VssGround
7DOMaster In/Slave Out(MISO)
8RSVReserved

(1)SD总线通过双向CMDDATA引脚串行地传输信息。在CMD引脚上,每个命令包含48位的命令信息,而一个命令信息包括命令索引、参数和CRC校验位。命令始终由主机发送,响应也通过CMD引脚由SD发送。大多数响应包也是48位长。主机始终是命令发起者,传输命令给SD。
在这里插入图片描述

(2)并非所有命令都有数据传输(DATA引脚),只有读写命令会伴随数据传输。数据包的单位称为块,主机可以定义不同的块大小,一般为512字节。数据可以使用1个或4个DATA引脚进行传输。每个数据包后面跟着16位的CRC数据。

(3)SD卡在状态机下运行,每个状态都有不同的命令集,只有在特定的状态下才能执行特定的指令。主机可以通过CMD引脚更改SD状态,比如上电后发送初始化序列改变SD状态,直到SD卡准备好传输数据。

(4)命令和数据信号通过时钟信号同步,复位后,主机使用最低的400KHz时钟速率与SD卡通信。SD卡内部寄存器可以向主机提供与SD卡容量等相关的信息。

3 SD和MMC的不同规范版本

1、SD
SD的第一个版本在2000年发布,它支持25MHz的总线频率和最大2GB的容量,数据可以在SD模式(可选择1bit或4bit)和向下兼容的SPI模式(1bit)下进行传输。

SD的第二个版本在2006年发布,它增加了SDHC(SD High Capacity)规范,即增加了存储容量最高可达32GB。这次修订版本的变化并不大,但是SDHC的诞生未未来的规范的修订奠定了基础。这次修订占据了图片和视频存储应用的市场,即使在后面的SD 3.0版本出来后,SDHC规范依旧有很大的市场。

SD3.0规范增加了一个新的容量标准SDXC,最多支持2T的存储空间,同时还根据UHS-I(Ultra High Speed)规范增加了数据的带宽。使用相同的4bit DATA接口,UHS-I支持最大单数据速率达到208MHz,可以实现104MB/s的数据传输速率;它支持的最大双数据传输速率为50MHz,即50MB/s的数据传输速率。

SD4.0规范增加了UHS-II速度版本,继续提高数据传输速率。

2、MMC
MMC规范最早由西门子和闪迪于1996年发布。该规范在2008年之前由MMC协会控制,之后由JEDEC控制规范和新版本的发布。1999年发布了2.0版本,随后于2001年发布了3.0版本。SD 1.0规范与MMC 2.11版本正式兼容。2003年的4.0版本引入了四位和八位数据宽度。八位数据宽度使MMC在相同速度下的数据带宽比SD翻倍。然而,许多主机不支持八位数据宽度,四位数据宽度仍然是与可移动存储卡通信最广泛使用的数据宽度。

JEDEC接管MMC规范后,引入了嵌入式MMC(eMMC)作为4.3版本。eMMC适用于嵌入式应用,除了机械形状之外,eMMC和MMC有相同的特性和功能。从4.4版本起,还支持引导模式,允许将设备用作BootROM(上电运行的程序)。接着还引入了DDR数据速率,以最高带宽为50MHz运行的8位DDR,传输速率达到100MB/s,与以4倍时钟速率运行的SD卡相同。

以下表格总结了不同版本的两种总线的数据速率。

RevisionMax Clock FrequencyData Rate
SD 1.0 to 1.0125MHz12.5MB/s
SD 1.10 to 2.050MHz25MB/s
SD 3.0208MHz104MB/s
MMC 1.0 to 320MHz2.5MB/s
MMC 4.0 to 4.350MHz50MB/s
MMC 4.450MHz100MB/s

4 SD速度等级

为了向用户提供SD卡可用性能的真实度量,从SD规范2.0开始定义了几个速度等级:

Speed ClassDecriptionRevision
Class 0这类卡没有说明其性能,包括所有SD规范2.0之前的卡1.0
Class 2速度大于等于2MB/s2.0
Class 4速度大于等于4MB/s2.0
Class 6速度大于等于6MB/s2.0
Class 10速度大于等于10MB/s3.0

5 SD主机控制器

SD主机控制器是硬件逻辑,它构成了主机CPU和SD总线之间的桥梁。SD总线规范的主机规范部分对主机控制器设计提供了非常严格的定义。从CPU的角度来看,主机控制器包含一个256字节的寄存器集,它映射到系统的内存或IO空间。
在这里插入图片描述

  • 与SD通信时,建议打开DMA,能大大减轻CPU的运算

SD总线上的事务是由软件读取或写入该寄存器集发起的。通过此寄存器设置,用户程序可以:

  • 检测SD卡的插入或拔出
  • 打开/关闭SD卡电源
  • 启用/禁用/控制SD时钟速度
  • 定义命令参数和发送命令到SD卡
  • 接收来自SD卡的命令响应
  • 从SD卡读取和写入数据
  • 暂停、恢复和终止数据事务
  • 中断CPU的不同类型的事件,如命令完成,CRC错误等

主机系统负责为SD卡提供电源和时钟信号,SD规范中定义了卡检测机制,允许热插拔,即在插卡时产生中断,在产生该中断时,CPU再给SD卡上电。上电后,用户程序可能会使能默认的400KHz的时钟信号给SD卡,完成初始化序列,接着用户程序可以通过SD卡的寄存器获得SD卡的容量和带宽等信息,以重新配置时钟频率。

CPU可以在无操作时停止时钟信号或关闭SD卡的电源通路,以节省电源。SD卡时钟信号不能使用锁相环(PLL)。

6 SD卡内部设计

在这里插入图片描述
上图展示了一个典型的SD卡设计。它包括了SD存储和SDIO功能。在SD存储的实现中,实际上就是一个NAND Flash,内部一般有一个MPU来管理这些内存。典型的SDIO实现包括SD接口和IO功能逻辑模块(IO Logic),IO逻辑模块内部也可能会有MPU。

图中的SD控制器SD Controller)完成所有物理和数据链路层的功能,如命令解码、响应生成、CRC、状态管理和预定义的SD寄存器集,许多SD命令可以直接由SD控制器模块处理,而对内存空间的访问将被从SD控制器转发到卡内其他模块。

由于NAND Flash很容易有坏块,所以访问NAND的内存时一般还会经过一个用于处理坏块和其它事物的本地处理器。SD控制器不直接访问NAND闪存芯片,它可以访问“处理器”中的**影子内存(存储一些重要的数据,如设备状态)**进行数据传输,或者中断本地处理器,然后进行所需的数据传输。

当MPU接收到中断时,它会通过查询SD控制器模块来获取来自SD总线的数据请求。如果是读请求,它会从NAND中检索数据并将读取的数据传送到SD控制器模块。如果是写入请求,它会从SD控制器模块中检索数据并将其写到NAND中。

对于SDIO设备,根据正在实现的IO逻辑的特性,当从SD总线接收到用户数据传输请求时,SD控制器核心可以直接访问IO逻辑模块,或者使用中断方法来请求IO逻辑模块的服务。实际上SD规范并没有规定SD卡的内部架构,设计者可以根据应用选择最合适的架构。通常在SD存储卡中使用中断方式访问,而在SDIO中则采用直接访问方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/992797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Postman接口测试流程

一、工具安装 ● 安装Postman有中文版和英文版,可以选择自己喜欢的版本即可。安装时重新选择一下安装路径(也可以默认路径),一直下一步安装完成即可。(本文档采用英文版本)安装文件网盘路径链接&#xff1…

哈希的应用——布隆过滤器

文章目录 前言1. 布隆过滤器提出2. 布隆过滤器概念3. 布隆过滤器的插入多哈希函数映射减少冲突结构定义及set(插入)函数实现 4. 布隆过滤器的查找test(查找)函数实现布隆过滤器允许误判 5. 布隆过滤器的适用场景6. 如何选择布隆过…

AOI软件之 CAD图纸导入功能

在这里,我不过多的解释AOI,半导体检测行业内的小伙伴自然会懂;我也不会过多解释何为diemap或者wafer-layout。因为我们本文的核心场景仅仅是cad图纸的解析和基本绘图的二次开发。而且我们紧紧是面向行业内的场景需求来说明此功能。 无图我说…

强大的JTAG边界扫描(4):STM32边界扫描应用

文章目录 1. 获取芯片的BSDL文件2. 硬件连接3. 边界扫描测试4. 总结 试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。 我们需要测试一下…

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化 目录 时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 EWT经验小波变换 包含频谱相关系数 可直接运行 Matlab代码 1.可自由设置分量个数&…

【uni-app】—2.必备软件安装

一、Node.js 安装流程 二、微信开发者工具 1.选择自己系统对应安装包下载 2. 安装 设置安装路径 三、HBuilderx 1. 根据系统下载安装包 2. 解压安装包(自定义解压路径) 3. 运行 四、安卓模拟器(夜神) 1. 下载安装包 2…

eclipse链接MySQL数据库

在MySQL官网下载驱动 MySQLhttps://www.mysql.com/cn/点击下载: 页面滚动到最下方选择社区版: 选择Java版本: 接下来,需要选择操作系统,我们选择平台独立: eclipse 接下来,我们打开eclipse,新建…

【C语言】异或(^)

一.简介 异或,英文为exclusive OR,缩写成xor 异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b (a ∧ b) ∨ (a ∧b) 如果a、b两个值不…

2023国赛 C题论文 蔬菜类商品自动定价与补货策略

因为一些不可抗力,下面仅展示小部分论文,其余看文末 一、问题重述 在生鲜超市管理领域,涉及一系列复杂问题,包括供应链管理、定价策略以及市场需求分析等方面。以蔬菜类商品为案例,这些商品在生鲜商超中具有较短的保…

升降压芯片

型号: SC8815 升降压电路基于SC8815实现的可调电源 2-36V连续可调,0.3-6A可调限流 原理图参考 可以观察到控制使用i2c就可以 使用参考链接 【小米120W协议转换器】私有协议转换器2.0_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1qu4y1y72F…

无人机通信协议MAVLink简介

Micro Air Vehicle Link(简称MAVLink)用于无人系统(例如,机器人、无人机、无人车、无人船和无人潜航器)。它定义了一组无人系统和地面站之间的消息交换规则。此协议广泛用于无人驾驶系统中,特别是ArduPilot和PX4无人驾驶系统,MAVLink协议提供了强大的功能,不仅用于监视…

二维码智慧门牌管理系统:高效、精准的门牌管理解决方案

文章目录 前言一、问题概述二、解决方案三、实际效果 前言 随着城市发展的日新月异,门牌标识作为城市管理的重要组成部分,也面临着诸多挑战。传统门牌的陈旧、缺失以及指示不明确等问题,已成为城市管理效率和居民生活品质的瓶颈。为解决这些…

【动手学深度学习笔记】--门控循环单元GRU

文章目录 门控循环单元GRU1.门控隐状态1.1重置门和更新门1.2候选隐状态1.3隐状态 2.从零开始实现2.1读取数据2.2初始化模型参数2.3定义模型2.4训练与预测 3.简洁实现 门控循环单元GRU 学习视频:门控循环单元(GRU)【动手学深度学习v2】 官方…

iOS App上架新规解析:如何进行App备案

摘要 本文将以iOS技术博主的身份,解析iOS App上架新规中的App备案要求。通过探讨备案对开发者和市场的影响,介绍备案流程和所需材料,帮助开发者了解如何进行App备案。 引言 近年来,移动应用市场蓬勃发展,但同时也存…

数据库基础——数据库、数据表和SQL语句

数据库、数据表和SQL语句 数据库、数据表和SQL语句是什么?数据库安装数据库登录及退出创建、查看数据库及修改名字查看及修改数据库编码删除数据库使用或查看当前正在使用的数据库创建、查看数据表及修改名字查看及修改数据表编码查看及修改数据表结构增加约束删除约…

概念解析 | 非极大值抑制(NMS):原理、缺点和改进

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:非极大值抑制(NMS)及其改进工作。 非极大值抑制(NMS):原理、缺点和改进 1. 背景介绍 在计算机视觉中,物体检测是一个核心且充满挑战的问题。众多算法和技术应运而生,其…

离散数学_十章-图 ( 6 ):欧拉通路与哈密顿通路

📷10.6 欧拉通路与哈密顿通路 1. 欧拉通路与欧拉回路1.1 定义1.2 性质1.3 *寻找欧拉通路(了解) 2. 哈密顿通路和哈密顿回路2.1 定义2.2 性质2.3定理**狄拉克定理****欧尔定理** 1. 欧拉通路与欧拉回路 欧拉通路是一种特殊的图路径,它要求在一个图中通过…

如何防范 AI 盗取你的密码

现如今,随着人工智能(AI)应用的普及和快速迭代,几乎任何人都可以轻而易举地利用AI进行密码破解之类的攻击。这已经引起了业界的担忧。下面,我将围绕着:密码破解究竟意味着什么,基于AI的密码猜测…

抖店商品卡流量怎么做?给你们说下其中的猜你喜欢,是怎么玩的

我是王路飞。 抖店的商品卡流量玩法,因为是免费的,现在也是平台大力扶持的。 所以很受一些新手商家的喜欢,毕竟是免费的流量,自己的利润也会增加。 我这边的话一直都是找达人带货玩法为主,自然流量为辅,…

怎么扫码听音频?音频在线生码的方法

现在很多小伙伴喜欢听书而不是自己看,那么当我们想分享一段听书音频时,有什么的方法能够更快更好地来让其他人获取内容呢?想要提高传播的效率,那么制作音频二维码(音视频二维码制作-一键免费生成音视频二维码在线工具-…