1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SD卡-4

SD卡的接口可以支持两种操作模式: SD卡模式 SPI模式 主机可以选择其中任一模式,SD卡模式允许4线的高速数据传输。 SPI模式允许简单通用的SPI通道接口, 这种 模式相对于SD模式的不足之处是丧失了速度。 SD卡模式针脚定义 针脚 名称 类型 描述 1 CD DAT3 I/O/PP 卡监测数据位3 2 CMD PP 命令/回复 3 Vss S 地 4 Vcc S 供电电压 5 CLK I 时钟 6 Css2 S 地 7 DAT0 I/O/PP 数据位0 8 DAT1 I/O/PP 数据位1 9 DAT2 I/O/PP 数据位2 SD总线允许强大的1线到4线 数据信号设置。当默认的上 电后,SD卡使用DAT0。 初 始化之后,主机可以改变线宽。 SD总线上通信的命令和数据 比特流从一个起始位开始,以 停止位中止。 CLK:每个时钟周期传输一个命令或数据位。频率可在0~25MHz之间变化。SD卡的总线管理器可以不受任何限制的自由产生0~25MHz的频率。 CMD:命令从该CMD线上串行传输。一个命令是一次主机到从卡操作的开始。命令可以以单机寻址(寻址命令)或呼叫所有卡(广播命令)方式发送。 回复从该CMD线上串行传输。一个命令是对之前命令的回答。回复可以来自单机或所有卡。 DAT0~3:数据可以从卡传向主机或反向。数据通过数据线传输。 SPI 总线概念 SPI总线允许通过2通道(数据入和出)传输 比特数据。SPI兼容模式使得MMC主机系统通 过很小的改动就可以使用SD卡。SPI模式使用字节传输。 SPI模式的优点就是简化主机的设计。特别的,MMC主机需要小的改动。SPI模式相对于SD模式的不足之处是丧失了速度性能。 CS: Host to card Chip Select signal. CLK: Host to card clock signal DataIn: Host to card data signal. DataOut: Card to host data signal 软件设计时, 为了程序的可移 植性和易用性, 将程序分为三 个层次。第一个层次是硬件 抽象层, 第二层是实现访问SD 卡的命令层, 第三层是应用层, 提供给用户或文件系统的接口函数。 硬件抽象层包括访问SD 卡的硬件环境配置、SPI 接口实现通讯的基本函数以及SPI 中断的处理。 硬件环境配置包括硬件初始化、以及内存变量初始化等。如将单片机的I/O 端口配置、SD 卡的上电与断开、SD 卡插入是否到位检测、SD 卡内部寄存器特定参数设置等等。 SPI 接口实现通讯的基本函数, 包括主控制器向SD卡发送一字节和从SD 卡读取一字节的基本函数, 这是所有SPI通讯的基础。 命令层, 就是调用硬件抽象层 的基本发送接收字节函数, 实 现SD 卡所有SPI 协议规定的 命令, 完成对SD 卡的访问。 根据SD 卡协议, 访问SD 卡的不同功能, 由不同的命 令实现。这些命令分成0~9 个不同的类别, 每种类别 包括几个具体的命令, 对于SPI 协议, 每个命令都由主 机主动发送, 高位在前低位在后,SD 卡收到命令后, 根据不同的命令做出不同的响应。主机发送的命令长度总是6 个字节。 Command表示命令号, 占用6 位, Parameter 表示命令参数, 长度为4 字节, 不同的命令对应不同的命令参数值。SD 卡的响应有4 种格式, 分别为R1、R1B、R2 和R3 格式。主机发送命令并读取响应形成一个完整的命令实现过程。 应用层函数提供客户程序访 问SD 卡的高级接口函数, 使 客户不需要知道SD 卡的内部 结构和命令内容、不需要知 道SPI的接口协议等基本内容, 客户程序只需要简单地调用接 口函数了解SD 卡的当前状态、读取自己需要的内容或写入自己的内容。应用层程序是在命令层基础上的更高抽象, 调用命令层函数实现。这些函数包括读数据、写数据、擦除数据、返回卡状、返回卡内存储空间使用状况等函数。 模式选择 SD卡在上电初期自动进入SD总线模式,在此模式下向SD卡发送复位命令CMD0。如果SD卡在接收复位命令过程中CS低电平有效,则进入SPI模式,否则工作在SD总线模式。 对于不带SPI串行总线接口的AT89C52单片机来说,用软件来模拟SPI总线操作的具体做法是:将P1.5口(模拟CLK线)的初始状态设置为1,而在允许接收后再置P1.5为0。这样,MCU在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出1位数据至AT89C52单片机的P1.7(模拟M

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档