SD卡学习笔记

本文详细介绍了SD卡的功能概述,包括SD模式和SPI模式的各个方面,如Card ID、存储分区、读写操作等。同时,讲解了SD卡的接口特性,如寄存器和电气特性,以及总线协议的细节,如卡识别模式和数据传输模式。学习总结中重点关注了SD卡如何识别SD总线与SPI总线模式。
摘要由CSDN通过智能技术生成

每个sector为512B,与IDE磁盘一样。通过读写命令读取一个多个sector。主控程序不需要关注SD具体是怎么实现读写与擦写的。

每个sector可以耐受100,000次写操作,无限次读操作。

每当sector被用命令erase命令擦除了,那么写操作将会更快。

1 功能概述

1.1 SD模式

1.1.1 Card ID

    CID是用于存放SD卡识别码的寄存器。在SD出厂之前,CID都被写入了唯一的值。

    通过READ_CID命令读取,只能读取,不能修改。

1.1.2 状态

    Card_Status存放在一个32位的状态寄存器中,作为卡中的一个数据域,返给主机。
    用SEND_STATUS命令读取。

    SD_Status存放在512位的数据块中,当收到主机的SD_STATUS(ACMD13)命令时发出。SD_STATUS包括扩展的与BUS_WIDTH相关的状态位。

1.1.3 存储分区

    SD卡存储的基本单元是BYTE,所有的数据操作都是通过BLOCK为单元进行。

        <1> BLOCK, 块。读写操作的最基本单元。块大小可以设置或固定。关于一块大小的数据存放在CSD寄存器中。
        <2> SECTOR,扇区。擦除操作的基本单元。扇区的大小是固定的。CSD中有相应说明。
        <3> WP Group,写保护组。它指可以用一位保护的组。大小在每都设备中都是固定的。CSD中有说明。

1.1.4 读写操作

    两种模式:单块,多块。

1.1.5 传送速率

    单线(DATA0):25Mbit/s
    四线(DATA0~3):100Mbit/s(12MB)

1.1.6 数据除错

    ECC,Error Correction Code。在数据写入时就会为每个扇区计算一个ECC。在读该扇区数据时,如果出现错误SD会在传给主机前纠正数据。

1.1.7 擦除

    sector是擦除的最小单元,一次性擦除多个扇所需的时间相同。第一个命令是擦除的start address,紧跟着是擦除的end address,那么这个区间的所有扇区都将会被擦除。

1.1.8 写保护

   

1.1.9 Copy bit

    在CSD寄存器的copy bit用于标志SD卡中,哪些内容是原始的,哪些是复制的。
    一旦某位被置1,那么不能清0了。
 

1.1.10 CSD寄存器

    SD卡中的所有配置信息都存储在CSD卡中。
    主机可以通过SEND_CSD命令读取CSD寄存器的值,也可以通过PROGRAM_CSD命令修改。
 

1.2 SPI 模式

1.2.1 工作条件

    OCR是operating condition寄存器。指定了SD卡在哪些状态下可以正常工作,哪些状态下进入非激活状态。

    READ_OCR(CMD58)命令。可以发送GO_INACTIVE命令进入非激活状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值