SD2.0 Specification之CRC(Cyclic Redundancy Code)

文章目录

本文章主要讲解关于SD2.0中的CRC应用,其它基础概念和其它内容请参考以下文章。
SD2.0 Specification简述

CRC全称为Cyclic Redundancy Code,中文名称是循环冗余校验,该方法通过附加冗余数据来保证数据的完整性,即用于检测数据是否发生错误,但不能用于纠正错误。

在SD2.0中使用CRC7和CRC16两种。

  • CRC7
    所用命令都会使用CRC7生成检验码并附在命令参数后面,而对于Response,除了R2和R3特殊,其它CRC7使用方式都跟命令一样。如下图所示,R2只对CID和CSD的内容进行CRC7的检验码计算,而R3则没有校验码。
    R2
    R3
  • CRC16
    CRC16是针对在DAT线上传输的数据做CRC计算,如果使用4根DAT线传输数据,则每根DAT线是独立计算CRC的。

当SD卡接收命令时使用CRC校验发现命令数据出错了,那SD卡不会执行该命令,也不会回Response,而是在状态寄存器里标记有CRC错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值