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

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

3天内不再提示

瀚海微SD NAND之SD 协议(36)SPI模式

吕辉 来源:jf_40298777 作者:jf_40298777 2024-10-08 10:13 次阅读

简介

SPI模式由基于flash的SD存储卡提供的辅助通信协议组成。

这种模式是SD存储卡协议的一个子集,设计用于与SPI通道通信,通常在摩托罗拉(以及最近一些其他供应商)的微控制器中发现。

接口是在上电后的第一个reset (CMD0)命令中选择的,设备上电后不能更改。

SPI标准只定义了物理链路,而不是完整的数据传输协议。

SDl存储卡SPI实现使用SD存储卡协议和命令集的一个子集。

SPI模式的优点是能够使用现成的主机,从而将设计工作量降至最低。

缺点是SPI模式相对于SD模式的性能损失(例如单个数据线和每个卡的硬件CS信号)。

2.00版本以后定义的SD模式下的命令和功能在SPI模式下不支持。

即使卡处于SPI模式,卡也可以响应命令和功能,但主机不应该在SPI模式下使用它们。

SPI总线协议

虽然SD存储卡通道是基于命令和数据位流,由开始位发起,由停止位终止,SPI通道是面向字节的。每个命令或数据块都是由8位字节组成的,并且是与CS信号对齐的字节(即长度是8个时钟周期的倍数)。卡开始计数SPI总线时钟周期在CS信号的断言。每个命令或数据令牌应对齐到8时钟周期边界。与SD存储卡协议类似,SPI消息由命令、响应和数据锁令牌组成。主机和卡之间的所有通信都由主机(master)控制。

主机通过断言CS信号低来启动每个总线事务。与SD模式相反,所选卡总是响应命令。

当卡在读取操作中遇到数据检索问题时,它将响应一个错误响应(替换预期的数据块),而不是像SD模式那样响应一个超时。

此外,在写操作期间发送到卡的每个数据块都将使用数据响应令牌进行响应。

在标准容量存储卡的情况下,一个数据块可以像一个卡写块一样大,也可以像单个字节一样小。部分块读/写操作是由cssregister中指定的卡选项启用的。对于SDHC和SDXC卡,块长度固定为512字节。

CMD16设置的块长度仅用于CMD42,不用于内存数据传输。因此,部分块读/写操作也被禁用。另外,不支持写保护命令(CMD28、CMD29和CMD30)。

wKgaomcElOiAZFg6AAD4R5Dh8lc422.pngwKgZomcElPWAdDYUAADLi0VOE0c711.png

模式选择与初始化

SD卡在SD模式下上电。在接收复位命令(CMD0)期间,如果CS信号被断言(负),则将进入SPl模式。如果卡识别到需要SD模型,它将不响应命令并保持在SD模式。

如果需要SPl模式,则该卡将切换到SPI并以SPI模式R1响应响应。返回SD模式的唯一方法是进入电源循环。

在SPl模式下,不观察SD模式下的SD Cardl协议状态机。SPI模型支持的所有SD卡命令始终可用。

SPI模式初始化顺序如下图所示。

SEND_IF_COND (CMD8)用于校验SD Memory Card接口的工作状态。

CMD8的参数格式与SD模式下定义的格式相同。

卡通过分析CMD8的参数来检测运行状态的有效性,主机通过分析CMD8的响应来检测运行状态的有效性。

供电电压由参数中的VHS字段表示。

卡假定VHS中规定的电压为当前提供的电压。

在任何给定时间,VHS中只有1位被设置为1。

检查模式用于主机检查主机与卡之间通信的有效性。

如果该卡指示非法命令,则该卡是遗留的卡,不支持cMD8。

如果卡支持CMD8并且可以在供电电压上操作,则响应将返回在命令参数中设置的供电电压和检查模式。

如果响应中的VCA设置为0,则卡不能在供电电压下工作。

如果校验模式不匹配,CMD8通信无效。

此时,建议重试CMD8顺序。

wKgaomcElQ2Aey0YAAHH5lPDVRI169.png

READ_OCR (CMD58)旨在为SD存储卡主机提供一种机制,以识别与主机所需的Vop范围

不匹配的卡。如果主机不接受电压范围,它将不进行进一步的初始化顺序。

OCR寄存器中的电平应相应地定义(参考之前的介绍寄存器的文章)。

SD_SEND_OP_COND (ACMD41)用于启动初始化并检查卡是否已完成初始化。

必须在第一个ACMD41之前发布CMD8。CMD8的接收扩展了CMD58和ACMD41的功能;

ACMD41论证中的HCS (High Capacity Support)和CMD58响应中的CCSl (Card Capacity Status)。卡忽略了HCS,不接受CMD8。标准容量SD存储卡忽略HCS。

ACMD41的R1响应中的“in idle state”位被卡用来通知主机是否完成了ACMD41的初始化。将此位设置为“1”表示卡仍在初始化。将该位设置为“0”表示初始化完成。

主机重复发出ACMD41,直到该位被设置为“0”。卡只在第一个ACMD41检查ocl中的HCS位。在重复ACMD41的同时,主机不能发出除CMDO以外的其他命令。

初始化完成后,主机应从CMD58的响应中获取CCS信息,当卡接受CMD8并完成初始化后,CCS才有效。CCS-0表示该卡是SDSD。CCS-1表示卡是SDHC或SDXC。

审核编辑 黄宇

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

    关注

    17

    文章

    1677

    浏览量

    90930
  • SDIO
    +关注

    关注

    2

    文章

    69

    浏览量

    19255
  • SD NAND
    +关注

    关注

    0

    文章

    70

    浏览量

    1180
收藏 人收藏

    评论

    相关推荐

    瀚海SD NANDSD 协议(38)寄存器&复位&开解锁

    读取CID/CSD寄存器 类似SD存储卡协议(其中寄存器内容作为命令响应发送)。在SPI模式下读取CSD和CID寄存器的内容是一个简单的读块事务。该卡将响应一个标准的响应令牌,后跟一个
    的头像 发表于 10-10 09:28 58次阅读

    瀚海SD NANDSD 协议(37)SPI总线保护和读写

    总线传输保护 总线上传输的每条SD卡命令都受到CRC位的保护。在SPI模式下,SD存储卡提供了CRC ON模式,使具有可靠数据链路的系统能够
    的头像 发表于 10-09 10:29 85次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>之</b><b class='flag-5'>SD</b> <b class='flag-5'>协议</b>(37)<b class='flag-5'>SPI</b>总线保护和读写

    瀚海SD NANDSD 协议(35)ESD要求

    放电模式: (1)人体模式(HBM)+- 4kv。100pF/1.5Kohm     参考 JESD22-A114-D (IEC60749-26) (2)机器模式 (MM) +-200V
    的头像 发表于 09-30 09:51 162次阅读

    瀚海SD NANDSD 协议(29)硬件接口

    SD存储卡硬件接口 SD存储卡有6条通信线路和3条供电线路: CMD:命令是双向信号。主机和卡驱动以推拉方式工作。 DAT0-3:数据线是双向信号。主机和卡驱动在推拉模式下运行 CLK:时钟是主机到
    的头像 发表于 09-24 10:19 136次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b><b class='flag-5'>之</b><b class='flag-5'>SD</b> <b class='flag-5'>协议</b>(29)硬件接口

    SD NAND SPI模式:如何实现低功耗运行

    最近,收到客户反馈,使用我们SD NAND过程中,使用SPI模式,对SD完成操作后,SD没有进入
    的头像 发表于 09-02 11:06 268次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> <b class='flag-5'>SPI</b><b class='flag-5'>模式</b>:如何实现低功耗运行

    瀚海SD NAND应用之SD协议系统功能和概念 1 基础知识

    针对目前使用的SDNAND 、SD卡、TF卡,简单介绍一下系统信息 标准容量SD存储卡(SDSC):不超过2GB 高容量SD存储卡(SDHC): 2GB以上,32GB以内 扩展容量SD
    的头像 发表于 07-19 11:47 384次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>应用之<b class='flag-5'>SD</b><b class='flag-5'>协议</b>系统功能和概念 1 基础知识

    瀚海SD NAND应用之SD协议物理层的规范

    0010b。 所有其他数字都是十进制。 一般的描述SD存储卡是一种专为满足音频和视频消费电子设备固有的安全性、容量、性能和环境要求而设计的存储卡。 SD存储卡将包含符合SDMI安全标准的内容保护机制,速度更快,容量更大。 SD
    的头像 发表于 07-18 14:54 222次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>应用之<b class='flag-5'>SD</b><b class='flag-5'>协议</b>物理层的规范

    贴片式SD卡功能介绍【MK SD NAND

    技术与传统SD卡不同,SD NAND使用贴装式封装,允许直接焊接至电子设备的PCB上,提供一种内置的存储功能。
    的头像 发表于 07-05 17:03 494次阅读
    贴片式<b class='flag-5'>SD</b>卡功能介绍【MK <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>】

    SD NANDSPI NAND和eMMC的区别对比分析

    SPI NANDSD NAND和eMMC是三种不同类型的嵌入式存储技术,它们各自具有独特的特点和应用场景。以下是这三种存储技术的主要区别:
    的头像 发表于 07-02 11:31 694次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>、<b class='flag-5'>SPI</b> <b class='flag-5'>NAND</b>和eMMC的区别对比分析

    Verilog:【8】基于FPGA实现SD NAND FLASH的SPI协议读写

    NAND的两种使用模式,分别为SD MODE 以及 SPI MODE。他们所对应的引脚定义,如下图所示: []()   对于两种模式的切换
    发表于 06-21 17:58

    SD NAND与文件系统:技术解析与应用指南

    MK米客方德的SD NAND是一种使用NAND闪存技术的贴片式TF卡,因起耐用性和较小的体积而受到广泛欢迎。SD NAND遵循
    的头像 发表于 06-07 14:45 280次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>与文件系统:技术解析与应用指南

    SD NANDSPI NAND的区别

    SD NANDSPI NAND各有优缺点,适用于不同的应用场景。SD NAND提供更高的读写速
    的头像 发表于 06-04 14:26 1347次阅读

    什么是SD NAND存储芯片? SD NAND与TF卡的区别

    什么是SD NAND?它俗称贴片式T卡,贴片式TF卡,贴片式SD卡,贴片式内存卡,贴片式闪存卡,贴片式卡...等等。虽然SD NAND 和T
    的头像 发表于 01-06 14:35 1477次阅读
    什么是<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>存储芯片? <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>与TF卡的区别

    什么是SD NAND存储芯片?

    单芯片解决方案,降低了芯片的成本和复杂度。   低功耗:SD NAND使用了新型的SD ver5.1总线模式,并支持DDR传输。除 SDIO 接口外,还支持
    发表于 01-05 17:54

    ESP32应用教程— SD NAND(记录飞控LOG)

      文章目录   前言   1 SD NAND概述   2 代码说明   3 记录Log   前言   本文基于 ESP32 芯片作为主控制器,测试 SD NAND 记录飞控 Log
    发表于 11-30 18:16