SD卡与SDIO卡的区别

合集下载

单片机系统中的SD卡接口技术及其应用场景解析

单片机系统中的SD卡接口技术及其应用场景解析

单片机系统中的SD卡接口技术及其应用场景解析引言随着电子设备的普及和技术的进步,存储媒体的需求日益增长。

SD(Secure Digital)卡作为一种常见的存储媒介,被广泛应用于各类电子设备中。

本文将对单片机系统中的SD卡接口技术进行解析,并探讨其应用场景。

一、SD卡简介SD卡是一种非易失性的随机存储器,具有高容量、高速度和可移动性的特点。

它的外形小巧,使用方便,能够提供可靠稳定的数据存储。

SD卡广泛应用于数码相机、移动电话、音乐播放器、车载导航等各种消费电子产品中。

二、SD卡接口技术SD卡接口技术是指将SD卡与单片机系统进行连接的方法和协议。

目前,常用的SD卡接口技术主要有SPI(Serial Peripheral Interface)接口和SDIO(Secure Digital Input/Output)接口。

1. SPI接口SPI接口是一种串行通信接口,通过四根线(SCLK、MISO、MOSI、CS)来连接单片机和SD卡。

SPI接口的优点是接线简单、易于实现,但数据传输速度相对较慢。

在低速应用场景下,如存储小容量数据或频繁读写文件的情况下,SPI接口是一种经济实用的选择。

2. SDIO接口SDIO接口是一种高速并行接口,通过多线传输数据,支持高速数据传输和访问。

SDIO接口可以提供更大的带宽和更高的速度,适用于需要大容量存储和高速数据交换的应用场景。

但是,相对于SPI接口,SDIO接口的设计和实现会更加复杂。

三、SD卡的应用场景1. 嵌入式系统SD卡广泛应用于各类嵌入式系统中,如工控设备、仪器仪表、智能家居等。

通过SD卡接口,嵌入式系统可以实现大容量数据存储、数据传输和固件升级等功能。

例如,在智能家居系统中,SD卡可以存储家庭视频监控设备的录像数据,方便用户随时回放和查看。

2. 物联网设备SD卡也被广泛应用于物联网设备中。

物联网设备通常需要高效地收集、处理和存储海量数据。

通过SD卡接口,物联网设备可以实现本地存储和离线数据处理。

市场常见连接器类型说明

市场常见连接器类型说明

1-1: SD Card 系列:
1.SD Card系列分类:
• SD • MiniSD/MiniSD Adapter • MicroSD/MicroSD Adapter • SDIO (Import Output)
2.SD CARD系列常见国际品牌
Sandisk--美国 Panasonic/松下--日本 TOSHIBA/东芝--日本 Kingston/金士頓--美国 Transcend/创见--台湾 KingMax--台湾 Lexar/雷克沙—美国
类型
外形尺寸(L*W*T)mm
标准卡
25*15*0.8
MICRO SIM 卡
NANO SIM卡
15*12*0.8 12.3*8.8*0.7
1-8:PCMCIA Card系列內容
PCMCIA Card(Personal Computer Memory Card International Association )是一个成立于1989年的国际性组织,是一个有300多个 成员公司的国际标准组织和贸易联合会,其成员有Intel、AMD、IBM、 Compaq和TI等国际知名公司。这个国际性组织主要是建立一个省电、小 体积的整合性电子卡片的标准,提高移动计算机的互换性 。
两款厚度均为5.0mm
TypeII
TypeI
二:卡座结构及如何选型介绍
各类型卡都需要与其相对应卡座衔接接入软件系统才能发挥其作用,常 见的卡座类结构可简单分为两种:PUSH 结构与NO PUSH结构,下面对取 两款产品分别对这两种结构做简单结构分解介绍: MICRO SD PUSH PUSH卡座分解图示:
1-9:Express Card系列內容
ExpressCard 技术是由PCMCIA协会于2003年春季公布的一种新的技术标 准。该标准由众多PCMCIA会员公司联合开发而成,包括软件巨商微软, PC制造商戴尔、惠普以及IBM;芯片制造商英特尔、SMSC、高通和TI; 模块制造商日立、Lexar Madia以及SCM等;硬件制造商Delphi、FCI、 Foxconn、ITT、JAE以及Tyco等公司,其根据外形尺寸可分为两种:

sd协议3.0

sd协议3.0

竭诚为您提供优质文档/双击可除sd协议3.0篇一:sdio协议简介sdio卡sdio卡是在sd内存卡接口的基础上发展起来的接口,sdio接口兼容以前的sd内存卡,并且可以连接sdio接口的设备,目前根据sdio协议的spec,sdio接口支持的设备总类有蓝牙,网卡,电视卡等。

sdio协议是由sd卡的协议演化升级而来的,很多地方保留了sd卡的读写协议,同时sdio协议又在sd卡协议之上添加了cmd52和cmd53命令。

由于这个,sdio和sd卡规范间的一个重要区别是增加了低速标准,低速卡的目标应用是以最小的硬件开始来支持低速i/o能力。

低速卡支持类似调制解调器,条形码扫描仪和gps接收器等应用。

高速卡支持网卡,电视卡还有“组合”卡等,组合卡指的是存储器+sdio。

sdio和sd卡的spec间的又一个重要区别是增加了低速标准。

sdio卡只需要spi和1位sd传输模式。

低速卡的目标应用是以最小的硬件开支来支持低速i/o能力,低速卡支持类似modem,条形扫描仪和gps接收器等应用。

对组合卡来说,全速和4bit操作对卡内存储器和sdio部分都是强制要求的。

在非组合卡的sdio设备里,其最高速度要只有达到25m,而组合卡的最高速度同sd卡的最高速度一样,要高于25m。

sdio总线sdio总线和usb总线类似,sdio总线也有两端,其中一端是主机(host)端,另一端是设备端(deVice),采用host-deVice这样的设计是为了简化deVice的设计,所有的通信都是由host端发出命令开始的。

在deVice端只要能解溪host的命令,就可以同host进行通信了。

sdio的host可以连接多个deVice,如下图所示:这个是同sd的总线一样的,其中有如下的几种信号1.clk信号:host给deVice的时钟信号.2.cmd信号:双向的信号,用于传送命令和反应。

3.dat0-dat3信号:四条用于传送的数据线。

SD卡驱动

SD卡驱动

sd卡驱动一.SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。

它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。

1.2.什么是SD卡SD:SD卡为Secure Digital Memory Card, 即安全数码卡。

它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。

在数据传输和物理规范上,SD卡(24mm*32mm*2.1mm,比MMC卡更厚一点),向前兼容了MMC 卡.所有支持SD卡的设备也支持MMC卡。

SD卡和2.11版的MMC 卡完全兼容。

1.3.什么是SDIOSDIO:SDIO是在SD标准上定义了一种外设接口,它和SD卡规范间的一个重要区别是增加了低速标准。

在SDIO卡只需要SPI和1位SD传输模式。

低速卡的目标应用是以最小的硬件开销支持低速IO能力。

1.4.什么是MCIMCI:MCI是Multimedia Card Interface的简称,即多媒体卡接口。

上述的MMC,SD,SDI卡定义的接口都属于MCI接口。

MCI这个术语在驱动程序中经常使用,很多文件,函数名字都包括”mci”.1.5.MMC/SD/SDIO卡的区别二.SD/MMC协议与命令1.SD/MMC卡相关寄存器SD卡内部有7个寄存器.其中OCR,CID,CSD和SCR寄存器保存卡的配置信息;RCA寄存器保存着通信过程中卡当前暂时分配的地址(只适合SD模式);卡状态(Card Status)和SD状态(SD Status)寄存器保存着卡的状态(例如,是否写成功,通信的CRC校验是否正确等),这两个寄存器的内容与通信模式(SD模式或SPI模式)相关.MMC卡没有SCR 和SD Status寄存器.如下表1所示:表1 SD卡内部7个寄存器1.1.OCR寄存器OCR寄存器保存着SD/MMC卡的供电电允许范围.如下表2所示:如果OCR寄存器的某位为1,表示卡支持该位对应的电压。

sdio热插拔原理

sdio热插拔原理

sdio热插拔原理
SDIO热插拔原理是基于机械式开关检测SD卡插槽的插拔状态。

当SD卡
插入或拔出时,机械开关断开或闭合,导致引脚电平发生变化,从而产生中断。

系统进入核心ISR,对开关检测引脚进行检测,返回相应的中断标识码。

驱动程序IST处理中断,并根据中断标识码判断是SD插入还是拔出。

为了防止因机械开关抖动导致的状态误判,驱动程序采用延时采样的方法来避免抖动,确保每次插拔只响应一次。

如果发现卡已经拔走,系统会执行
mmc_detach_bus和mmc_bus_put操作,释放总线资源。

sd卡、emmc卡、sdhc、sdio接口、nand等简略说明

sd卡、emmc卡、sdhc、sdio接口、nand等简略说明

简要总结2017-5-17xdk1.Sim卡和sd/sdio/sdhc什么的不一样,只有复位、电源、时钟、一根数据线。

看手机版设计,vcc电压是lte模组出来供电,且会1.8V 3.3V切换。

VPP悬空处理即可,不需要编程。

2.Nand接口和sdio/sdhc什么的也不是一种口。

Nand属于localbus总线,一般和nor共用(虽然和sdhc口一样有8位双向信号线)。

Nand主要就是we/oe/ce/ale/cle/8位命令地址数据线。

3.Sd(Secure Digital Card)卡最大支持2GB容量(据说由MMC演变未来),4bit数据线。

还有clk/cmd信号,cmd用来区分命令还是数据。

文件系统fat12/16.4.sdhc("Secure Digital High Capacity高容量sd存储卡),支持2GB~32GB容量范围;和sd相比,8bit数据位。

Sdhc可以向下兼容sd卡(sd2.0以后的版本,老的不兼容)。

文件系统fat32。

5.sdxc(SD eXtended Capacity),容量更大目前可达64GB,理论上2TB,传输速度更快(300MB/s),exFAT文件系统.支持UHS104(新的超高速sd接口规格)6.sdio就是支持sd卡的接口,同时还外延了,支持其他支持sdio接口的设备,如蓝牙、网卡、电视卡等(见下文网络copy,具体工作模式没看透,支持spi、data1作为中断?暂时不影响我画图)。

7.sdhc接口,可以接sdhc卡,emmc卡。

8.eMMC(Embedded Multi Media Card)是由MMC协会(MultiMediaCard Association,2008年已并入JEDEC)提出的内置存储标准,主要针对手机和平板等移动设备设立。

在最新的eMMC5.1标准中存取带宽已经提升到600MB/s9.UFS(Universal Flash Storage)的出现比eMMC要晚一些。

SD卡、TF卡、CF卡及U盘的介绍

SD卡、TF卡、CF卡及U盘的介绍

SD卡、TF卡、CF卡及U盘的介绍SD卡、TF卡、CF卡及U盘的介绍相信大家每天都在跟SD卡、TF卡、CF卡及U盘或其中一种打交道。

它们都有什么区别呢?下文为你解答:SD卡和TF卡:大家知道我们的手机使用的是指甲盖大小的存储卡,这个卡其实就是TF卡。

而经常提到的SD卡又是什么卡呢?简单的说吧,SD卡体积比较大,大家买卡的时候应该记得那个白色的小塑胶盒子里面有两个卡,小的就是TF卡,大的是适配器(大家也称为卡托),这个TF 卡可以插进卡托里面,这样就形成了一个SD卡,也就是说,TF卡+卡托=SD卡,这样的SD卡可以插到读卡器里用于数据传输,也可以适用于某些例如数码相机一类的兼容性数码产品,而我们的手机就只要这个小小的TF卡就可以了。

(用于非手机等较大的数码产品的存储卡是一个完整的SD卡,不像我们买到的手机卡这样可以组合和拆分的)看图SDHC标准和CLASS传输速度等级什么是SDHC标准?SDHC是“High Capacity SD Memory Card”的缩写,即“高容量SD存储卡”。

2006年5月SD协会发布了最新版的SD 2.0的系统规范,在其中规定SDHC是符合新的规范、且容量大于2GB小于等于32GB的SD卡。

SDHC最大的特点就是高容量(2GB-32GB)。

另外,SD协会规定SDHC必须采用FAT32 文件系统,这是因为之前在SD卡中使用的FAT16文件系统所支持的最大容量为2GB,并不能满足SDHC的要求。

SDHC标志如下图:作为SD卡的继任者,SDHC主要特征在于文件格式从以前的FAT12、FAT16提升到了FAT32,而且最高支持32GB。

同时传输速度被重新定义为Class2(2MB/sec)、Class4(4MB/sec)、Class6(6MB/sec)等级别,高速的SD卡可以支持高分辨视频录制的实时存储。

SDHC卡的外形尺寸与目前的SD卡一样(含TF卡),著作权保护机能等也和以前相同,但是由于文件系统被变更,以前只支持FAT12/16格式的SD设备存在不兼容现象,而现在也支持FAT32(SDHC)的机器,这可以读取现存的FAT12/16格式的SD卡。

SD卡命令详解

SD卡命令详解
从SD卡初始化流程可知,不管什么卡(这里我们将卡分为4类:SD2.0高容量卡(SDHC,最大32G),SD2.0标准容量卡(SDSC,最大 2G),SD1.x卡和MMC卡),首先我们要执行的是卡上电(设置SDIO_POWER
[1:0]=11),上电后发送CMD0,对卡进行软复位,之后发送CMD8命令,用于区分SD卡2.0,只有2.0及以后的卡才支持CMD8命令,MMC 卡和V1.x的卡,是不支持该命令的。CMD8命令格式如下表:
SD卡在收到CMD2后,将返回R2长响应(136位),其中包含128位有效数据(CID寄存器内容),存放在SDIO_RESP1~4等4个寄存器里 面。通过读取这四个寄存器,就可以获得SD卡的CID信息。 CMD3,用于设置卡相对地址(RCA,必须为非0),对于SD卡(非MMC卡),在收到CMD3后,将返回一个新的RCA给主机,方便主机 寻址。RCA的存在允许一个SDIO接口挂多个SD卡,通过RCA来区分主机要操作的是哪个卡。对于MMC卡,则不是由SD卡自动返回RCA, 而是主机主动设置MMC卡的RCA,即通过CMD3带参数(高16位用于RCA设置),实现RCA设置。同样MMC卡也支持一个SDIO接口挂多 个MMC卡,不同于SD卡的是所有的RCA都是由主机主动设置的,而SD卡的RCA则是SD卡发给主机的。 在获得卡RCA之后,我们便可以发送CMD9(带RCA参数),获得SD卡的CSD寄存器内容,从CSD寄存器,我们可以得到SD卡的容量和 扇区大小等十分重要的信息。CSD寄存器我们在这里就不详细介绍了,关于CSD寄存器的详细介绍,请大家参考《SD卡2.0协议.pdf》。 至此,我们的SD卡初始化基本就结束了,最后通过CMD7命令,选中我们要操作的SD卡,即可开始对SD卡的读写操作了。
ACMD41指令响应(R3),包含了SD卡OCR寄存器内容,其定义如下表所示:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1) Wifi卡的常用接口有:
–CF 接口
–USB接口
–SDIO接口
–SPI接口
–PCMCIA接口
很多时候,同一个wifi卡同时支持多种接口,譬如marvell的8686的wifi卡,既支持spi接口,也支持sdio接口.
(2) SD卡与SDIO卡的异同
1.SD卡使用的是SD卡协议,而SDIO卡使用的是SDIO协议;协议不一样,初始化/读写方式都不一样
2.ARK1600控制器既支持SD卡也支持SDIO卡,在驱动上完全可以做到同一个卡槽既支持SD卡也支持SDIO卡,甚至combo卡,因此在驱动上有个判断过程,判断插进来的是SD卡还是SDIO卡
3.两者的引脚定义不一样,尽管引脚个数都一样
(3)
•SDIO协议
–相对于SD协议,SDIO协议特有的命令有:cmd5,cmd52,cmd53
–cmd5命令相当于SD卡协议中的acmd41,用于匹配SDIO卡的电压
–对于SDIO卡中的单个寄存器的读写一般都使用cmd52命令,而对于多字节数据的读写则用cmd53命令。

–cmd53分字节和块传输模式
对于字节传输模式相当于SD协议的单块读写(cmd17,cmd24)
对于块传输模式相当于SD协议的块读写(cmd18,cmd25)
(4)
•Cmd53
–对于字节传输模式,它可以是1~512之间的任意长度的传输,而不是固定长度
–对于块传输模式,首先它的块长度可以人为设定,但不能超过规定的最大块长度
–相对于SD卡中的块传输模式,在最后一个块传输末尾,是不需要发送块停止命令的(cmd12)
--每个SDIO卡都由1~7个function (optional)和一个memory function(mandatory)组成
•什么是function ?
–所谓function,就是一个I/O设备,它实质就是一些寄存器的集合
(5) SDIO卡里function的组织分布
•CIA就是function0,也就是memory function,它每个SDIO卡所必须具有的,它里面包含了如下一些重要信息:
–SDIO协议的版本号,BUS MOD,块大小等。

这些信息有些是只读的,有些是可读可写的•Function1~7是可选的,根据具体的应用的不同,所包含的function数目也不一样,譬如我门使用的marvell的8686芯片,它就只有function0和function1
(6)sdio 1~4bit mode
PIN SDIO 4-BIT MODE SDIO 1-BIT MODE
1CD/DAT3Data line 3N/C Not used
2CMD Command line CMD Command line
3VSS1Ground VSS1Ground
4VDD Supply voltage VDD Supply voltage
5CLK Clock CLK Clock
6VSS2Ground VSS2Ground
7DAT[0]Data line 0DATA Data line
8DAT[1]Data line1 or INT line IRQ Interruption
9DAT[2]Data line2 or read wait RW Read wait
1.SDIO mode 同样也有1bit和4bit 总线模式
2.SD与SDIO卡的引脚的一个最大的区别是:SDIO有个中断引脚DAT[1],在4bit模式下,DAT[1]既做数据线,又做中断线,因此是分时复用的,在总线发送命令期间,DAT[1]用作中断线。

(7)SD
PIN SD MODE
1Name Type Description
2CD/DATA3I/O/PP Card detect/data line3
3CMD Pp Command/response
4Vss1S Ground
5VDD S Supply voltage
6Vss2S Ground
7DAT0I/O/PP Data line0
8DAT1I/O/PP Data line1
9DAT2I/O/PP Data line2
•当HOST同时连接多个卡时:
–时钟,电源,地线可以为每个卡公共
–但每个卡都有自己单独的数据和命令总线,避免干扰
–在卡的初始化过程中,命令是单独发到每个卡的,允许驱动来检测每个卡槽的卡是否存在,并且分配相应的逻辑地址给每个卡槽。

–HOST与每个卡槽的卡的数据传输都是单独进行的,因为每个卡槽都有自己的数据总线–在卡的初始化完成后,命令可以同时发送到每个卡槽,因为此时命令中已经包含了卡的逻辑地址(在卡的分别初始化时分配的)
(8)SD卡与SDIO卡的检测判别
–上电,发送CMD5命令,如果有响应,并且响应中的MP位为0,说明对应卡槽中的卡为SDIO卡,进而开始SDIO卡的初始化流程
–如果发送CMD5命令没有响应,则说明对应卡槽的卡为SD或MMC卡,进而开始SD/MMC 卡的初始化流程
–如果发送CMD5命令,有响应,且响应中的MP位为1,说明这个卡不但是SDIO卡,同时也时SD卡,也就是所谓的combo卡,则进行combo卡的初始化流程
(9)目前linux下,已支持的wifi卡有如下厂家的卡:
–Marvell 8385 and Marvell 8686
–Intersil公司Prism54 chips series
–Intel IWL4965 and IWL3945
–Atheros corporation 5xxx chipset
–Broadcom(博通)43xx
–Ralink(雷凌)RT2x00
•Linux下已经支持了市面上的大多数wifi卡的驱动
•每种wifi卡都是需要固件(firmware)才能驱动的,并且同一种卡工作在不同接口时对应的firmware是不一样的
•需要注意的是:很多firmware都是要花钱的
•固件通过其驱动下载到无线卡中,才能驱动起来
(10)wifi驱动的通用的软件架构
1. 分为两部分,上面为主机端驱动,下面是我们之前所说的firmware
2. 其中固件部分的主要工作是:因为天线接受和发送回来的都是802.11帧的帧,而主机接受和传送出来的数据都必须是802.3的帧,所以必须由firmware来负责802.3的帧和802.11帧之间的转换,
3. 当天线收到数据,并被firmware处理好后会放在一个buffer里,并产生一个中断,主机在收到中断后就去读这个buffer。

相关文档
最新文档