0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SD卡的分类以及常见属性

嵌入式情报局 来源:小麦大叔 2024-01-18 10:17 次阅读

SD

SD卡(secure digital card)是SD卡协会开发的低成本,非易失性存储卡格式(相比较于RAM,SD卡掉电数据不丢失);

随着本世纪电子技术的高速发展,对于这种中等型号,节能、节省空间的存储器设备的需求一直在快速增长;

SD卡具有SDHC的速度等级,范围;2级(以2 MB / s的速度运行);4级(以4MB / s的速度运行);6级(以最高6 MB / s的速度运行);10级(以最高的速度运行) 10 MB /秒;

SDXC卡以超高速运行,并以最高30 Mb/s的速度运行;还有视频速度等级,数据传输速率高达90MB/s。

d82c5792-b53e-11ee-8b88-92fbcf53809c.jpg

SD卡速度级别

SD卡还具有不同的尺寸或形状因子,包括standard SD卡, mini SD卡 and micro SD卡;

d83ec3d2-b53e-11ee-8b88-92fbcf53809c.png

卡尺寸分类

SD卡可以是通常具有高达4 GB的存储容量的标准SD卡,也可以是高达64 GB的高容量卡(SDHC)以及达到TB级的扩展容量(SDXC)。

d857fb68-b53e-11ee-8b88-92fbcf53809c.jpg

卡容量

接口

SD卡可以在SD总线模式SPI总线模式下运行,通常可以使用SDIO总线或者SPI对SD进行驱动;

下面主要以micro SD为例,就SDIO模式和SPI模式做简单做一下介绍;

microSD引脚输出,SD模式

引脚 引脚名称 信号功能
1 DAT2 数据位2
2 CD / DAT3 卡检测/数据位3
3 CMD 命令行
4 Vdd 电源电压2.7v / 3.6v
5 Clk 时钟
6 VS
7 DAT0 数据位0
8 DAT1 数据位1

microSD引脚输出,SPI模式

引脚 引脚名称 信号功能
1 NC 没有连接
2 /CS 片选
3 DI 主输出/从属(MOSI)
4 Vdd 电源电压2.7v / 3.6v
5 Clk 时钟
6 Vss
7 DO 主进/从出(MISO)
8 RSV 已预留

micro SD的引脚发布如下图所示;

d8665ac8-b53e-11ee-8b88-92fbcf53809c.png

协议

SD协议中,由于命令数据线和数据线是分开的,因此我们需要关注,命令的传输格式,以及数据的传输格式;

命令传输

命令以48位数据包的形式通过双向CMD引脚进行传输。

这些命令包包括命令索引变量CRC位。该命令始终通过主机发送,最终由SD卡接收。

回传的响应数据包也为48位。

整体命令如下图所示;

d875ecae-b53e-11ee-8b88-92fbcf53809c.png

48位的命令格式

每个命令的恒定长度为6个字节。第一个字节是命令编号和数字64的 加法。例如:对于CMD0:命令编号0 + 64 = 64 = 0x40(十六进制)。

对于CMD1:十六进制命令号1 + 64 = 65 = 0x41。

随后是一组四个字节,称为参数

这些参数通常包含数据的地址或块的长度。

最后一个字节是CRC(循环冗余校验)字节。

如果未启用CRC功能,则大多数SPI模式下的命令都不需要校验字节。

对于某些命令,例如CMD0,CRC为0x95,在大多数情况下,发送的是0xFF。

启用CRC要求您从微控制器发送正确的校验字节。因此,请确保启用或禁用了CRC功能。

发送命令的格式如下所示;

d88acbce-b53e-11ee-8b88-92fbcf53809c.png

帧格式

R1响应0x01表示在响应之前发送的命令已导致卡进入空闲状态。响应字节0x00表示命令已被接受,SD卡将等待后续的事件发生。如果设置了R1响应中的任何其他位,则是错误的结果,并且将降低到图中每个R1响应位中提到的因数。

不同类型的响应及其含义如下所示;

d89e7c3c-b53e-11ee-8b88-92fbcf53809c.png

响应

数据传输

数据传输期间,传输的基本单位称为块,通常为512字节,并通过所有4个数据引脚进行传输。同样,在每次块传输之后,将发送16位CRC数据。

请注意,SD卡在状态下运行。每个状态都有不同的命令集,主机可以通过控件更改状态。

命令和数据信号通过时钟信号同步。最初,主机使用400KHz时钟与卡进行通信,但最终它会在传输过程中最大提高时钟速度,效率。

因为在初始化之前,主机不知道它是SD卡还是MMC卡。

默认情况下,MMC卡在初始化期间默认工作在漏极开路模式(100-400KHz),而SD卡工作在推挽模式(0-25Mhz)。

因此,最初,主机使用400KHz来保持与漏极开路和推挽模式的兼容性。

硬件设计

SDIO

这是从SD/MMC外设到SD卡插槽的4 Bit连接的示例。

使用Data[3..0],CLK和CMD信号。

SD卡插槽暴露在外部环境中。即使未与任何其他设备连接,它也可能会受到人体中积累的静电电荷的影响,而当手指触摸该静电时,静电会释放到屏蔽中。

为了符合EMC规范,必须进行一些常规预防措施,以过滤和避免传导辐射。此外,SD卡规范还规定了上拉电阻和串联阻抗匹配电阻。

幸运的是,当SD在移动设备中如此普遍地传播时,已经有集成方案,它可以一次实现所有这些功能。

CM1624是EMI滤波器和线路终端设备的组合,带有集成的TVS二极管,可用于T-Flash / MicroSD接口。

d8b53a80-b53e-11ee-8b88-92fbcf53809c.png

SPI

下面在SPI模式下使用的SD卡的示例,根据SD Association的规范连接了MISO,MOSI,CLK和CS信号。

我们只需要在时钟线上应用滤波器以在非常恶劣的环境中改善EMC。

d8d03e98-b53e-11ee-8b88-92fbcf53809c.png

SDIO模式或者SPI模式下,磁道都以高数据速率传输数据和时钟信号。

为了避免信号出现毛刺,必须考虑信号传播时间,以确保所有数据在时钟触发读取或写入的操作之前,接口处稳定。

所有数据信号的路径长度必须在十分之几毫米的长度内匹配,并且时钟长度必须长约1毫米。

为避免串扰,这些走线必须在其周围和下方保持良好的接地平面,并且还应通过足够数量的通孔连接各层。

总结

本文简单介绍了SD卡的分类以及常见属性,另外还简单介绍了SD卡的协议,在硬件设计上给出了SPI总线和SDIO总线的示例电路,篇幅有限,软件部分暂时没有进行展开介绍;

来源:本文转自小麦大叔

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148509
  • SD卡
    +关注

    关注

    2

    文章

    530

    浏览量

    63020
  • 总线
    +关注

    关注

    10

    文章

    2706

    浏览量

    87222
  • 嵌入式开发
    +关注

    关注

    18

    文章

    979

    浏览量

    46958

原文标题:嵌入式开发中SD卡读写很常见~

文章出处:【微信号:嵌入式情报局,微信公众号:嵌入式情报局】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    esp32+sd,录音并且处理

    SD
    电子学习
    发布于 :2022年07月15日 19:33:19

    #硬声创作季 #开源集结号 『开源』emmc转sd,emmc制作高速sd,可读取emmc恢复数据

    SDDIYSDemmc
    纸箱里的猫咪
    发布于 :2022年09月12日 13:30:04

    转载[红尘有约]之完整版《DSP之SD与文件系统彻底研究

    SD分类、C5509读写SD、解读FAT32文件系统以及其它内容。在编写
    发表于 03-03 09:47

    arm11以及SD

    arm11以及SD
    发表于 04-03 13:09

    找回写入Raspberry Pi镜像的SD丢失的空间

    大家用写入Raspberry Pi镜像的SD的时候很常见的一个问题的解决方案在Windows下面查看写入操作系统镜像以后的SD,不管多大
    发表于 09-10 10:22

    FPGA如何与SD结合

    FPGA)时钟同步。一开始的时钟应该在400kHz下,SD初始化一段时间后可以加快。所有的命令以及大部分的响应都是48bits长的(6bytes)。扇区数据一般都是多个512bytes。比如以下代码就是向
    发表于 08-01 05:00

    反复装卸SD后,如何重新打开SD文件?

    我正在使用ver.1.06_01Harmony、ver.3.15MPLABX、ver.1.40XC32和PIC32MZ2048EFH100研究SD系统,在重复安装和拆卸SD之后,我
    发表于 09-23 12:52

    原子的开发板里的SD,是什么格式的Flash?

    看到资料,碰到SD属性问题。不知道SD属性。请教了。TKS.
    发表于 08-12 03:21

    SD的原理/操作模式/引脚功能/寄存器介绍

    拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。 按容量分类,可以将SD 分为 3 类: SD
    发表于 01-14 17:13

    苏州回收SDTF 苏州收购SDTF

    苏州回收SDTF苏州收购SD,苏州回收TF,收购内存
    发表于 04-08 17:25

    32的sd和FATFS文件系统是什么

    最近看了32的sd和FATFS文件系统,现在就自己的理解总结一下。一、SD模块SD :安全
    发表于 07-13 06:57

    SD无法识别怎么办?

    SD异常问题分类解决嵌入式存储对SD的使用是比较普遍的,如何把SD
    发表于 12-24 08:05

    使用SPI对SD进行读写过程中常见的问题有哪些?如何解决?

    使用SPI对SD进行读写过程中常见的问题有哪些?如何解决?
    发表于 01-27 07:17

    基于视觉的服装属性分类算法

    基于视觉的服装属性分类算法_刘聪
    发表于 01-03 17:41 0次下载

    嵌入式开发中SD卡的分类常见属性

    SD卡具有SDHC的速度等级,范围;2级(以2 MB / s的速度运行);4级(以4MB / s的速度运行);6级(以最高6 MB / s的速度运行);10级(以最高的速度运行) 10 MB /秒;
    发表于 01-18 10:15 216次阅读
    嵌入式开发中<b class='flag-5'>SD</b>卡的<b class='flag-5'>分类</b>及<b class='flag-5'>常见</b><b class='flag-5'>属性</b>