SoC设计与验证——外设篇——SD Host和card

导读:本篇文章讲解 SoC设计与验证——外设篇——SD Host和card,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

注:部分图片来源于SD Association及网络。

0. Specification说明

以SD2.0协议规范为例:|
SoC设计与验证——外设篇——SD Host和card

  1. 《Part1_Physical_Layer_Simplified_Specification_Ver2.00》
    SD卡物理层说明,描述了控制器引脚、SD协议规范、CMD命令说明、RESPONSE说明等,主要为编写SD Host控制器RTL代码的硬件工程师准备。
  2. 《PartA2_SD_Host_Controller_Simplified_Specification_Ver2.00》
    SD卡控制器使用说明,描述了控制器内部寄存器地址作用、控制器使用注意点等,主要为编写SD卡驱动程序的软件工程师准备。
  3. 《PartE1_SDIO_Simplified_Specification_Ver2.00》
    SDIO模式下的协议说明,文件1中仅描述了SPI模式下的使用说明,该文件是文件1的补充文件。

1. SD卡协议概述

1 SD、SDIO和MMC

SD卡在MMC(MultiMedia Card)卡的基础上发展而来,增加了更高的安全性何更快的读写速度。

一般来说,MMC卡可以被SD卡驱动读写数据,但SD卡不能被MMC卡驱动读写。

SDIO是SD卡的一种传输模式,另一种是SPI模式。

2 名词解释

  • 存储容量级别

SoC设计与验证——外设篇——SD Host和card

  1. SD卡
    普通SD卡,容量上限为2GB
  2. SDHC
    SDHC是“High Capacity SD Memory Card”的缩写,即“高容量SD存储卡”,是SD 2.0的系统规范中规定的新规范,指代容量大于2GB小于等于32GB的SD卡。
  3. SDXC卡
    扩展型的SD卡,最高容量可达2TB
  • 速度等级

SoC设计与验证——外设篇——SD Host和card

  1. UHS
    “Ultra-High Speed 超高速”的缩写,支持超高速总线接口的存储卡一般都会有着更快的读写速度,这一标准由SD卡协会制定。
  2. class
    sd卡中class代表数据传输速度,详见链接:SD卡上面的Class代表什么意思_Linuxrc的博客-CSDN博客

3 常用命令

参考链接:

SD Host和card——常用CMD_KGback的博客-CSDN博客

4 返回类型

响应命令均通过CMD信号线或MSOI信号线传输。

  1. R1响应
    SoC设计与验证——外设篇——SD Host和card
  2. R2响应
    SoC设计与验证——外设篇——SD Host和card
  3. R3响应
    SoC设计与验证——外设篇——SD Host和card
  4. R7响应
    SoC设计与验证——外设篇——SD Host和card

5  写入命令格式

SD卡的命令格式由6个字节(48bit)组成,发送数据时高位在前,SD卡的写入格式如下:
SoC设计与验证——外设篇——SD Host和card

  1. Byte1 为命令号,格式为 01xx_xxxx;如CMD5为 01000101
  2. Byte2~5 为命令参数,若保留则为0;
  3. Byte6 为校验数据,前7位CRC(循环冗余校验)校验位,最后一位为停止位0。注意SPI模式下不进行CRC校验

7 CRC校验

对于CMD来说,CRC是包含在每个command何response的数据位中的。

对于DAT来说,CRC在每个block传输后发送的

2. Host和card的Bus模式

SD卡有两种运行模式,分别是SDIO模式何SPI模式

1 SD模式

  • 输入输出信号
  1. CLK:时钟线
  2. CMD:inout类型
    命令传输和从机响应都通过CMD线,通过一个 start位=0 开始,一个 stop位=1 结束;先传输高位,再传输低位
  3. DATA[3:0]:inout类型
    写数据和读数据都通过DATA线,数据传输都以block为单位传输,每次传输完一个block都会以CRC信号结尾

2 SPI模式

SPI模式无需做CRC校验

  • 输入输出信号
  1. cs
  2. MISO
  3. MOSI
  4. SCLK

3. SD Host控制器特性

4. SD card特性

SD的地址划分可以根据字节地址和扇区地址划分

如果按扇区划分,每个扇区有512 byte或者1024 byte的空间

1 SD卡写保护

SoC设计与验证——外设篇——SD Host和card

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82474.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!