SD/MMC 卡读写模块—SD/MMC 卡的外部物理接口

SD/MMC 卡读写模块—SD/MMC 卡的外部物理接口转载地址:http://www.8951.com/book/jiao1n21.htmSD/MMC   卡是一种大容量(最大可达4GB)、性价比高、体积小、访问接口简单的存储卡。SD/MMC卡大量应用于数码相机、MP3机、手机、大容量存储设备,作为这些便携式设备的存储载体,它还具有低功耗、非易失性、保存数据无需消耗能量等特点。SD卡接口向下兼容MMC(MutliMediaCard

大家好,又见面了,我是你们的朋友全栈君。

转载地址:http://www.8951.com/book/jiao1n21.htm

SD/MMC    卡是一种大容量(最大可达 4GB)、性价比高、体积小、访问接口简单的存储卡。SD/MMC 卡大量应用于数码相机、MP3 机、手机、大容量存储设备,作为这些便携式设备的存储载体,它还具有低功耗、非易失性、保存数据无需消耗能量等特点。SD 卡接口向下兼容 MMC(MutliMediaCard 多媒体卡)卡,访问 SD 的 SPI 协议及部分命令也适用于 MMC 卡。SD/MMC       卡读写模块是 ZLG     系列中间件的重要成员之一,又称为 ZLG/SD。该模块是一个用来访问 SD/MMC 卡的软件读写模块,目前最新版本为 2.00,本版本不仅能读写SD 卡,还可以读写 MMC 卡;不仅能在前后台系统(无实时操作系统)中使用,还可以在嵌入式操作系统 μC/OS-II 中使用。本文模块只支持 SD/MMC 卡的 SPI 模式。在本章中,除了特别说明以外,“卡”都是指 SD 卡或 MMC 卡。
1.1 SD/MMC 卡的外部物理接口
SD 和 MMC 卡的外形和接口触点如图 1.1 所示。其中 SD 卡的外形尺寸为:24mm x 32mm x 2.1mm(普通)或 24mm x 32mm x 1.4mm(薄 SD 存储卡),MMC 卡的外形尺寸为24mm x 32mm x 1.4mm。
SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口

表 1.1 为 SD/MMC 卡各触点的名称及作用,其中 MMC 卡只使用了 1 ~ 7 触点。
SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口

SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口

注:1.  S:电源;I:输入;O:推挽输出;PP:推挽 I/O。
    2.  扩展的 DAT 线(DAT1 ~ DAT3)在上电后处于输入状态。它们在执行 SET_BUS_WIDTH 命令后作为 DAT 线操作。当不使用 DAT1 ~ DAT3 线时,主机应使自己的DAT1~DAT3 线处于输入模式。这样定义是为了与 MMC 卡保持兼容。
     3.  上电后,这条线为带 50KΩ 上拉电阻的输入线(可以用于检测卡是否存在或选择 SPI 模式)。用户可以在正常的数据传输中用 SET_CLR_CARD_DETEC(ACMD42)命令断开上拉电阻的连接。MMC 卡的该引脚在 SD 模式下为保留引脚,在 SD 模式下无任何作用。
     4.  MMC 卡在 SD 模式下为:I/O/PP/OD。
     5.  MMC 卡在 SPI 模式下为:I/PP。
由表 1.1 可见,SD 卡和 MMC 卡在不同的通信模式下,各引脚的功能也不相同。这里的通信模式是指微控制器(主机)访问卡时使用的通信协议,分别为 SD 模式和 SPI 模式。在具体通信过程中,主机只能选择其中一种通信模式。通信模式的选择对于主机来说是透明的。卡将会自动检测复位命令的模式(即自动检测复位命令使用的协议),而且要求以后双方的通信都按相同的通信模式进行。所以,在只使用一种通信模式的时候,无需使用另一种模式。下面先简单介绍这两种模式。
1.1.1 SD 模式
在 SD 模式下,主机使用 SD 总线访问 SD 卡,其总线拓扑结构如图 1.3 所示。由图可见,SD 总线上不仅可以挂接 SD 卡,还可以挂接 MMC 卡。

SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口
SD 总线上的信号线的详细功能描述如表 1.2 所示。

SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口

SD 存储卡系统(SD 模式)的总线拓扑结构为:  一个主机(如微控制器)、多个从机(卡)和同步的星形拓扑结构(参考图 1.3)。所有卡共用时钟  CLK、电源和地信号。而命令线(CMD)和数据线(DAT0 ~ DAT3)则是卡的专用线,即每张卡都独立拥有这些信号线。请注意,MMC 卡只能使用 1 条数据线 DAT0。
1.1.2  SPI 模式
在 SPI 模式下,主机使用 SPI 总线访问卡,当今大部分微控制器本身都带有硬件 SPI接口,所以使用微控制器的 SPI 接口访问卡是很方便的。微控制器在卡上电后的第 1 个复位命令就可以选择卡进入 SPI 模式或 SD 模式,但在卡上电期间,它们之间的通信模式不能更改为 SD 模式。卡的 SPI 接口与大多数微控制器的 SPI 接口兼容。卡的 SPI 总线的信号线如表 1.3 所示。
表 1.3  SD 卡与 MMC 卡的 SPI 接口描述
SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口
                                 图1.3

SPI 总线以字节为单位进行数据传输,所有数据令牌都是字节(8 位)的倍数,而且字节通常与 CS 信号对齐。SD 卡存储卡系统如图 1.4 所示。
SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口
                               图1.4
当主机外部连接有多张 SD 卡或 MMC 卡时,主机利用 CS 信号线对卡进行寻址。例如:在图 1.4 中,当主机需要向 SD 存储卡 A 传输数据或需要从该卡接收数据时,必须将 CS(A)置为低电平(同时其它卡的 CS 信号线必须置为高电平)。CS 信号在 SPI 处理(命令、响应和数据)期间必须续持有效(低电平)。唯一例外的
情况是在对卡编程的过程。在这个过程中,主机可以使 CS     信号为高电平,但不影响卡的编程。
由图 1.4 可见,当 SPI 总线上挂接 N 张卡时,需要 N 条 CS 片选线。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133589.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java编程常用软件

    java编程常用软件有大神曾说“给我一个记事本,我还你一个项目”,作为小白的我,以前也对这句话深信不疑,但当我参加人生第一次编程考试的时候,我发现我用记事本码代码的速度实在是太慢了,一样的代码,别人用eclipseIED编写用了5分钟,而我至少半小时。虽然有点强行甩锅IDE的嫌疑,但有款好的编程软件,就会让你打代码速度更快,让你的头发掉的更少……废话讲完了,以下是我推荐的几款编程常用软件:…

    2022年6月14日
    39
  • centos7部署k8s_怎么在自己电脑上搭建网站

    centos7部署k8s_怎么在自己电脑上搭建网站学习K8S时,常常需要自己搭建环境,本人将centOS-7上搭建K8S的过程进行做如下的记录,以方便自己后续环境的搭建和指导其他人搭建环境作为参考资料,本章节主要介绍如何搭建kubernetes的集群环境集群环境搭建集群类型kubernetes集群大体上分为两类:一主多从和多主多从。一主多从:一台Master节点和多台Node节点,搭建简单,但是有单机故障风险,适合用于测试环境多主多从:多台Master节点和多台Node节点,搭建麻烦,安全性高,适合用于生产环境说明:为了测试简单,本次搭建

    2022年8月12日
    17
  • unity开发微信小游戏1[通俗易懂]

    unity开发微信小游戏1[通俗易懂]unity开发微信小游戏

    2025年5月31日
    3
  • 结构体 变迁

    结构体 变迁

    2021年12月6日
    42
  • 简述SQL2008部署多实例集群(学习)

    简述SQL2008部署多实例集群(学习)

    2021年11月26日
    72
  • C语言将int强制转换为char_C语言char数组长度

    C语言将int强制转换为char_C语言char数组长度今天遇到一个小陷阱。本来想看一个字符转成整型之后对应的值,结果竟意外的发现,转成的整型大于256。我:????字符不是只有一个字节么?我把这个字符的前后字符都置0,结果还是一样。我就懵逼了。一查才知道,和signedchar转成int的“潜规则”有关。原来,对于signedchar,将其转化为int时,最高位为符号位,那么扩展时,就会对符号位进行扩展,即将整型比字符多出来的位全部设置成与…

    2022年10月2日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号