用于控制 MMC/SDC 的SPI 模式的介绍

出处:网络整合 发布于:2023-01-11 16:59:20

    用于控制 MMC/SDC 的SPI 模式。SPI 模式是一种替代操作模式,定义为在没有本地主机接口的情况下使用 MMC/SDC。SPI 模式的通信协议与其原生操作模式相比略显简单。MMC/SDC 可以通过通用 SPI 接口或一些 GPIO 端口连接到大多数微控制器。因此,SPI 模式适用于没有可用本地主机接口的低成本嵌入式应用。有四种不同的 SPI 模式,0 到 3,取决于时钟相位和极性。SPI 模式 0 是为 SDC 定义的。对于MMC,它不是SPI规范,锁存和移位操作都是用SCLK的上升沿定义的,但它似乎在SPI模式下工作在模式0。因此SPI 模式 0(CPHA=0, CPOL=0) 是控制 MMC/SDC 的正确设置,但模式 3 (CPHA=1, CPOL=1) 在大多数情况下也能正常工作。DO 上的上拉不能省略,否则有些卡会初始化失败。

    命令与响应

    在 SPI 模式下,信号线上的数据方向是固定的,数据以字节为导向的串行通信方式传输。从主机到卡的命令帧是一个固定长度的数据包,如下所示。当卡将 DO 驱动为高电平时,该卡已准备好接收命令帧。命令帧发送到卡后,卡会发回对命令(R1、R2、R3 或 R7)的响应。因为数据传输是由主机控制器产生的串行时钟驱动的,所以主机控制器必须继续读取数据,发送一个 0xFF 并获取接收到的字节,直到检测到有效响应。DI 信号在读取传输期间必须保持高电平(发送 0xFF 并获取接收到的数据)。响应在命令响应时间内发回(N CR), SDC 为 0 到 8 字节,MMC 为 1 到 8 字节。必须在发送命令帧之前将 CS 信号驱动为高电平至低电平,并在事务期间将其保持为低电平(如果存在命令、响应和数据传输)。CRC 功能在 SPI 模式下是可选的。卡不检查命令帧中的 CRC 字段。

    命令框架
    SPI 命令集
    每条命令都用GO_IDLE_STATE或CMD等缩写表示,为命令索引号,取值范围为0~63。初始化。有关所有命令的详细信息,请参阅 MMCA 和 SDA 的规格表。
    有一些命令响应格式,R1、R2、R3 和 R7,取决于命令索引。大多数命令都会返回一个响应字节 R1。R1响应的位域如右图所示,值为0x00表示成功。当发生任何错误时,将设置响应中的相应状态位。R3/R7 响应(R1 + 尾部 32 位数据)仅适用于 CMD58 和 CMD8。
    有些命令花费的时间比 N CR长,它会响应R1b。它是一个 R1 响应,后跟忙标志(只要内部进程在进行中,DO 就会被驱动为低电平)。主机控制器应等待过程结束,直到 DO 变为高电平(收到 0xFF)。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!