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

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

3天内不再提示

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

吕辉 来源:jf_40298777 作者:jf_40298777 2024-10-09 10:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

总线传输保护

总线上传输的每条SD卡命令都受到CRC位的保护。在SPI模式下,SD存储卡提供了CRC ON模式,使具有可靠数据链路的系统能够排除实现CRC生成和验证功能所需的硬件或固件。在CRC OFF模式下,命令的CRC位被定义为“不关心”发送端,而被接收端忽略。

缺省情况下,SPI接口初始化为CRC OFF模式。然而,用于将卡切换到SPI模式的RESET命令(CMD0)在SD模式下被卡接收,因此应该有一个有效的CRC字段。

由于CMD0没有参数,所有字段的内容(包括CRC字段)都是常量,不需要在运行时计算。

有效的复位命令为:Ox40, Ox0, Ox0, Ox0, Ox0, ox95卡进入SPI模式后,将根据CMD59设置对包括CMD0在内的所有命令进行CRC检查。

主机可以使用CRC_ON_OFF命令(CMD59)打开和关闭CRC选项。

主机应在发出ACMD41之前启用CRC验证。始终启用CMD8 CRC校验。

主机应在CMD8参数中设置正确的CRC。

如果检测到CRC错误,无论命令索引如何,卡都会在R1响应中返回CRC错误。

数据读取

SPI模式支持单块读取和多块读取操作(SD Memory Card协议中的CMD17或CMD18)。

在接收到一个有效的读命令后,卡将用一个响应令牌和一个数据令牌进行响应,参考下图。

在标准容量卡的情况下,数据令牌中的大小由set BLOCKLEN (CMD16)设置的块长度决定。

对于SDHC和SDXC卡,无论cmd16设置的块长度如何,块长度都固定为512字节。

wKgaomcF6iyAAa-bAABwzBmzE3I594.png

最大块长度为512字节,与CSD中定义的READ_BL_LEN无关。

如果在标准容量卡中启用部分块访问(即CSD参数READ BL partial等于1),块长度可以是1到512字节之间的任何数字。

起始地址可以是卡有效地址范围内的任意字节地址。但是,每个块应包含在单个物理卡扇区中。

如果禁用部分块访问,则只支持512字节的数据长度。SDHC和SDXC卡只支持512字节的块长度。起始地址应与块边界对齐。

在数据检索错误的情况下,卡将不传输任何数据。相反,一个特殊的数据错误令牌将被发送到主机。

下图显示了一个以错误令牌而不是数据块结束的数据读取操作。

wKgZomcF6kWASRDFAADodlS3Etc553.png

数据写入

SPI模式支持单块和多块写命令。在接收到有效的写命令(SD存储卡协议中的CMD24或CMD25)后,卡将使用响应令牌进行响应,并等待主机发送数据块。

CRC后缀、块长度和起始地址限制(CSD参数WRITE BL PARTIAL控制部分块写选项和WRITE_BL_LEN除外)与读操作相同,参考下图

wKgZomcF6l6ANb0PAABrbTB5Vlc941.png

每个数据块都有一个“开始块”标记的前缀(一个字节)。在接收到数据块后,卡将使用数据响应令牌进行响应。如果接收到的数据块没有错误,将对其进行编程

只要卡在忙编程,所有连续的忙令牌流将被发送到主机(有效地保持低数据输出线)。

一旦编程操作完成,主机应该使用SEND_STATUS命令(CMD13)检查编程的结果。一些错误(例如地址超出范围,违反写保护等)仅在编程期间检测到。

在数据块上执行并通过数据响应令牌与主机通信的唯一验证检查是CRC和一般写错误指示。

在多块写操作中,停止传输将通过在下一个块的开始处发送' stop Tran'令牌而不是'Start Block'令牌来完成。

如果出现写错误指示(在数据响应上),主机将使用SEND_NUM_WR_BLOCKS (ACMD22)来获取写好的写块的数量。

wKgaomcF6m-AFCqBAABpymRye3g152.png

当卡忙时,重置CS信号不会终止编程过程。卡将释放数据输出线(三状态)并继续编程。

如果在编程完成之前重新选择卡,则DataOut线将被强制返回低电平,并且所有命令将被拒绝。

重置存储卡(使用CMDO用于SD存储卡)将终止任何挂起的或正在进行的编程。这可能会破坏卡上的数据格式。预防是主机的责任

擦写保护管理

SPI模式的擦写保护管理过程与SD模式的擦写保护管理过程相同。

当卡擦除或更改预定义扇区列表的写保护位时,它将处于忙状态并使DataOut线保持低电平。

下图说明了使用和不使用忙信令的“无数据”总线事务。

wKgaomcF6oGAP-p6AABOFd1W64o130.png



审核编辑 黄宇

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

    关注

    17

    文章

    1866

    浏览量

    99802
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91304
  • SD NAND
    +关注

    关注

    0

    文章

    108

    浏览量

    1739
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瀚海SD NAND/TF卡数据损坏与校验错误(含CRC错误、数据比对失败)问题解析

    数据损坏与校验错误是瀚海SD NAND/TF卡在数据存储与传输过程中的关键故障,除常见的CRC错误外,数据比对失败(读取数据与写入数据不一致)是核心表现形式,直接影响数据准确性,在工
    的头像 发表于 11-30 15:15 376次阅读

    解决SD NAND CRC校验失败的综合指南:瀚海存储产品的可靠性保障

    高品质存储解决方案的提供者,瀚海一直致力于帮助客户解决此类技术难题,确保产品可靠性。 CRC错误的核心含义与瀚海的质量理念 CRC校验失败本质上是数据完整性
    的头像 发表于 11-21 09:49 269次阅读
    解决<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> CRC校验失败的综合指南:<b class='flag-5'>瀚海</b><b class='flag-5'>微</b>存储产品的可靠性保障

    瀚海SD NAND TF卡硬件识别与初始化类问题探讨

    瀚海SD NAND/TF卡的实际应用中,硬件识别与初始化是保障设备正常运行的首要环节,该环节出现故障会直接导致存储卡无法投入使用,尤其在工业控制、车载设备等关键场景中,可能引发设备
    的头像 发表于 11-18 09:58 124次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>  TF卡硬件识别与初始化类问题探讨

    瀚海SD NAND/TF卡数据读写超时(Data Transfer Timeout)问题深度解析

    全面解析,覆盖全场景需求。 一、数据读写超时涉及的核心方面 (一)接口与硬件适配层面 接口速率瓶颈:使用USB2.0、SDHC等低速接口或老旧读卡器,限制高速存储卡(如支持UHS-II协议瀚海
    的头像 发表于 11-17 10:04 305次阅读

    SD NAND 接口协议解析:SPI 与 SDIO 模式区别及适配方法

    SD NAND 之所以能被 STM32、GD32 等 MCU 控制,核心是通过 “接口协议” 建立沟通规则 —— 就像两个人交流需要共同语言,SPI 和 SDIO 就是
    的头像 发表于 10-31 14:46 476次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b> 接口<b class='flag-5'>协议</b>解析:<b class='flag-5'>SPI</b> 与 SDIO 模式区别及适配方法

    SD NAND保护问题的分析

    说起SD NAND /SD卡写保护的问题,我们先分析一下出现写保护的一些原因 首先,我们先除去SD
    的头像 发表于 10-21 10:28 274次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>写<b class='flag-5'>保护</b>问题的分析

    瀚海SD NAND/TF卡:赋能全场景数据存储,定义高效安全新基准

    控,成为覆盖多场景的优质存储解决方案,为用户解锁高效、安全的数字体验。 高性能突破,重塑数据交互效率 针对当前用户对数据传输速度的核心需求,瀚海SD NAND/TF卡搭载先进
    的头像 发表于 10-14 10:18 186次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>/TF卡:赋能全场景数据存储,定义高效安全新基准

    瀚海SD NAND/TF卡——数据世界的全能搭档

    当智能设备渗透生活每个角落,从旅行时运动相机捕捉的山野风光,到工作中平板存储的设计方案,再到无人机航拍的城市全景,每一份数据都承载着价值与回忆。瀚海SD NAND/TF卡,以硬核性能
    的头像 发表于 10-13 11:12 211次阅读
    <b class='flag-5'>瀚海</b><b class='flag-5'>微</b><b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>/TF卡——数据世界的全能搭档

    CS创世SD NAND在北京君正平台和瑞芯RK平台的应用

    介绍、对SD NAND进行读写操作的三大方式、SD的驱动框架介绍以及SD NAND启动,前三个板
    发表于 08-22 17:01

    CS创世SD NAND在北京君正平台和瑞芯RK平台的应用

    介绍、对SD NAND进行读写操作的三大方式、SD的驱动框架介绍以及SD NAND启动,前三个板
    的头像 发表于 08-22 16:52 2518次阅读
    CS创世<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>在北京君正平台和瑞芯<b class='flag-5'>微</b>RK平台的应用

    【嵌入式开发】SD卡—雷龙 SD NAND

    ,比TF卡稳定,比eMMC易用。 可以看到,雷龙CS SD NAND要远远比TF卡小。 芯片相关封装尺寸 芯片各引脚的功能及用途如图所示,由此可知该芯片能支持两种读写方式,即SD模式
    发表于 07-21 17:56

    NAND Flash与SD NAND的存储扇区架构差异

    NAND Flash 和 SD卡(SD NAND)的存储扇区分配表都是用于管理存储设备中扇区的分配信息。它们记录了哪些扇区已被使用、哪些是空闲的,以及文件或数据与扇区的对应关系,以便实
    的头像 发表于 03-13 15:20 1561次阅读
    <b class='flag-5'>NAND</b> Flash与<b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>的存储扇区架构差异

    雷龙SD NAND试用

    了解以便测试与使用。 芯片不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI/SD
    发表于 01-19 13:26

    SD NANDSPI NAND 和 Raw NAND 的定义与比较

    问题,再也不用为SD卡的接触稳定性操心! SD nandSD 卡、SPI Nor flash、 n
    的头像 发表于 01-15 18:16 1399次阅读
    <b class='flag-5'>SD</b> <b class='flag-5'>NAND</b>、<b class='flag-5'>SPI</b> <b class='flag-5'>NAND</b> 和 Raw <b class='flag-5'>NAND</b> 的定义与比较

    SD NANDSPI NAND 和 Raw NAND 的定义与比较

    问题,再也不用为SD卡的接触稳定性操心!   SD nandSD 卡、SPI Nor flash、
    发表于 01-15 18:15