• SD卡特性分析


    1、背景介绍

    1967年。贝尔实验室江大原(Dawon Kahng,韩裔)和施敏博士(Simon Sze)共同发明了浮栅MOSFET,即所有闪存,EEPROM和EPROM的基础。

    从本质上讲,CF/SM/MMC/SD/MicroSD/eMMC卡都属于闪存,即Flash Memory。

    备注:TF卡在2004年问世之后,因为被SD协会采纳,更名为Micro SD卡

    从Flash Memory的发展历程来看,基本上就是日本和美国的半导体产业的博弈史。最开始是CF卡和SM卡两强并立;随后MMC卡的问世取代了CF卡和SM卡,但是日本紧随其后推出了SD卡(兼容MMC卡)与之抗衡;MicroSD卡只是形式上的区别,与SD卡无本质的区别,可以抛开不提。此时闪存江湖的腥风血雨告一段落,大家都在忙着跑马圈地,占领市场。2011年,eMMC卡横空出世,紧跟着智能手机和平板电脑的浪潮,独领风骚。此时,闪存江湖已无纷争,日美半导体行业俨然沆瀣一气。

    2、MMC卡和SD卡

    MMC卡只有7pin,可以支持MMC和SPI两种工作模式。

    SD卡扩展为9pin,可以支持SD和SPI两种工作模式。

    可以看到,SD卡比MMC卡多三根数据线,其他信号线基本相同。

    3、SD卡特性分析

    3.1、引脚描述

    3.2、SPI模式和SD模式

    在SD卡内部,CD引脚有一个上拉的50KOhm上拉电阻。当系统复位或者CPU发送CMD0(复位命令)复位SD卡时,SD卡处于idle状态。此时CD引脚提供卡检测功能,CD引脚电平为1表示卡在位,0表示卡不在位。

    CD引脚还提供卡模式选择功能,因为默认为高电平,因此高电平状态表示SD模式,即SDIO总线;如果要让SD卡工作在SPI模式,需要CPU主动拉低CD引脚电平为低电平。

    3.3、SD卡内部结构

    如图所示,SD卡内部包括SD卡接口模块、接口控制模块、上电检测模块、内存区、内存接口以及几个内部寄存器。

    内存区用来存储数据,内部寄存器用来保存SD卡信息以及记录SD卡工作参数。

    3.3、SD卡寄存器

     

    3.2、SD卡总线协议

    命令都是由CPU发起,SD卡应答或者不应答,命令和应答都是通过CMD信号线完成的,只有数据传输才使用DAT信号线。

     SD卡单块(多块)读操作

    SD卡单块(多块)写操作

    无论SD卡工作在单线模式还是多线模式,SD卡写操作时,SD卡发送的busy信号永远只出现在DAT0信号线上。

    3.3、SD卡命令和应答格式

     

    3.4、SD卡工作模式

    SD卡主要处于卡识别模式和数据传输模式。

    3.4.1、SD卡识别模式

    系统或者SD卡复位之后,所有SD卡都处于Idle模式,此时RCA(Relative Card Address,相对卡地址)均为0。

    此外,因为SD卡兼容MMC卡,而且生产厂家特别多,因此在电气规范(比如工作电压)上不尽相同。

    因此,卡识别模式的主要工作是——识别SD卡类型,分配RCA地址,协商工作电压

    3.4.2、SD卡数据传输模式

    SD卡的读写是以块为单位进行,块大小通常为512字节。

    3.5、SD卡命令

    SD卡的工作过程基本上是命令交互过程,命令的格式和说明可以参考SD卡协议规范。

  • 相关阅读:
    KindEditor-编辑器配置参数属性
    泛型作为返回类型的写法
    ObservableCollection<T> 类
    常遇到的问题
    实现跨浏览器html5表单验证
    mysql 密码重置
    Web用户的身份验证及WebApi权限验证流程的设计和实现
    Discuz3.2 新用户插入数据库SQL
    3. 深入研究 UCenter API 之 加密与解密(转载)
    window.open实现模式窗口
  • 原文地址:https://www.cnblogs.com/justin-y-lin/p/12259851.html
Copyright © 2020-2023  润新知