SD卡(Secure Digital Card):基于FLASH存储单元的卡,它是专为安全性高、容量大、高性能目的设计的。
SD框图如图1-1所示:
图 1-1
SD卡不但有大容量存储单元,还集成有智能控制器来实现接口协议管理、安全性能、版权保
护盒ECC校验等。
特点:
高达2GB容量、SD卡协议兼容、SPI模式控制、版权保护、密码保护
SD卡通讯方式:
SD    6线通讯(clk、cmd、D0—3)    数据出错保护传送        单块、多块数据传送
SPI    3线串行总线(clk、DI、DO)    可选的非数据保护传送    单块、多块数据传送
读写次数性能:
SD卡数据读次数:不受限(无限次)    每扇区写:100,000次   
SD Mode:
SD模式下多卡的识别:SD卡模式是单主机多从机模式,clk和power线共用;识别过程如下:主机分别使能各个卡自己的cmd线,各个卡的CID寄存器是事先编程好的,它是一个用
在卡识别过程中唯一数字,主机能使用READ_CID命令读取CID寄存器的值,主机只能读而不能写。
内部上拉的DAT3脚可以用来进行卡插入的侦测,在数据传输过程中可以将上拉电阻断开(使用ACMD42)。
Card Status:存储在一个32bit的寄存器中,它被当做命令应答的数据区来发送,它包含卡当前的状态及上一个命令的完成代码,可以通过SEND_STATUS命令读取。
SD_Status:存储在512bit的寄存器中,当发送命令SD_STATUS(ACMD13)时它被当做一块数据块来发送。
存储空间阵列分区如图1-2所示:
数据传输的基本单元式byte
面向块的命令:input命令
Block:块大小就是发送块传输命令时传输的数据字节数,大小可变也可以固定,块的大小
及编程存储在CSD寄存器中。
图 1-2
一次擦除单元的粒度一般与面向块命令不同
Sector:这是和擦除命令有关的单元,每个设备扇区的大小事固定的,扇区的大小信息存储在CSD寄存器中。
具有写保护的卡:
WP Group:拥有独立写保护的最小单元,Its size is the number of groups which will be write protected by one bit,每张卡WP Group的大小也是固定的,大小信息存在CSD中。
数据传输速率:SD卡可以单数据线(DAT0)4数据线(DAT0-3)进行数据传输,单线最大速率为25Mbps4线最大为100Mbps
擦除:最小擦除单元是卡的一个扇区,为了提高效率,也可以多块扇区一起擦除,首先发送一条带有起始扇区地址的命令,接着发送一条带有结束扇区地址的命令,它们之间的扇区将全部被擦除。
写保护:有两个保护级别可供选择,永久的和暂时的,可以通过PROGRAM_CSD命令设置,永久写保护位一旦设置就无法清除,这项特性应用在SD卡控制器固件。
SPI Mode:
卡识别过程:主机必须知道连接在总线上的卡的个数,主机通过选定CSCD/DAT3)线来选定卡,内部带上拉电阻的DAT3线可以用来做卡插入侦测。
Card Status:在SPI模式下只有16bit可以从32bitSD Card status寄存器中读出,与SD模式下一样可以用ACMD13读出SD_STATUS
存储空间阵列分区:与SD模式下一致。
读写操作:在SPI模式下可以支持多块和单块数据传输。
数据传输率:SPI模式下只有单根数据线,25Mbps。
擦除、写保护与SD模式一致。
图2-1 SD卡外形尺寸
图2-2 SD引脚尺寸
图2-3 SD模式下管脚分配图
NOTE1) S=电源,I=inputO=output 使用上拉驱动
2)上电后DAT1-3input,发送SET_BUS_WIDTH命令后DAT1-3才作为数据线,应连接外部
上拉电阻,尽管有可能只用DAT0.
3)上电后,内部有50Kohm的电阻上拉(可以用作卡插入侦测),上拉可通过SET_CLR_CARD_DETECTACMD42)命令断开。
2-4 SPI模式下管脚分配
NOTE1)S=电源,I=inputO=output
      2)RSV为浮动输入,需外接上拉电阻。
2-5 SD卡的寄存器
SD卡有自己的上电检测电路,以此来使上电后卡进入idle状态,也可以用GO_IDLECMD0)命令来复位SD卡。
2-6 SD卡结构图
SD模式:
CMD  双向信号线
DAT0-3:双向信号线
CLK  主机到卡的线
VDD  卡的电源线
VSS[1:2]:地线
SPI模式:
CS:        主机到卡的线
CLK    主机到卡时钟线
DI    主机到卡数据线
DO    卡到主机数据线
SPI模式和SD模式一样是字节传输,数据传输都是8bit的整数倍并且和CS对齐,SPI传输过程中CS必须有效,除卡编程(card programming)的时候SPI模式中使用的是SD模式协议和命令的子集。
上电
SD模式上电:
2-7 SD模式下上电过程
上电后SD卡进入idle状态,该状态下SD卡不管任何传输直到接收到ACMD41命令,ACMD41命令判断操作电压范围以及查询SD卡直到SD卡退出上电流程。除此之外,ACMD41的应答还包括了忙标志位,表明SD卡是否就绪,单卡上电流程时间不能大于1s
上电完成后,主机发送时钟并且通过CMD线发送初始化系列操作,这个系列就是连续的‘1’电平,系列的长度为最大值1ms74个时钟周期或者电源上升时间。所有的主机都必须能完成ACMD41CMD1CMD1是用于查询MMC卡的操作状态的,在任何状态下,ACMD41或者CMD1必须通过CMD线分别发送到每一张卡上。
总线电路
2-8 总线电路
信号线负载要求如表2-1所示:
2-1 信号线负载要求
其中CL=Chost+Cbus+N*Ccard  Chost:主机电容  Cbus:总线电容  Ccard:卡电容
输入输出0/1电平范围:
2-2 输入输出0/1电压范围
SD模式下SD卡寄存器:
OCROperating Conditions Register):
32bit,存储SD卡的操作电压等级,在2.0-3.6V的电压范围内SD卡能够进行电压识别过程。然而访问在存储区的数据却需要在2.7-3.6v的电压范围内,OCR寄存器给出了能进行数据访问操作的电压范围,表2-3给出了寄存器的内容:
2-3 OCR寄存器内容
2-9 OCR寄存器结构
如果busy位置位,表明SD已经完成了上电流程。
CIDCard Identification Register):
CID16byte的寄存器,包含了唯一的卡号,卡号是在制造时写入的并且不可被更改,SDMMC有不同的CID寄存器。
CSD(Card Specific Data)寄存器:
CSD包含卡的配置信息
SCRSD CARD ConfigurationRegister结存器:
它和CSD寄存器一样是SD卡的配置寄存器,它提供了SD卡的特性,64bit,该寄存器在制造时就被设置好了。
RCA寄存器:
16bit的与卡地址相关的寄存器,它是卡识别完成后主机和卡的通讯地址。
SPI模式下所有的寄存器都是可访问的,它们的格式也和SD模式下的格式相同,但一些区域SPI模式下不允许访问。
3SD卡协议
SD总线协议
SD总线的通讯是基于命令和数据流的,使用一个起始位开始,一个停止位结束。
命令:命令是一个操作的起始令牌,一个命令或者发送给一个卡(addressed command)或者发送给全部卡(broadcast command),命令通过CMD线串行传输。
应答:应答是一张卡或全部连接的卡的数据起始令牌,它作为先前命令的应答,它同样是通过CMD线串行传输的。
数据:数据则是双向的,数据传输通过数据线。
SD模式命令、应答和数据传送(没有应答和没有数据传输)
卡地址是在初始化阶段分配的,SD卡总线就是基于命令应答的传输。
命令编码格式:
应答编码格式:
应答根据内容不同一共有4种格式,长度为48bit或者136bit
CMD线上,MSB先发然后才是LSB
当使用4个数据线时,数据一次传送4bit,起始位、停止位和CRC校验位分别发送,各个数据线的CRC计算和校验分别独自进行。CRC状态应答寄忙标志只在DAT0上传送,在这期间DAT1-3上的数据不必关心。
1线和4线传送格式
协议的功能说明:
主机发送以下两种命令:
Broadcast Command:针对所有卡的命令,有写命令需要应答。
AddressedPoint-to-PointCommand:发送到特定一张卡的命令,需要应答。
两种操作模式:
卡识别模式:复位后主机会进入该模式下,在该模式中主机会在总线上查卡,SD卡将一直在这个模式下直到接收到SEND_RCACMD3)命令。当卡处于该模式下,主机复位所有的卡,检测操作电压、识别SD卡和发布它们的RCA这些操作时各个卡在自己的CMD线上分别进行的,在该模式下所有的数据都是通过CMD传送的。
数据传送模式:SD卡一旦发布RCA就会进入数据传送模式,所有的卡都被识别了后主机将进入数据传送模式。
状态转换图
复位:
软件复位命令为GO_IDLE_STATECMD0),除了Inactive状态外的其他状态收到该命令后都将进入IDLE状态,上电后所有的卡都将进入IDLE状态,包括处于Inactive状态的卡,在开始总线使用之前必须发发送至少74个时钟。上电后或收到CMD0后,SD卡的CMD线处于输入模式,等待下一个命令的起始位,SD卡的RCA将被初始化为一个默认值(RCA=0x0000),并且配置为一个默认驱动级配置(低速、高驱动电流能力)。
Page59
Page87
SPI协议定义:
SPI模式下所有的命令和数据都是基于8bit和字节与CS对齐的基础上。SPI信息也是由命令、应答和数据块令牌建立起来的所有的通讯都有主机控制发生,通过使CS有效(低电平)来开始总线传输。SPI模式的应答与SD模式的应答在以下三个方面不同:
被选中的卡总是应答命令
使用8bit或者16bit的应答格式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。