1、PIP封装技术 尺寸:24mm宽32mm长1.44mm厚说明:本SD卡高度集成闪存,具备串行和随机存取能力。可以通过专用优化速度的串行接口访问,数据传输可靠。接口允许几个卡垛叠,通过他们的外部连接。接口完全符合最新的消费者标准,叫做SD卡系统标准,由SD卡系统规范定义。SD卡系统是一个新的大容量存储系统,基于半导体技术的变革。它的出现,提供了一个便宜的、结实的卡片式的存储媒介,为了消费多媒体应用。SD卡可以设计出便宜的播放器和驱动器而没有可移动的部分。一个低耗电和广供电电压的可以满足移动电话、电池应用比如音乐播放器、个人管理器、掌上电脑、电子书、电子百科全书、电子词典等等。使用非常有效的数据压
2、缩比如MPEG,SD卡可以提供足够的容量来应付多媒体数据。框图:SD卡上所有单元由内部时钟发生器提供时钟。接口驱动单元同步外部时钟的DAT和CMD信号到内部所用时钟。本卡由6线SD卡接口控制,包括:CMD,CLK,DAT0-DAT3。在多SD卡垛叠中为了标识SD卡,一个卡标识寄存器(CID)和一个相应地址寄存器(RCA)预先准备好。一个附加的寄存器包括不同类型操作参数。这个寄存器叫做CSD。使用SD卡线访问存储器还是寄存器的通信由SD卡标准定义。卡有自己的电源开通检测单元。无需附加的主复位信号来在电源开启后安装卡。它防短路,在带电插入或移出卡时。无需外部编程电压。编程电压卡内生成。SD卡支持第
3、二接口工作模式SPI。如果接到复位命令(CMD0)时,CS信号有效(低电平),SPI模式启用。(译者按:以下部分为本人翻译)接口该SD卡的接口可以支持两种操作模式:。SD卡模式SPI模式主机系统可以选择以上其中任一模式,SD卡模式允许4线的高速数据传输。 SPI模式允许简单通用的SPI通道接口, 这种模式相对于SD模式的不足之处是丧失了速度。SD卡模式针脚定义针脚名称类型描述1CD DAT3I/O/PP卡监测数据位32CMDPP命令/回复3VssS地4Vcc供电电压5CLKI时钟6Css27DAT0数据位08DAT1数据位19DAT2数据位21:S:电源供电,I:输入O:输出 I/O:双向 P
4、P:I/O使用推挽驱动SD卡的总线概念SD总线允许强大的1线到4线数据信号设置。当默认的上电后,SD卡使用DAT0。 初始化之后,主机可以改变线宽(译者按:即改为2根线,3根线。)。混和的SD卡连接方式也适合于主机。在混和连接中Vcc,Vss和CLK的信号连接可以通用。但是,命令,回复,和数据(DAT03)这几根线,各个SD卡必须从主机分开。这个特性使得硬件和系统上交替使用。SD总线上通信的命令和数据比特流从一个起始位开始,以停止位中止。CLK:每个时钟周期传输一个命令或数据位。频率可在025MHz之间变化。SD卡的总线管理器可以不受任何限制的自由产生025MHz的频率。CMD:命令从该CMD
5、线上串行传输。一个命令是一次主机到从卡操作的开始。命令可以以单机寻址(寻址命令)或呼叫所有卡(广播命令)方式发送。 回复从该CMD线上串行传输。一个命令是对之前命令的回答。回复可以来自单机或所有卡。DAT03:数据可以从卡传向主机或副versa。数据通过数据线传输。SD卡总线拓扑SPI模式针脚定义CS片选(负有效)DI数据输入Vss2DOO数据输出RSV-注意:SPI模式时,这些信号需要在主机端用10100K欧的电阻上拉。SPI 总线概念SPI总线允许通过2通道(数据入和出)传输比特数据。SPI兼容模式使得MMC主机系统通过很小的改动就可以使用卡。SPI模式使用字节传输。所有的数据被融合到一些
6、字节中并aligned to the CS signal(可能是:同过CS信号来校正)。SPI模式的优点就是简化主机的设计。特别的,MMC主机需要小的改动。SPI模式相对于SD模式的不足之处是丧失了速度性能。SD卡的电特性SD卡的连接电路图直流特性完全最大值评估最大值评估指即使在瞬间也不能超出限制电压。当你在归定的最大值评估范围内使用该产品,不会出现永久性损坏。但是这并不能保证正常的逻辑操作。SD卡接口的完整规范(二) faceoff 发表于 2006-8-11 20:12:00AVR的SD卡接口程序2007-04-28 16:04SD卡接口程序/*/* SD Code for M32L */
7、* By pasyong */* 2006-4 */* Base ICC6.31A */*/#include macros.h#include 1011.h#define uchar unsigned char#define uint unsigned int#define MMC_CS_PIN BIT(4) /PORTB.4 #define MMC_PORT PORTB uchar reading=0,a=0,pointer=0;void sd_port_init()MMC_PORT =MMC_CS_PIN;uchar BUFFER512; /扇区缓冲区uint i=0;void delay
8、_nus(uint n)unsigned char b; for (b = 1; b24);16); /send 6 Byte Command to MMC/SD-Card8); Write_Byte_SPI(arg&0xff); Write_Byte_SPI(0x95); /仅仅对RESET有效的CRC效验码 /get 8 bit response /Read_Byte_MMC(); /read the first byte,ignore it. do /Only last 8 bit is used here.Read it out. tmp = Read_Byte_SPI(); retr
9、y+; while(tmp=0xff)&(retry100); /当没有收到有效的命令的时候 if(reading=0) MMC_PORT =MMC_CS_PIN; /MMC_CS_PIN=1; else MMC_PORT& /MMC_CS_PIN=0; return(tmp);/SD卡初始化(SPI-MODE)uchar SD_Init(void) uchar retry,temp; uchar i; delay_nus(250); /Wait MMC/SD ready. for (i=0;i0x0f;i+) Write_Byte_SPI(0xff); /send 74 clock at l
10、east! /Send Command CMD0 to MMC/SD Card retry=0; do /retry 200 times to send CMD0 command temp=SD_Write_Command(0,0); if(retry=100) /CMD0 Error! while(temp!=1); /Send Command CMD1 to MMC/SD-Card /retry 100 times to send CMD1 command temp=SD_Write_Command(1,0);=0); SD_Write_Command(16,512); /设置一次读写BL
11、OCK的长度为512个字节 /set MMC_Chip_Select to high return(0); /All commands have been taken./从SD卡读一个扇区 Return 0 if no Error.uchar SD_Read_Block(unsigned long address) uchar temp=0; reading=1; temp=SD_Write_Command(17,address); /读出RESPONSE while (Read_Byte_SPI()!= 0xfe) ; /直到读取到了数据的开始头0XFE,才继续 for(i=0; i512; i+)BUFFERi=Read_Byte_SPI(); Read_Byte_SPI();/CRC - Byte /CRC - Byte reading=0; /关闭SD卡 return(temp);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1